रोबोट स्थिर ईथरनेट से लेकर असंगत सेलुलर या सैटेलाइट कनेक्शन तक, अलग-अलग नेटवर्क स्थितियों के साथ सभी प्रकार के स्थानों पर काम करते हैं। जानें कि आप रोबोट और अन्य स्मार्ट मशीनों के लिए gRPC और WebRTC का उपयोग कैसे कर सकते हैं ताकि वे अधिक विश्वसनीय तरीके से संवाद कर सकें। रोबोट को नियंत्रित करने के लिए gRPC और WebRTC का उपयोग क्यों करें? मैंने हाल ही में Viam में नई नौकरी शुरू की है, और उनके सिस्टम आर्किटेक्चर के बारे में अधिक जानने के लिए उत्सुक था। कई रोबोटिक्स सिस्टम कम-पावर और कम-बैंडविड्थ डिवाइस से बने होते हैं, या खराब नेटवर्क स्थितियों में काम करते हैं। एक ओपन-सोर्स रोबोटिक्स सॉफ़्टवेयर प्लेटफ़ॉर्म है जिसे विशेष रूप से रोबोट और अन्य स्मार्ट मशीनों को अधिक विश्वसनीय रूप से संवाद करने में मदद करने के लिए डिज़ाइन किया गया था। Viam यह तेज़, संरचित क्लाइंट-सर्वर संचार के लिए gRPC और मशीनों के बीच सीधे, पीयर-टू-पीयर संचार के लिए WebRTC का उपयोग करता है। आइए gRPC और WebRTC के उपयोग के लाभों को अधिक विस्तार से देखें। रोबोटिक्स में gRPC और प्रोटोबफ का उपयोग करने के लाभ रोबोटिक्स के लिए का उपयोग करने के कई कारण हैं, जैसे कि डेवलपर उत्पादकता और डेवलपर अनुभव में सुधार। हालाँकि, सबसे सम्मोहक कारण यह है कि यह गति के लिए अनुकूलित है, शायद HTTP पर , हल्के प्रोटोबफ मैसेजिंग के साथ। gRPC REST API की तुलना में 7-10 गुना अधिक तेज़ है प्रदर्शन और दक्षता प्रोटोबफ कुशल बाइनरी एनकोडिंग प्रदान करता है, की तुलना में कम शक्ति, मेमोरी, कंप्यूट या बैंडविड्थ बाधाओं वाली मशीनों के लिए आदर्श है। एनकोडिंग: जो JSON-RPC HTTP/2 के डिफ़ॉल्ट ट्रांसपोर्ट के साथ, gRPC gRPC-Web और WebRTC के साथ HTTP/1.1 जैसे वैकल्पिक ट्रांसपोर्ट का समर्थन करता है। यह अंतर्निहित ट्रांसपोर्ट तकनीक के लचीलेपन के साथ एक सुसंगत इंटरफ़ेस प्रदान करता है, विशेष रूप से स्ट्रीमिंग के साथ। ट्रांसपोर्ट: में घटकों और सेवाओं को भाषा-अज्ञेय प्रोटोकॉल बफर (प्रोटोबफ) सेवाओं के रूप में दर्शाया जाता है, और gRPC प्रोटोबफ विधियों को कॉल करते समय प्रोटोबफ संदेशों के परिवहन और संचार के लिए जिम्मेदार होता है। Viam API विशेष रूप से, Viam मशीन भागों और SDK-आधारित अनुप्रयोगों के बीच उच्च-स्तरीय इंटरैक्शन के लिए gRPC का उपयोग करता है, जो संरचित, कम-विलंबता डेटा एक्सचेंज और नियंत्रण आदेशों को सक्षम करता है। यह किए जाने वाले कार्यों को समन्वित करने का एक कुशल तरीका है, जैसे कि कैमरों से पॉइंट क्लाउड को पुनः प्राप्त करना, ऑब्जेक्ट सेगमेंटेशन के लिए डेटा का विश्लेषण करना और रोबोटिक आर्म्स को कंप्यूटेड पोज़ के आधार पर कार्य करने का निर्देश देना। प्रोटोबफ प्रेषित डेटा के आकार को न्यूनतम करता है, जिससे संचरण के दौरान नेटवर्क बैंडविड्थ की बचत होती है। रोबोटिक्स में WebRTC के उपयोग के लाभ रोबोटिक्स में उपयोग करने के कई कारण हैं, जैसे कि सुरक्षा और क्रॉस-प्लेटफ़ॉर्म संगतता। हालाँकि, सबसे सम्मोहक कारण यह है कि यह प्रत्यक्ष कनेक्शन का उपयोग करता है। WebRTC का सहकर्मी से सहकर्मी संचार : वेबआरटीसी उपकरणों के बीच सीधे कनेक्शन की सुविधा प्रदान करता है, केंद्रीय सर्वर पर निर्भरता को कम करता है और डेटा के पारगमन मार्ग को न्यूनतम करता है। प्रत्यक्ष : सुचारू प्रदर्शन के लिए नेटवर्क स्थितियों के आधार पर मीडिया गुणवत्ता को समायोजित करता है, जैसे वीडियो स्ट्रीमिंग के लिए। नेटवर्क अनुकूलनशीलता Viam पीयर-टू-पीयर संचार के लिए WebRTC पर निर्भर करता है, जिससे मशीन के पुर्जों और Viam SDK के बीच सीधे वीडियो और डेटा स्ट्रीम की अनुमति मिलती है। इसका मतलब है कि एक बार प्रारंभिक कनेक्शन स्थापित हो जाने के बाद, आपके डेटा को किसी अन्य मशीन से बात करने के लिए केंद्रीय सर्वर से होकर जाने की लंबी यात्रा करने की आवश्यकता नहीं होती है। यह सेटअप विशेष रूप से जटिल मशीन कॉन्फ़िगरेशन के साथ वास्तविक समय की प्रतिक्रिया और परिचालन दक्षता को अनुकूलित करता है। वेबआरटीसी प्रत्यक्ष पीयर-टू-पीयर संचार को सक्षम बनाता है, तथा मध्यवर्ती सर्वरों से बचाता है जो विलंब या विफलता के बिंदु उत्पन्न कर सकते हैं। Viam किस प्रकार gRPC और WebRTC का उपयोग करके पीयर-टू-पीयर रोबोट संचार को सक्षम बनाता है आइए देखें कि आर्केड क्लॉ गेम के उदाहरण में यह कैसे काम करता है, जो दो मशीन भागों से बना है: एक कैमरा और एक हाथ। Viam ऐप (app.viam.com) कनेक्शन अनुरोधों को सुनता है, कनेक्शन विवरण भेजता है, और फिर दो साथियों को सीधे संवाद करने देता है। प्रारंभिक कनेक्शन gRPC पर सुगम होते हैं। एक बार कनेक्ट होने के बाद, मशीन के हिस्से WebRTC पर संचार करते हैं, जिससे SDK और मशीनों के बीच सभी इंटरैक्शन gRPC विधि कॉल का उपयोग करके WebRTC पर हो सकते हैं। दूसरे शब्दों में, gRPC स्कीमा यह तय करती है कि डेटा कैसा दिखता है और इसे कैसे पैक किया जाता है, जबकि WebRTC उस डेटा को एक स्थान से दूसरे स्थान पर पहुँचाने का वास्तविक काम संभालता है। Viam का उपयोग करके रोबोटिक्स शुरू करें जबकि आप अपने दम पर एक समान बुनियादी ढांचा बना सकते हैं, वायम यह क्षमता ऑफ-द-शेल्फ रोबोटिक्स सॉफ़्टवेयर के साथ प्रदान करता है। ओपन-सोर्स है और इसे संचालित करना मुफ़्त है। यदि आप अंततः एक बेड़े का प्रबंधन करना शुरू करते हैं, तो यह क्लाउड सेवाओं और डेटा स्टोरेज के लिए उपयोग-आधारित बिलिंग है। ऑन-मशीन कार्यक्षमता और आपकी मशीनों के साथ काम करने में आपकी मदद करने के लिए डिज़ाइन किया गया था। हालाँकि, यदि आप यह जानना चाहते हैं कि पर्दे के पीछे क्या हो रहा है, तो अंतर्निहित Viam gRPC API के साथ काम करने के चरण-दर-चरण निर्देशों के लिए Postman में देखें, जिसमें शामिल हैं: Viam वेब ऐप SDK को Viam API सार्वजनिक कार्यक्षेत्र gRPC API कॉल को अधिकृत करना हार्डवेयर घटकों को नियंत्रित करने के लिए विधियों का प्रयोग करना सॉफ़्टवेयर सेवाओं के प्रबंधन के लिए विधियों का प्रयोग करना हो सकता है कि आपके पास रोबोटिक आर्म न हो, लेकिन आप इसे जैसी रोवर जैसी अधिक किफायती मशीन के साथ आज़मा सकते हैं। लोगों को रोबोटिक्स के बारे में जानने में मदद करने के लिए वियाम ने भी डिज़ाइन किया है। याहूबूम या स्कटल एक ओपन-सोर्स रोवर रोवर को संचालित करने के लिए gRPC और WebRTC का उपयोग करें आरंभ करने के लिए, नीचे दिए गए बटन पर क्लिक करके नमूना संग्रह को अपने स्वयं के कार्यक्षेत्र में फ़ॉर्क करें। पोस्टमैन में चलाएँ स्पिन ए वायम रोवर और इन संसाधनों का अनुसरण करें: चरण-दर-चरण कोडलैब: Viam के gRPC API के लिए पोस्टमैन ट्यूटोरियल प्रत्येक अनुरोध के बारे में अधिक जानकारी के लिए ब्राउज़ करें संग्रह दस्तावेज़ वीडियो देखें: Viam gRPC API के साथ रोवर को स्पिन करें https://www.youtube.com/watch?v=KaJIXznpssw&t=1s&embedable=true तकनीकी समीक्षा: निक हेहर