Robot Operating System
रोबोट ऑपरेटिंग सिस्टम (आरओएस या आरओएस) एक ओपन-सोर्स रोबोटिक्स मिडलवेयर सूट है। हालांकि आरओएस एक ऑपरेटिंग सिस्टम (ओएस) नहीं है, बल्कि रोबोट सॉफ्टवेयर विकास के लिए सॉफ्टवेयर ढांचे का एक समूह है, यह एक विषम कंप्यूटर समूह के लिए डिज़ाइन की गई सेवाएं प्रदान करता है जैसे कि हार्डवेयर अमूर्तता, निम्न-स्तरीय उपकरण नियंत्रण, सामान्य रूप से उपयोग की जाने वाली कार्यक्षमता का कार्यान्वयन, प्रक्रियाओं के बीच संदेश-पारित करना, और पैकेज प्रबंधन। आरओएस-आधारित प्रक्रियाओं के चलने वाले सेट को एक ग्राफ वास्तुकला में दर्शाया जाता है जहां प्रसंस्करण नोड्स में होता है जो संवेदक डेटा, नियंत्रण, राज्य, योजना, एक्चुएटर और अन्य संदेश प्राप्त कर सकते हैं, पोस्ट कर सकते हैं और मल्टीप्लेक्स कर सकते हैं। रोबोट नियंत्रण में प्रतिक्रियाशीलता और कम विलंबता के महत्व के बावजूद, आरओएस एक वास्तविक समय संचालन प्रणाली (आरटीओएस) नहीं है। हालांकि, वास्तविक समय कंप्यूटिंग कोड के साथ आरओएस को एकीकृत करना संभव है। वास्तविक समय प्रणालियों के लिए समर्थन की कमी को आरओएस 2 के निर्माण में संबोधित किया गया है, जो आरओएस एपीआई का एक प्रमुख संशोधन है जो मुख्य आरओएस कार्यों के लिए आधुनिक पुस्तकालयों और प्रौद्योगिकियों का लाभ उठाएगा और वास्तविक समय कोड और एम्बेडेड सिस्टम हार्डवेयर के लिए समर्थन जोड़ेगा। आर. ओ. एस. पारिस्थितिकी तंत्र में सॉफ्टवेयर को तीन समूहों में विभाजित किया जा सकता हैः आर. ओ. एस.-आधारित सॉफ्टवेयर के निर्माण और वितरण के लिए उपयोग किए जाने वाले भाषा-और प्लेटफॉर्म-स्वतंत्र उपकरण; आर. ओ. एस. क्लाइंट लाइब्रेरी कार्यान्वयन जैसे, और; अनुप्रयोग-संबंधित कोड वाले पैकेज जो एक या अधिक आर. ओ. एस. क्लाइंट पुस्तकालयों का उपयोग करते हैं। भाषा-स्वतंत्र उपकरण और मुख्य ग्राहक पुस्तकालय (सी + +, पायथन और लिस्प) दोनों ही बीएसडी लाइसेंस की शर्तों के तहत जारी किए जाते हैं, और इस तरह के ओपन-सोर्स सॉफ्टवेयर हैं और वाणिज्यिक और अनुसंधान दोनों उपयोग के लिए निःशुल्क हैं। अधिकांश अन्य पैकेज विभिन्न प्रकार के ओपन-सोर्स लाइसेंसों के तहत लाइसेंस प्राप्त हैं। ये अन्य पैकेज सामान्य रूप से उपयोग की जाने वाली कार्यक्षमता और अनुप्रयोगों जैसे हार्डवेयर ड्राइवर, रोबोट मॉडल, डेटा प्रकार, योजना, धारणा, एक साथ स्थानीयकरण और मानचित्रण (एस. एल. ए. एम.), अनुकरण उपकरण और अन्य एल्गोरिदम को लागू करते हैं। मुख्य आरओएस क्लाइंट पुस्तकालय एक यूनिक्स जैसी प्रणाली की ओर अग्रसर हैं, ज्यादातर ओपन-सोर्स सॉफ्टवेयर निर्भरताओं के बड़े सेट पर उनकी निर्भरता के कारण। इन क्लाइंट पुस्तकालयों के लिए, उबंटू लिनक्स को "समर्थित" के रूप में सूचीबद्ध किया गया है, जबकि फेडोरा लिनक्स, मैकओएस और माइक्रोसॉफ्ट विंडोज जैसे अन्य संस्करणों को "प्रयोगात्मक" नामित किया गया है और समुदाय द्वारा समर्थित हैं। हालाँकि, देशी जावा आरओएस क्लाइंट लाइब्रेरी इन सीमाओं को साझा नहीं करती है और एंड्रॉइड ओएस के लिए आरओएस-आधारित सॉफ़्टवेयर को लिखने में सक्षम बनाती है। इसने आरओएस को आधिकारिक रूप से समर्थित मैटलैब टूलबॉक्स में एकीकृत करने में भी सक्षम बनाया है जिसका उपयोग लिनक्स, मैकओएस और माइक्रोसॉफ्ट विंडोज पर किया जा सकता है। एक जावास्क्रिप्ट क्लाइंट लाइब्रेरी भी विकसित की गई है जो किसी भी मानक-अनुपालन वेब ब्राउज़र के माध्यम से एक आरओएस प्रणाली में सॉफ़्टवेयर के एकीकरण को सक्षम बनाती है। स्टैनफोर्ड में प्रारंभिक दिन (2007 और उससे पहले) 2007 से कुछ समय पहले, जो अंततः आरओएस बन जाएगा, उसके पहले टुकड़े स्टैनफोर्ड विश्वविद्यालय में एकजुट होने लगे। स्टैनफोर्ड में केनेथ सैलिसबरी की रोबोटिक्स प्रयोगशाला में काम करने वाले पीएचडी छात्र एरिक बर्जर और कीनन वायरोबेक व्यक्तिगत रोबोटिक्स कार्यक्रम का नेतृत्व कर रहे थे। मानव वातावरण में हेरफेर कार्यों को करने के लिए रोबोट पर काम करते समय, दोनों छात्रों ने देखा कि उनके कई सहयोगी रोबोटिक्स की विविध प्रकृति से पीछे हट गए थेः एक उत्कृष्ट सॉफ्टवेयर डेवलपर के पास आवश्यक हार्डवेयर ज्ञान नहीं हो सकता है, किसी को अत्याधुनिक पथ योजना विकसित करने के लिए पता नहीं हो सकता है कि आवश्यक कंप्यूटर दृष्टि कैसे करनी है। इस स्थिति को सुधारने के प्रयास में, दोनों छात्रों ने एक आधारभूत प्रणाली बनाने का फैसला किया जो शिक्षा के क्षेत्र में दूसरों के लिए एक प्रारंभिक स्थान प्रदान करेगी। एरिक बर्जर के शब्दों में, "कुछ ऐसा जो उन सभी अलग-अलग आयामों में चूसता नहीं था।" इस एकीकृत प्रणाली की दिशा में अपने पहले कदमों में, दोनों ने एक हार्डवेयर प्रोटोटाइप के रूप में पीआर1 का निर्माण किया और इससे सॉफ्टवेयर पर काम करना शुरू कर दिया, अन्य प्रारंभिक ओपन-सोर्स रोबोटिक सॉफ्टवेयर ढांचे, विशेष रूप से स्विचयार्ड से सर्वोत्तम प्रथाओं को उधार लेते हुए, एक ऐसी प्रणाली जिस पर मॉर्गन क्विगली, एक अन्य स्टैनफोर्ड पीएचडी छात्र, स्टैनफोर्ड आर्टिफिशियल इंटेलिजेंस लेबोरेटरी द्वारा स्टैनफोर्ड आर्टिफिशियल इंटेलिजेंस रोबोट (एसटीएआईआर) के समर्थन में काम कर रहे थे। 50, 000 अमेरिकी डॉलर का प्रारंभिक वित्त पोषण जोआना हॉफमैन और एलेन रॉसमैन द्वारा प्रदान किया गया था, जिसने पीआर1 के विकास का समर्थन किया। आगे के विकास के लिए धन की मांग करते हुए, एरिक बर्जर और कीनन वायरोबेक ने विलो गैरेज के संस्थापक स्कॉट हसन से मुलाकात की, जो एक प्रौद्योगिकी ऊष्मायन है जो एक स्वायत्त एसयूवी और एक सौर स्वायत्त नाव पर काम कर रहा था। हसन ने बर्जर और वायरोबेक के "रोबोटिक्स के लिए लिनक्स" के दृष्टिकोण को साझा किया और उन्हें विलो गैरेज में आने और काम करने के लिए आमंत्रित किया। विलो गैरेज जनवरी 2007 में शुरू किया गया था, और आरओएस कोड का पहला समर्पण 7 नवंबर 2007 को सोर्सफोर्ज को किया गया था। विलो गैरेज (2007-2013) विलो गैरेज ने PR1 के अनुवर्ती कार्रवाई के रूप में PR2 रोबोट और इसे चलाने के लिए सॉफ्टवेयर के रूप में ROS विकसित करना शुरू किया। बीस से अधिक संस्थानों के समूहों ने आरओएस में योगदान दिया, दोनों मुख्य सॉफ्टवेयर और पैकेजों की बढ़ती संख्या जो आरओएस के साथ एक अधिक से अधिक सॉफ्टवेयर पारिस्थितिकी तंत्र बनाने के लिए काम करते थे। विलो के बाहर के लोग आरओएस में योगदान दे रहे थे (विशेष रूप से स्टैनफोर्ड की एसटीएआईआर परियोजना से) इसका मतलब था कि आरओएस शुरू से ही एक बहु-रोबोट मंच था। जबकि विलो गैरेज में मूल रूप से अन्य परियोजनाएं चल रही थीं, उन्हें व्यक्तिगत रोबोटिक्स कार्यक्रम के पक्ष में समाप्त कर दिया गया थाः पी. आर. 2 को शिक्षाविदों के लिए एक शोध मंच के रूप में और आर. ओ. एस. को ओपन-सोर्स रोबोटिक्स स्टैक के रूप में बनाने पर ध्यान केंद्रित किया गया था जो अकादमिक अनुसंधान और तकनीकी स्टार्टअप दोनों को रेखांकित करेगा, जैसा कि एल. ए. एम. पी. स्टैक ने वेब-आधारित स्टार्टअप के लिए किया था। दिसंबर 2008 में, विलो गैरेज ने अपने तीन आंतरिक मील के पत्थरों में से पहले को पूरा कियाः दो दिनों की अवधि में पी. आर. 2 के लिए निरंतर नौवहन और पाई किलोमीटर की दूरी। इसके तुरंत बाद, आरओएस (मैंगो टैंगो) का एक प्रारंभिक संस्करण जारी किया गया, जिसके बाद पहला आरवीआईजेड प्रलेखन और आरओएस पर पहला पेपर जारी किया गया। गर्मियों की शुरुआत में, दूसरा आंतरिक मील का पत्थरः पी. आर. 2 के कार्यालय में जाने, दरवाजे खोलने और खुद को प्लग करने तक पहुँच गया था। इसके बाद अगस्त में ROS.org वेबसाइट की शुरुआत हुई। आर. ओ. एस. पर प्रारंभिक ट्यूटोरियल दिसंबर में पोस्ट किए गए थे, जो जनवरी 2010 में आर. ओ. एस. 1 के विमोचन की तैयारी कर रहे थे। यह मील का पत्थर 3 थाः विलो गैरेज के इंजीनियरों ने पिछले 3 वर्षों में जो विशाल क्षमताएँ विकसित की थीं, उनके लिए बहुत सारे प्रलेखन और शिक्षण का निर्माण। इसके बाद, विलो गैरेज ने अपने सबसे लंबे समय तक चलने वाले लक्ष्यों में से एक हासिल कियाः योग्य शैक्षणिक संस्थानों को 10 पी. आर. 2 रोबोट देना। यह संस्थापकों का लंबे समय से एक लक्ष्य रहा था, क्योंकि उन्हें लगा कि पी. आर. 2 दुनिया भर में रोबोटिक्स अनुसंधान शुरू कर सकता है। उन्होंने विभिन्न संस्थानों को ग्यारह पी. आर. 2 प्रदान किए, जिनमें फ्रीबर्ग विश्वविद्यालय (जर्मनी), रॉबर्ट बॉश जी. एम. बी. एच., जॉर्जिया प्रौद्योगिकी संस्थान, के. यू. ल्यूवेन (बेल्जियम), मैसाचुसेट्स प्रौद्योगिकी संस्थान (एम. आई. टी.), स्टैनफोर्ड विश्वविद्यालय, म्यूनिख तकनीकी विश्वविद्यालय (जर्मनी), कैलिफोर्निया विश्वविद्यालय, बर्कले, पेंसिल्वेनिया विश्वविद्यालय, दक्षिणी कैलिफोर्निया विश्वविद्यालय (यू. एस. सी.) और टोक्यो विश्वविद्यालय (जापान) शामिल हैं। विलो गैरेज के अत्यधिक सफल इंटर्नशिप कार्यक्रम (2008 से 2010 तक मेलोनी वाइज द्वारा चलाया गया) के साथ मिलकर इसने पूरे रोबोटिक्स दुनिया में आरओएस के बारे में प्रचार करने में मदद की। पहला आधिकारिक आरओएस वितरण विमोचनः आरओएस बॉक्स टर्टल, 2 मार्च 2010 को जारी किया गया था, जो पहली बार था जब आरओएस को आधिकारिक तौर पर सार्वजनिक उपयोग के लिए संस्करणित पैकेजों के एक सेट के साथ वितरित किया गया था। इन विकासों के कारण आर. ओ. एस. चलाने वाला पहला ड्रोन, आर. ओ. एस. चलाने वाली पहली स्वायत्त कार और लेगो माइंडस्टॉर्म्स के लिए आर. ओ. एस. का अनुकूलन हुआ। पी. आर. 2 बीटा कार्यक्रम के अच्छी तरह से चलने के साथ, पी. आर. 2 रोबोट को आधिकारिक तौर पर 9 सितंबर 2010 को वाणिज्यिक खरीद के लिए जारी किया गया था। 2011 आर. ओ. एस. के लिए एक बैनर वर्ष था, जिसमें 15 फरवरी को आर. ओ. एस. उपयोगकर्ताओं के लिए एक प्रश्नोत्तर मंच, आर. ओ. एस. आंसर्स का शुभारंभ किया गया था; 18 अप्रैल को अत्यधिक सफल टर्टलबॉट रोबोट किट की शुरुआत; और 5 मई को आर. ओ. एस. रिपॉजिटरी की कुल संख्या 100 को पार कर गई। विलो गैरेज ने अप्रैल में ओपन सोर्स रोबोटिक्स फाउंडेशन (ओ. एस. आर. एफ.) बनाकर 2012 की शुरुआत की। ओ. एस. आर. एफ. को तुरंत डिफेंस एडवांस्ड रिसर्च प्रोजेक्ट्स एजेंसी (डी. ए. आर. पी. ए.) द्वारा एक सॉफ्टवेयर अनुबंध प्रदान किया गया। उस वर्ष बाद में, पहला आरओएससीओएन सेंट पॉल, मिनेसोटा में आयोजित किया गया था, आरओएस पर पहली पुस्तक, आरओएस बाय एक्साम्पल प्रकाशित की गई थी, और आरओएस चलाने वाले पहले वाणिज्यिक रोबोट, बैक्सटर की घोषणा रीथिंक रोबोटिक्स द्वारा की गई थी। नवंबर में अपनी पाँचवीं वर्षगांठ बिताने के तुरंत बाद, आरओएस ने 3 दिसंबर 2012 को हर महाद्वीप पर दौड़ना शुरू कर दिया। फरवरी 2013 में, ओ. एस. आर. एफ. आर. ओ. एस. के लिए प्राथमिक सॉफ्टवेयर अनुरक्षक बन गया, अगस्त में घोषणा की कि विलो गैरेज को इसके संस्थापकों, सूटेबल टेक्नोलॉजीज द्वारा अवशोषित किया जाएगा। इस समय, आरओएस ने सात प्रमुख संस्करण (आरओएस ग्रूवी तक) जारी किए थे, और दुनिया भर में इसके उपयोगकर्ता थे। आरओएस विकास के इस अध्याय को अंतिम रूप दिया जाएगा जब क्लियरपाथ रोबोटिक्स ने 2014 की शुरुआत में पीआर2 के लिए समर्थन जिम्मेदारियों को संभाला। ओ. एस. आर. एफ. और ओपन रोबोटिक्स (2013-वर्तमान) ओ. एस. आर. एफ. द्वारा आर. ओ. एस. के प्राथमिक विकास को संभालने के बाद के वर्षों में, हर साल एक नया संस्करण जारी किया गया है, जबकि आर. ओ. एस. में रुचि लगातार बढ़ रही है। आई. सी. आर. ए. या आई. आर. ओ. एस., दो प्रमुख रोबोटिक्स सम्मेलनों के साथ सह-स्थित, आर. ओ. एस. सी. एन. 2012 से हर साल होते रहे हैं। आर. ओ. एस. विकासकों की बैठकें विभिन्न देशों में आयोजित की गई हैं, कई आर. ओ. एस. पुस्तकें प्रकाशित की गई हैं, और कई शैक्षिक कार्यक्रम शुरू किए गए हैं। 1 सितंबर 2014 को, नासा ने अंतर्राष्ट्रीय अंतरिक्ष स्टेशन पर अंतरिक्ष में आरओएस चलाने वाले पहले रोबोटः रोबोटनॉट 2 की घोषणा की। 2017 में ओ. एस. आर. एफ. ने अपना नाम बदलकर ओपन रोबोटिक्स कर लिया। टेक दिग्गज अमेज़ॅन और माइक्रोसॉफ्ट ने इस दौरान आरओएस में रुचि लेनी शुरू कर दी, माइक्रोसॉफ्ट ने सितंबर 2018 में विंडोज में कोर आरओएस को पोर्ट किया, इसके बाद अमेज़ॅन वेब सर्विसेज ने नवंबर 2018 में रोबोमेकर को जारी किया। शायद ओ. एस. आर. एफ./ओपन रोबोटिक्स वर्षों का अब तक का सबसे महत्वपूर्ण विकास (रोबोट प्लेटफार्मों के विस्फोट को छूट देने के लिए नहीं जो आर. ओ. एस. का समर्थन करना शुरू कर दिया या प्रत्येक आर. ओ. एस. संस्करण में भारी सुधार) आर. ओ. एस. 2 का प्रस्ताव था, जो आर. ओ. एस. में एक महत्वपूर्ण ए. पी. आई. परिवर्तन है जिसका उद्देश्य वास्तविक समय प्रोग्रामिंग, कंप्यूटिंग वातावरण की एक विस्तृत विविधता और अधिक आधुनिक तकनीक का समर्थन करना है। आरओएस 2 की घोषणा आरओएससीओएन 2014 में की गई थी, भंडार के लिए पहली प्रतिबद्धता फरवरी 2015 में की गई थी, इसके बाद अगस्त 2015 में अल्फा रिलीज़ की गई थी। आर. ओ. एस. 2 का पहला वितरण विमोचन, आर्डेंट अपालोन, 8 दिसंबर 2017 को जारी किया गया था, जो अगली पीढ़ी के आर. ओ. एस. विकास के एक नए युग की शुरुआत थी। डिजाइन फिलॉसफी आरओएस को ओपन सोर्स के रूप में डिज़ाइन किया गया था, जिसका उद्देश्य यह था कि उपयोगकर्ता उन उपकरणों और पुस्तकालयों के विन्यास का चयन करने में सक्षम होंगे जो आरओएस के मूल के साथ बातचीत करते हैं ताकि उपयोगकर्ता अपने सॉफ़्टवेयर ढेर को अपने रोबोट और अनुप्रयोग क्षेत्र में फिट करने के लिए स्थानांतरित कर सकें। इस तरह, सामान्य संरचना से परे बहुत कम है जो आरओएस के लिए मूल है, जिसके भीतर कार्यक्रमों को मौजूद होना चाहिए और संवाद करना चाहिए। एक मायने में, आरओएस नोड्स और संदेश पारित करने के पीछे अंतर्निहित नलसाजी है। हालाँकि, वास्तव में, आरओएस न केवल वह नलसाजी है, बल्कि उपकरणों का एक समृद्ध और परिपक्व समूह है, पैकेजों द्वारा प्रदान की गई रोबोट-अज्ञेय क्षमताओं का एक विस्तृत समूह है, और आरओएस में परिवर्धन का एक बड़ा पारिस्थितिकी तंत्र है। कम्प्यूटेशन ग्राफ मॉडल आरओएस प्रक्रियाओं को एक ग्राफ संरचना में नोड्स के रूप में दर्शाया जाता है, जो किनारों से जुड़े होते हैं जिन्हें विषय कहा जाता है। आरओएस नोड्स विषयों के माध्यम से एक दूसरे को संदेश भेज सकते हैं, अन्य नोड्स को सेवा कॉल कर सकते हैं, अन्य नोड्स के लिए एक सेवा प्रदान कर सकते हैं, या पैरामीटर सर्वर नामक एक सांप्रदायिक डेटाबेस से साझा डेटा सेट या पुनर्प्राप्त कर सकते हैं। आर. ओ. एस. मास्टर नामक एक प्रक्रिया अपने लिए नोड्स पंजीकृत करके, विषयों के लिए नोड-टू-नोड संचार स्थापित करके और पैरामीटर सर्वर अपडेट को नियंत्रित करके यह सब संभव बनाती है। संदेश और सेवा कॉल मास्टर के माध्यम से नहीं जाते हैं, बल्कि मास्टर के साथ खुद को पंजीकृत करने के बाद मास्टर सभी नोड प्रक्रियाओं के बीच पीयर-टू-पीयर संचार स्थापित करता है। यह विकेंद्रीकृत वास्तुकला स्वयं को रोबोटों के लिए अच्छी तरह से उधार देती है, जिसमें अक्सर नेटवर्क वाले कंप्यूटर हार्डवेयर का एक उपसमुच्चय होता है, और भारी कंप्यूटिंग या आदेशों के लिए ऑफ-बोर्ड कंप्यूटरों के साथ संवाद कर सकता है। एक नोड आरओएस ग्राफ को चलाने वाली एक प्रक्रिया का प्रतिनिधित्व करता है। प्रत्येक नोड का एक नाम होता है, जिसे वह कोई अन्य कार्रवाई करने से पहले आरओएस मास्टर के साथ पंजीकृत करता है। अलग-अलग नामों के साथ कई नोड अलग-अलग नेमस्पेस के तहत मौजूद हो सकते हैं, या एक नोड को गुमनाम के रूप में परिभाषित किया जा सकता है, जिस स्थिति में यह यादृच्छिक रूप से अपने दिए गए नाम में जोड़ने के लिए एक अतिरिक्त पहचानकर्ता उत्पन्न करेगा। नोड्स आरओएस प्रोग्रामिंग के केंद्र में होते हैं, क्योंकि अधिकांश आरओएस क्लाइंट कोड एक आरओएस नोड के रूप में होता है जो अन्य नोड्स से प्राप्त जानकारी के आधार पर कार्रवाई करता है, अन्य नोड्स को जानकारी भेजता है, या अन्य नोड्स से कार्रवाई के लिए अनुरोध भेजता है और प्राप्त करता है। विषयों को बसें कहा जाता है जिन पर नोड्स संदेश भेजते और प्राप्त करते हैं। विषय नाम उनके नेमस्पेस के भीतर भी अद्वितीय होने चाहिए। किसी विषय पर संदेश भेजने के लिए, एक नोड को उक्त विषय पर प्रकाशित करना होगा, जबकि संदेश प्राप्त करने के लिए उसे सदस्यता लेनी होगी। प्रकाशित/सदस्यता मॉडल अनाम हैः कोई भी नोड नहीं जानता कि कौन से नोड किसी विषय पर भेज या प्राप्त कर रहे हैं, केवल यह कि वह उस विषय पर भेज/प्राप्त कर रहा है। किसी विषय पर भेजे जाने वाले संदेशों के प्रकार व्यापक रूप से भिन्न होते हैं और इन्हें उपयोगकर्ता द्वारा परिभाषित किया जा सकता है। इन संदेशों की सामग्री संवेदक डेटा, मोटर नियंत्रण आदेश, राज्य की जानकारी, एक्चुएटर आदेश, या कुछ और हो सकती है। सेवाएँ एक नोड सेवाओं का विज्ञापन भी कर सकता है। एक सेवा एक कार्रवाई का प्रतिनिधित्व करती है जो एक नोड ले सकता है जिसका एक ही परिणाम होगा। इस प्रकार, सेवाओं का उपयोग अक्सर उन कार्यों के लिए किया जाता है जिनमें एक परिभाषित शुरुआत और अंत होता है, जैसे कि एक-फ्रेम छवि को पकड़ना, बजाय एक पहिया मोटर या एक पहिया एनकोडर से ओडोमीटर डेटा के लिए वेग आदेशों को संसाधित करने के। नोड्स एक दूसरे से सेवाओं और कॉल सेवाओं का विज्ञापन करते हैं। पैरामीटर सर्वर एक डेटाबेस है जो नोड्स के बीच साझा किया जाता है जो स्थिर या अर्ध-स्थिर जानकारी तक सामुदायिक पहुंच की अनुमति देता है। डेटा जो बार-बार नहीं बदलता है और इस तरह कभी-कभी उपयोग किया जाएगा, जैसे कि पर्यावरण में दो निश्चित बिंदुओं के बीच की दूरी, या रोबोट का वजन, पैरामीटर सर्वर में भंडारण के लिए अच्छे उम्मीदवार हैं। टूल्स आरओएस की मुख्य कार्यक्षमता को विभिन्न प्रकार के उपकरणों द्वारा संवर्धित किया जाता है जो डेवलपर्स को डेटा की कल्पना करने और रिकॉर्ड करने, आरओएस पैकेज संरचनाओं को आसानी से नेविगेट करने और जटिल विन्यास और सेटअप प्रक्रियाओं को स्वचालित करने वाली स्क्रिप्ट बनाने की अनुमति देते हैं। इन उपकरणों को जोड़ने से कई सामान्य रोबोटिक्स विकास समस्याओं को सरल और समाधान प्रदान करके आरओएस का उपयोग करने वाली प्रणालियों की क्षमताओं में बहुत वृद्धि होती है। ये उपकरण किसी भी अन्य एल्गोरिदम की तरह पैकेजों में प्रदान किए जाते हैं, लेकिन विभिन्न रोबोटिक कार्यों के लिए हार्डवेयर ड्राइवरों या एल्गोरिदम के कार्यान्वयन प्रदान करने के बजाय, ये पैकेज कार्य और रोबोट-अज्ञेय उपकरण प्रदान करते हैं जो अधिकांश आधुनिक आरओएस प्रतिष्ठानों के मूल के साथ आते हैं। (रोबोट विज़ुअलाइज़ेशन टूल) एक त्रि-आयामी विज़ुअलाइज़र है जिसका उपयोग रोबोट, वे जिस वातावरण में काम करते हैं, और सेंसर डेटा की कल्पना करने के लिए किया जाता है। यह कई अलग-अलग प्रकार के विज़ुअलाइज़ेशन और प्लगइन्स के साथ एक अत्यधिक विन्यास योग्य उपकरण है। एकीकृत रोबोट विवरण प्रारूप (यू. आर. डी. एफ.) रोबोट मॉडल विवरण के लिए एक एक्स. एम. एल. फ़ाइल प्रारूप है। एक कमांड लाइन टूल है जिसका उपयोग आरओएस संदेश डेटा को रिकॉर्ड करने और प्लेबैक करने के लिए किया जाता है। बैग्स नामक एक फ़ाइल प्रारूप का उपयोग करता है, जो विषयों को सुनकर और संदेशों को रिकॉर्ड करके आरओएस संदेशों को लॉग करता है। थैले से संदेशों को वापस चलाना काफी हद तक मूल नोड्स होने के समान है जो आरओएस गणना ग्राफ में डेटा का उत्पादन करते हैं, जिससे थैले बाद के विकास में उपयोग किए जाने वाले डेटा को रिकॉर्ड करने के लिए एक उपयोगी उपकरण बन जाते हैं। जबकि यह केवल एक कमांड लाइन उपकरण है, इसे एक जी. यू. आई. इंटरफेस प्रदान करता है। कैटकिन कैटकिन आर. ओ. एस. निर्माण प्रणाली है, जिसे आर. ओ. एस. ग्रूवी द्वारा प्रतिस्थापित किया गया है। कैटकिन सीमेक पर आधारित है, और इसी तरह क्रॉस-प्लेटफ़ॉर्म, ओपन-सोर्स और भाषा-स्वतंत्र है। पैकेज उपकरणों का एक समूह प्रदान करता है जो बैश शेल की कार्यक्षमता को बढ़ाता है। इन उपकरणों में शामिल हैं, और, जो क्रमशः एल. एस., सी. डी. और सी. पी. की कार्यक्षमताओं को दोहराते हैं। इन उपकरणों के आरओएस संस्करण उपयोगकर्ताओं को उस फ़ाइल पथ के स्थान पर पैकेज नामों का उपयोग करने की अनुमति देते हैं जहाँ पैकेज स्थित है। पैकेज अधिकांश आरओएस उपयोगिताओं में टैब-पूर्णता भी जोड़ता है, और इसमें रोस्ड शामिल है, जो चुने गए डिफ़ॉल्ट पाठ संपादक के साथ दी गई फ़ाइल को संपादित करता है, साथ ही, जो आरओएस पैकेजों में निष्पादन को चलाता है। कम हद तक zsh और tcsh के लिए समान कार्यात्मकताओं का समर्थन करता है। यह एक उपकरण है जिसका उपयोग स्थानीय और दूरस्थ रूप से कई आरओएस नोड्स को लॉन्च करने के साथ-साथ आरओएस पैरामीटर सर्वर पर पैरामीटर सेट करने के लिए किया जाता है। कॉन्फ़िगरेशन फ़ाइल्स, जो एक्स. एम. एल. का उपयोग करके लिखी जाती हैं, आसानी से एक जटिल स्टार्टअप और कॉन्फ़िगरेशन प्रक्रिया को एकल कमांड में स्वचालित कर सकती हैं। स्क्रिप्ट में अन्य स्क्रिप्ट शामिल हो सकते हैं, विशिष्ट मशीनों पर लॉन्च नोड्स, और यहां तक कि उन प्रक्रियाओं को फिर से शुरू कर सकते हैं जो निष्पादन के दौरान मर जाती हैं। नोट आरओएस के पैकेजों में सामान्य रोबोटिक्स कार्यक्षमता और एल्गोरिदम के कई मुक्त-स्रोत कार्यान्वयन शामिल हैं। इन मुक्त-स्रोत कार्यान्वयनों को पैकेजों में व्यवस्थित किया जाता है। कई पैकेज आरओएस वितरण के हिस्से के रूप में शामिल किए जाते हैं, जबकि अन्य व्यक्तियों द्वारा विकसित किए जा सकते हैं और कोड साझा करने वाली साइटों के माध्यम से वितरित किए जा सकते हैं। नोट के कुछ पैकेजों में शामिल हैंः सिस्टम और उपकरण पूर्वनिर्धारित कार्यों के साथ इंटरफेस करने के लिए एक मानकीकृत इंटरफेस प्रदान करते हैं। एक ही प्रक्रिया में कई एल्गोरिदम चलाने का एक तरीका प्रदान करता है। गैर-आर. ओ. एस. कार्यक्रमों के लिए आर. ओ. एस. कार्यात्मकताओं के लिए जे. एस. ओ. एन. ए. पी. आई. प्रदान करता है। मानचित्रण और स्थानीयकरण स्लैम टूलबॉक्स पूर्ण 2डी स्लैम और स्थानीयकरण प्रणाली प्रदान करता है। एक साथ स्थानीयकरण और मानचित्रण के लिए ओपनस्लैम के जीमैपिंग एल्गोरिदम के लिए एक आवरण प्रदान करता है। मानचित्रकार गूगल में विकसित वास्तविक समय 2डी और 3डी स्लैम एल्गोरिदम प्रदान करता है। अनुकूलनशील मोंटे-कार्लो स्थानीयकरण का कार्यान्वयन प्रदान करता है। नेविगेशन नेविगेशन एक समतल वातावरण में एक मोबाइल रोबोट को नेविगेट करने की क्षमता प्रदान करता है। हेरफेर मूव इट! रोबोट मैनिपुलेटर के लिए गति योजना क्षमता प्रदान करता है। इसका डिफ़ॉल्ट योजना पुस्तकालय ओपन मोशन प्लानिंग लाइब्रेरी (ओ. एम. पी. एल.) है। परसेप्शन एक मेटा-पैकेज है जो ओपनसीवी के साथ आरओएस को एकीकृत करने के लिए पैकेज प्रदान करता है। समन्वय फ्रेम प्रतिनिधित्व ने आरओएस हाइड्रो तक समन्वय फ्रेम का प्रतिनिधित्व करने, ट्रैक करने और बदलने के लिए एक प्रणाली प्रदान की, जब तक कि इसे इसके पक्ष में पदावनत नहीं किया गया था। यह पुस्तकालय की दूसरी पीढ़ी है, और हाइड्रो के बाद आरओएस संस्करणों के लिए समान क्षमताएं प्रदान करती है। सिमुलेशन एक मेटा-पैकेज है जो आर. ओ. एस. को गज़ेबो सिमुलेटर के साथ एकीकृत करने के लिए पैकेज प्रदान करता है। स्टेज 2डी स्टेज सिम्युलेटर के लिए एक इंटरफेस प्रदान करता है। आर. ओ. एस. रिलीज के संस्करण और रिलीज अन्य रिलीज के साथ असंगत हो सकते हैं और अक्सर संस्करण संख्या के बजाय कोड नाम से संदर्भित किए जाते हैं। आर. ओ. एस. वर्तमान में उबंटू एल. टी. एस. संस्करणों के जारी होने के बाद हर साल मई में एक संस्करण जारी करता है। आर. ओ. एस. 2 वर्तमान में हर छह महीने (दिसंबर और जुलाई में) एक नया संस्करण जारी करता है। ये रिलीज़ एक वर्ष के लिए समर्थित हैं। वर्तमान में दो सक्रिय प्रमुख संस्करण रिलीज़ देख रहे हैंः आरओएस 1 और आरओएस 2। इसके अलावा कम से कम 2012 से आरओएस-औद्योगिक या आरओएस-I व्युत्पन्न परियोजना है। आर. ओ. एस. 1 आर. ओ. एस. 2 आर. ओ. एस.-औद्योगिक आर. ओ. एस.-औद्योगिक एक मुक्त स्रोत परियोजना (बी. एस. डी. (विरासत)/अपाचे 2 (पसंदीदा) लाइसेंस) है जो आर. ओ. एस. की उन्नत क्षमताओं को स्वचालन और रोबोटिक्स के निर्माण तक विस्तारित करती है। औद्योगिक परिवेश में, एक रोबोट की प्रोग्रामिंग के लिए दो अलग-अलग दृष्टिकोण हैंः या तो एक बाहरी स्वामित्व नियंत्रक के माध्यम से, जिसे आमतौर पर आरओएस का उपयोग करके लागू किया जाता है, या रोबोट की संबंधित मूल प्रोग्रामिंग भाषा के माध्यम से। इसलिए आरओएस को क्लासिक रोबोट नियंत्रक-आधारित दृष्टिकोण के बजाय प्रोग्राम औद्योगिक रोबोट के लिए सॉफ्टवेयर-आधारित दृष्टिकोण के रूप में देखा जा सकता है। आर. ओ. एस.-औद्योगिक भंडार में सामान्य औद्योगिक जोड़-तोड़ करने वाले, ग्रिपर, संवेदक और उपकरण नेटवर्क के लिए इंटरफेस शामिल हैं। यह स्वचालित 2डी/3डी संवेदक अंशांकन, प्रक्रिया पथ/गति योजना, स्कैन-एन-प्लान जैसे अनुप्रयोगों, क्यूटी निर्माता आरओएस प्लगइन जैसे विकासकर्ता उपकरणों और निर्माताओं की आवश्यकताओं के लिए विशिष्ट प्रशिक्षण पाठ्यक्रम के लिए सॉफ्टवेयर पुस्तकालय भी प्रदान करता है। आर. ओ. एस.-I को उद्योग और अनुसंधान सदस्यों के एक अंतर्राष्ट्रीय संघ द्वारा समर्थित किया जाता है। यह परियोजना स्वचालन के निर्माण के लिए आरओएस के उपयोग का समर्थन करने के लिए यास्कावा मोटोमन रोबोटिक्स, साउथवेस्ट रिसर्च इंस्टीट्यूट और विलो गैरेज के बीच एक सहयोगी प्रयास के रूप में शुरू हुई, जिसमें जनवरी 2012 में शॉन एडवर्ड्स (एसडब्ल्यूआरआई) द्वारा गिटहब रिपॉजिटरी की स्थापना की गई थी। वर्तमान में, संघ को तीन समूहों में विभाजित किया गया है; आरओएस-औद्योगिक संघ अमेरिका (एस. डब्ल्यू. आर. आई. के नेतृत्व में और सैन एंटोनियो, टेक्सास में स्थित), आरओएस-औद्योगिक संघ यूरोप (फ्रॉनहोफर आई. पी. ए. के नेतृत्व में और स्टटगार्ट, जर्मनी में स्थित) और आरओएस-औद्योगिक संघ एशिया प्रशांत (उन्नत पुनर्निर्माण और प्रौद्योगिकी केंद्र (ए. आर. टी. सी.) और नानयांग प्रौद्योगिकी विश्वविद्यालय (एन. टी. यू.) के नेतृत्व में और सिंगापुर में स्थित)। कंसोर्टिया आर. ओ. एस.-I प्रशिक्षण आयोजित करके, तकनीकी सहायता प्रदान करके और आर. ओ. एस.-I के लिए भविष्य का खाका निर्धारित करके, साथ ही नई आर. ओ. एस.-I क्षमताओं को विकसित करने के लिए पूर्व-प्रतिस्पर्धी संयुक्त उद्योग परियोजनाओं का संचालन करके वैश्विक आर. ओ. एस.-औद्योगिक समुदाय का समर्थन करता है। आरओएस-संगत रोबोट और हार्डवेयर रोबोट एबीबी, एडेप्ट, फैनुक, मोटोमैन और यूनिवर्सल रोबोट आरओएस-इंडस्ट्रियल द्वारा समर्थित हैं। रीथिंक रोबोटिक्स, इंक. सी. के.-9 में बैक्सटरः सेंटौरी रोबोटिक्स द्वारा रोबोटिक्स विकास किट, आरओएस का समर्थन करता है। HERB को कार्नेगी मेलन विश्वविद्यालय में इंटेल के व्यक्तिगत रोबोटिक्स कार्यक्रम हस्की A200 में विकसित किया गयाः रोबोट को क्लियरपाथ रोबोटिक्स PR1 द्वारा विकसित (और ROS में एकीकृत) किया गयाः व्यक्तिगत रोबोट को स्टैनफोर्ड PR2 में केन सैलिसबरी की प्रयोगशाला में विकसित किया गयाः व्यक्तिगत रोबोट को विलो गैराज रेवेन II सर्जिकल रोबोटिक रिसर्च प्लेटफॉर्म शैडो रोबोट हैंडः एक पूरी तरह से निपुण ह्यूमनॉइड हैंड में विकसित किया जा रहा है। स्टेयर I और II: स्टैनफोर्ड समिट एक्सएल में एंड्रयू एनजी की प्रयोगशाला में विकसित रोबोटः मोबाइल रोबोट, रोबोटिक हथियारों और आरओएस वास्तुकला के साथ औद्योगिक समाधानों में विशेषज्ञता प्राप्त एक इंजीनियरिंग कंपनी रोबोटनिक द्वारा विकसित मोबाइल रोबोट। नाओ ह्यूमनॉइडः यूनिवर्सिटी ऑफ फ्रीबर्ग के ह्यूमनॉइड रोबोट लैब ने ब्राउन यूनिवर्सिटी यू. बी. आर. 1 द्वारा एक प्रारंभिक बंदरगाह के आधार पर नाओ ह्यूमनॉइड के लिए एक आर. ओ. एस. एकीकरण विकसित कियाः अनबाउंडेड रोबोटिक्स द्वारा विकसित, विलो गैरेज का एक स्पिन-ऑफ। आर. ओ. एस. बॉटः हुसारियन वेबट्स द्वारा स्वायत्त रोबोट प्लेटफॉर्मः एक पूर्ण आर. ओ. एस. प्रोग्रामिंग इंटरफेस को एकीकृत करने वाला रोबोट सिम्युलेटर। गोपीगो3: रास्पबेरी पाई-आधारित शैक्षिक रोबोट, आरओएस का समर्थन करता है। एस. बी. सी. और हार्डवेयर बीगलबोर्डः कैथोलिक यूनिवर्सिटाइट ल्यूवेन, बेल्जियम की रोबोटिक्स प्रयोगशाला ने आर. ओ. एस. को बीगलबोर्ड में पोर्ट किया है। सितारा एआरएम प्रोसेसर के पास आधिकारिक लिनक्स एसडीके के हिस्से के रूप में आरओएस पैकेज के लिए समर्थन है। रास्पबेरी पाईः सर्वव्यापी रोबोटिक्स द्वारा आरओएस के साथ उबंटू मेट की छवि; रास्पबियन के लिए स्थापना गाइड। ओपन हार्डवेयर रोबोटिक्स मिडलवेयर ओपन-सोर्स सॉफ्टवेयर मुफ्त और ओपन-सोर्स सॉफ्टवेयर पैकेजों की सूची संदर्भ STAIR: द स्टेनफोर्ड आर्टिफिशियल इंटेलिजेंस रोबोट प्रोजेक्ट, एंड्रयू वाई. एनजी, स्टीफन गोल्ड, मॉर्गन क्विगली, आशुतोष सक्सेना, एरिक बर्जर। स्नोबर्ड, 2008। संबंधित परियोजनाएं आर. टी. मिडलवेयर-रोबोट मिडलवेयर मानक/कार्यान्वयन। आर. टी.-घटक पर वस्तु प्रबंधन समूह द्वारा चर्चा/परिभाषित किया जाता है। रोबोटिक्स 2007 सॉफ्टवेयर में बाहरी लिंक कंप्यूटर दृष्टि सॉफ्टवेयर मुक्त सॉफ्टवेयर ऑपरेटिंग सिस्टम ओपन रोबोटिक्स ओपन-सोर्स रोबोट ऑपरेटिंग सिस्टम हेरफेर रोबोटिक्स सूट सॉफ्टवेयर बीएसडी लाइसेंस का उपयोग करते हुए