रोबोट सॉफ्टवेयर

रोबोट सॉफ़्टवेयर कोडेड कमांड या निर्देशों का सेट है जो एक यांत्रिक डिवाइस और इलेक्ट्रॉनिक सिस्टम को बताते हैं, जिसे एक रोबोट के रूप में जाना जाता है, क्या कार्य करना है। रोबोट सॉफ्टवेयर स्वायत्त कार्यों को करने के लिए प्रयोग किया जाता है। प्रोग्रामिंग रोबोट को आसान बनाने के लिए कई सॉफ्टवेयर सिस्टम और ढांचे का प्रस्ताव दिया गया है।

कुछ रोबोट सॉफ्टवेयर का उद्देश्य बुद्धिमान यांत्रिक उपकरणों को विकसित करना है। सामान्य कार्यों में फीडबैक लूप, कंट्रोल, पाथफाइंडिंग, डेटा फ़िल्टरिंग, डेटा ढूंढना और साझा करना शामिल है।

परिचय
हालांकि यह एक विशिष्ट प्रकार का सॉफ्टवेयर है, यह अभी भी काफी विविध है। प्रत्येक निर्माता का अपना रोबोट सॉफ्टवेयर होता है। जबकि सॉफ्टवेयर का विशाल बहुमत डेटा के हेरफेर के बारे में है और परिणाम स्क्रीन पर देखकर, रोबोट सॉफ्टवेयर वास्तविक दुनिया में वस्तुओं या उपकरणों के हेरफेर के लिए है।

औद्योगिक रोबोट सॉफ्टवेयर
औद्योगिक रोबोट के लिए सॉफ़्टवेयर में डेटा ऑब्जेक्ट्स और निर्देशों की सूचियां शामिल हैं, जिन्हें प्रोग्राम प्रवाह (निर्देशों की सूची) के रूप में जाना जाता है। उदाहरण के लिए,

जिग 1 पर जाएं

जिग 1 नामक स्थितित्मक डेटा पर जाने के लिए रोबोट को निर्देश है। बेशक कार्यक्रमों में उदाहरण के लिए अंतर्निहित डेटा भी हो सकता है

धुरी 1 कदम 30 डिग्री बताओ।

डेटा और प्रोग्राम आम तौर पर रोबोट नियंत्रक स्मृति के अलग-अलग वर्गों में रहते हैं। कोई भी प्रोग्राम को बदले बिना डेटा बदल सकता है और इसके विपरीत। उदाहरण के लिए, कोई एक ही जिग 1 का उपयोग करके एक अलग प्रोग्राम लिख सकता है या कोई भी प्रोग्राम का उपयोग किए बिना जिग 1 की स्थिति को समायोजित कर सकता है।

औद्योगिक रोबोट के लिए प्रोग्रामिंग भाषाओं के उदाहरण
रोबोट सॉफ्टवेयर की अत्यधिक स्वामित्व वाली प्रकृति के कारण, रोबोट हार्डवेयर के अधिकांश निर्माता भी अपना स्वयं का सॉफ्टवेयर प्रदान करते हैं। हालांकि यह अन्य स्वचालित नियंत्रण प्रणालियों में असामान्य नहीं है, रोबोट के लिए प्रोग्रामिंग विधियों के मानकीकरण की कमी कुछ चुनौतियों का सामना करती है। उदाहरण के लिए, औद्योगिक रोबोट के 30 से अधिक विभिन्न निर्माता हैं, इसलिए 30 विभिन्न रोबोट प्रोग्रामिंग भाषाओं की भी आवश्यकता है। विभिन्न रोबोटों के बीच पर्याप्त समानताएं हैं कि प्रत्येक निर्माता की स्वामित्व भाषा सीखने के बिना रोबोट प्रोग्रामिंग की व्यापक-आधारित समझ हासिल करना संभव है।

एकाधिक निर्माताओं से रोबोट को नियंत्रित करने की एक विधि एक पोस्ट प्रोसेसर और ऑफ़लाइन प्रोग्रामिंग (रोबोटिक्स) सॉफ़्टवेयर का उपयोग करना है। इस विधि के साथ, पाइथन (प्रोग्रामिंग भाषा) जैसे सार्वभौमिक प्रोग्रामिंग भाषा से ब्रांड-विशिष्ट रोबोट प्रोग्रामिंग भाषा को संभालना संभव है। हालांकि, एक रोबोट नियंत्रक को निश्चित ऑफ़लाइन कोड को संकलित और अपलोड करने से रोबोट सिस्टम को अवगत होने की अनुमति नहीं मिलती है, इसलिए यह पर्यावरण की गति के रूप में इसकी गति को अनुकूलित नहीं कर सकता है। किसी भी रोबोट के लिए एकीकृत वास्तविक समय अनुकूली नियंत्रण वर्तमान में एक्टिन के साथ ही संभव है।

प्रकाशित रोबोट प्रोग्रामिंग भाषाओं के कुछ उदाहरण नीचे दिखाए गए हैं।

सादा अंग्रेजी में कार्य:
पी 1 पर जाएं (एक सामान्य सुरक्षित स्थिति)
पी 2 पर जाएं (पी 3 के लिए एक दृष्टिकोण)
पी 3 पर जाएं (ऑब्जेक्ट लेने की स्थिति)
बंद पकड़ो
पी 4 पर जाएं (पी 5 के लिए एक दृष्टिकोण)
पी 5 पर जाएं (ऑब्जेक्ट को रखने की स्थिति)
खुली पकड़ने वाला
पी 1 पर ले जाएं और खत्म करें
वीएएल पहली रोबोट ‘भाषाओं’ में से एक था और इसका उपयोग यूनिमेट रोबोट में किया गया था। वीएएल के वेरिएंट का इस्तेमाल अन्य निर्माताओं द्वारा किया गया है जिनमें एडैप्ट टेक्नोलॉजी भी शामिल है। Stäubli वर्तमान में VAL3 का उपयोग करें।
उदाहरण कार्यक्रम:
कार्यक्रम पिकप्लेस
1. पी 1 चलाओ
2. पी 2 चलाओ
3. पी 3 चलाओ
4. बंद करो 0.00
5. पी 4 चलाओ
6. पी 5 चलाओ
7. OPENI 0.00
8. पी 1 चलाओ
।समाप्त
Stäubli VAL3 कार्यक्रम का उदाहरण:
शुरू
movej (p1, tGripper, mNomSpeed)
movej (appro (पी 3, trAppro), tGripper, mNomSpeed)
movel (पी 3, tGripper, mNomSpeed)
करीब (tGripper)
movej (appro (पी 5, trAppro), tGripper, mNomSpeed)
movel (पी 5, tGripper, mNomSpeed)
खुला (tGripper)
movej (p1, tGripper, mNomSpeed)
समाप्त
trAppro कार्टेशियन परिवर्तन चर है। अगर हम पास कमांड के साथ उपयोग करते हैं, तो हमें पी 2 और पी 4 पॉइंट सिखाने की जरूरत नहीं है, लेकिन हम गतिशील रूप से प्रक्षेपवक्र पीढ़ी के लिए पिक और जगह की स्थिति में एक दृष्टिकोण को बदलते हैं।
एपसन आरसी + (वैक्यूम पिकअप के लिए उदाहरण)
फंक्शन पिकप्लेस
कूदो पी 1
कूदो पी 2
कूदो पी 3
वैक्यूम पर
रुको .1
कूदो पी 4
कूदो पी 5
वैक्यूम बंद
रुको .1
कूदो पी 1
रोकना
ROBOFORTH (फोर्थ पर आधारित एक भाषा)।
: पिकप्लेस
P1
पी 3 जीआरआईपी के साथ
पी 5 यूएनजीआरआईपी के साथ
P1
;
(Roboforth के साथ आप स्थानों के लिए दृष्टिकोण पदों को निर्दिष्ट कर सकते हैं ताकि आपको पी 2 और पी 4 की आवश्यकता न हो।)

स्पष्ट रूप से रोबोट को तब तक जारी नहीं रखना चाहिए जब तक कि ग्रिपर पूरी तरह से बंद न हो जाए। पुष्टिकरण या अनुमत समय CLOSEI और GRIP के उपरोक्त उदाहरणों में निहित है जबकि ऑन वैक्यूम कमांड को संतोषजनक चूषण सुनिश्चित करने में समय देरी की आवश्यकता होती है।

अन्य रोबोट प्रोग्रामिंग भाषाएं

दृश्य प्रोग्रामिंग भाषा
लेगो मिंडस्टॉर्म ईवी 3 प्रोग्रामिंग भाषा अपने उपयोगकर्ताओं के साथ बातचीत करने के लिए एक साधारण भाषा है। यह लैबव्यू के साथ लिखित एक ग्राफिकल यूजर इंटरफेस (जीयूआई) है। दृष्टिकोण डेटा के बजाय कार्यक्रम के साथ शुरू करना है। प्रोग्राम प्रोग्राम क्षेत्र में आइकन खींचकर और अनुक्रम में डालने या डालने के द्वारा बनाया गया है। प्रत्येक आइकन के लिए आप पैरामीटर (डेटा) निर्दिष्ट करते हैं। उदाहरण के लिए, मोटर ड्राइव आइकन के लिए आप निर्दिष्ट करते हैं कि कौन से मोटर और कितने स्थानांतरित होते हैं। जब कार्यक्रम लिखा जाता है तो इसे परीक्षण के लिए लेगो एनएफटी ‘ईंट’ (माइक्रोकंट्रोलर) में डाउनलोड किया जाता है।

स्क्रिप्टिंग भाषाएं
एक स्क्रिप्टिंग भाषा एक उच्च स्तरीय प्रोग्रामिंग भाषा है जिसका उपयोग सॉफ़्टवेयर एप्लिकेशन को नियंत्रित करने के लिए किया जाता है, और अग्रिम में संकलित होने के बजाय रीयल-टाइम, या “फ्लाई पर अनुवादित” में इसका अर्थ है। एक स्क्रिप्टिंग भाषा एक सामान्य उद्देश्य प्रोग्रामिंग भाषा हो सकती है या यह किसी एप्लिकेशन या सिस्टम प्रोग्राम को चलाने के लिए उपयोग किए जाने वाले विशिष्ट कार्यों तक ही सीमित हो सकती है। RoboLogix जैसे कुछ स्क्रिप्टिंग भाषाओं में रजिस्टरों में रहने वाली डेटा ऑब्जेक्ट्स होती हैं, और प्रोग्राम प्रवाह रोबोट प्रोग्राम करने के लिए उपयोग की जाने वाली निर्देशों या निर्देश सेट की सूची का प्रतिनिधित्व करता है।

औद्योगिक रोबोटिक्स में प्रोग्रामिंग भाषाएं
रोबोट ब्रांड भाषा का नाम
एबीबी रैपिड
कॉमौ पीडीएल 2
फनुक करेल
कावासाकी एएस
कुका केआरएल
Stäubli VAL3
यास्कावा जानकारी
प्रोग्रामिंग भाषाएं आम तौर पर स्क्रैच से डेटा संरचनाओं और एल्गोरिदम बनाने के लिए डिज़ाइन की जाती हैं, जबकि स्क्रिप्टिंग भाषाओं को कनेक्ट करने के लिए और “ग्लूइंग”, घटकों और निर्देशों के साथ अधिक उद्देश्य दिया जाता है। नतीजतन, स्क्रिप्टिंग भाषा निर्देश सेट आमतौर पर प्रोग्राम कमांड की सुव्यवस्थित सूची होती है जिसका उपयोग प्रोग्रामिंग प्रक्रिया को सरल बनाने और त्वरित अनुप्रयोग विकास प्रदान करने के लिए किया जाता है।

समांतर भाषाओं
एक और दिलचस्प दृष्टिकोण उल्लेख करने योग्य है। सभी रोबोट अनुप्रयोगों को समांतरता और घटना-आधारित प्रोग्रामिंग की आवश्यकता होती है। समांतरता वह जगह है जहां रोबोट एक ही समय में दो या दो से अधिक चीजें करता है। इसके लिए उपयुक्त हार्डवेयर और सॉफ्टवेयर की आवश्यकता है। अधिकांश प्रोग्रामिंग भाषा समानांतरता और साझा जटिलताओं को साझा करने के लिए धागे या जटिल अमूर्त कक्षाओं पर भरोसा करती है, जैसे साझा संसाधनों के समवर्ती उपयोग की तरह। यूआरबीआई भाषा अर्थशास्त्र के मूल में समांतरता और घटनाओं को एकीकृत करके उच्च स्तर का अमूर्त प्रदान करता है।

जब भी (face.visible)
{
headPan.val + = camera.xfov * face.x
& Amp;
headTilt.val + = camera.yfov * face.y
}

उपर्युक्त कोड रोबोट द्वारा चेहरे को देखा जाने पर रोबोट सिर को कैमरे द्वारा उठाए गए वीडियो पर दृश्यमान मानव चेहरे का पालन करने के लिए समानांतर में हेडपैन और हेडटाल्ट मोटर्स को आगे बढ़ाएगा।

रोबोट एप्लिकेशन सॉफ्टवेयर
भले ही कौन सी भाषा का उपयोग किया जाता है, रोबोट सॉफ़्टवेयर का अंतिम परिणाम रोबोटिक एप्लिकेशन बनाना है जो लोगों की सहायता या मनोरंजन करते हैं। अनुप्रयोगों में कमांड-एंड-कंट्रोल और टास्किंग सॉफ्टवेयर शामिल हैं। कमांड-एंड-कंट्रोल सॉफ्टवेयर में टेली-संचालित रोबोट के लिए रोबोट कंट्रोल जीयूआई, स्वायत्त रोबोट के लिए पॉइंट-एन-क्लिक कमांड सॉफ्टवेयर और कारखानों में मोबाइल रोबोट के लिए शेड्यूलिंग सॉफ्टवेयर शामिल है। टास्किंग सॉफ़्टवेयर में डिलीवरी मार्ग, सुरक्षा गश्त और विज़िटर टूर सेट अप करने के लिए सरल ड्रैग-एन-ड्रॉप इंटरफेस शामिल हैं; इसमें विशिष्ट अनुप्रयोगों को तैनात करने के लिए लिखे गए कस्टम प्रोग्राम भी शामिल हैं। सामान्य उद्देश्य रोबोट एप्लिकेशन सॉफ्टवेयर व्यापक रूप से वितरित रोबोटिक प्लेटफॉर्म पर तैनात किया गया है।

सुरक्षा के मनन
प्रोग्रामिंग त्रुटियां विशेष रूप से बड़े औद्योगिक रोबोटों में गंभीर सुरक्षा विचार का प्रतिनिधित्व करती हैं। औद्योगिक रोबोटों की शक्ति और आकार का मतलब है कि यदि वे ग़लत ढंग से प्रोग्राम किए गए हैं या असुरक्षित तरीके से उपयोग किए जाते हैं तो वे गंभीर चोट पहुंचाने में सक्षम हैं। औद्योगिक रोबोटों के द्रव्यमान और उच्च गति के कारण, मानव ऑपरेशन के दौरान रोबोट के कार्य क्षेत्र में रहने के लिए हमेशा असुरक्षित होता है। प्रणाली अप्रत्याशित समय पर गति शुरू कर सकती है और ऐसा करने के लिए तैयार होने पर भी एक मानव कई स्थितियों में पर्याप्त प्रतिक्रिया करने में असमर्थ होगा। इस प्रकार, यहां तक ​​कि यदि सॉफ्टवेयर प्रोग्रामिंग त्रुटियों से मुक्त है, तो मानव श्रमिकों या मानव संपर्क के लिए औद्योगिक रोबोट को सुरक्षित रखने के लिए बहुत सावधानी बरतनी चाहिए, जैसे भागों को लोड करना या उतारना, भाग भाग को साफ़ करना या रखरखाव करना। एएनएसआई / आरआईए आर 15.06-1999 औद्योगिक रोबोट और रोबोट सिस्टम के लिए अमेरिकी राष्ट्रीय मानक – रोबोट इंडस्ट्रीज एसोसिएशन से सुरक्षा आवश्यकताएं (एएनएसआई / आरआईए आर 15.06-199 2 का संशोधन) रोबोट सुरक्षा पर स्वीकार्य मानक है। इसमें औद्योगिक रोबोटों के डिजाइन, और कार्यान्वयन या एकीकरण और कारखाने के तल पर औद्योगिक रोबोटों के उपयोग के लिए दिशानिर्देश शामिल हैं। सुरक्षा नियंत्रकों जैसे कई सुरक्षा अवधारणाएं, सिख मोड के दौरान अधिकतम गति, और शारीरिक बाधाओं का उपयोग शामिल है।

रोबोटिक्स सॉफ्टवेयर परियोजनाओं
रोबोटिक्स परियोजनाओं के लिए ओपन सोर्स और फ्री सॉफ्टवेयर की एक सूची निम्नलिखित है।

CLARAty – रोबोट स्वायत्तता के लिए युग्मित परत परत वास्तुकला। यह चार संस्थानों के बीच एक सहयोगी प्रयास है: नासा जेट प्रोपल्सन प्रयोगशाला, नासा एम्स रिसर्च सेंटर, कार्नेगी मेलॉन, और मिनेसोटा विश्वविद्यालय।
डीएलआईएफ – रोबोटिक्स, एआई और विजन के लिए फ्री / ओपन सोर्स जावा लाइब्रेरी। पायनियर, खेपेरा II का समर्थन करता है & amp; II, हेमिशन, एबो और फिंच रोबोट के साथ ही प्लेयर / स्टेज सिमुलेशन।
प्रायोगिक रोबोटिक्स फ्रेमवर्क – नवीनतम तकनीकों के समर्थन के साथ 3 डी में एकाधिक रोबोट के साथ प्रयोग करने के लिए एक सॉफ्टवेयर, जो प्लेयर / स्टेज और ओपन / सीवी के शीर्ष पर बैठता है।
मारिये – मोबाइल और स्वायत्त रोबोटिक्स एकीकरण पर्यावरण – पहले मौजूदा और नए सॉफ्टवेयर घटकों को एकीकृत करके रोबोटिक्स सॉफ्टवेयर सिस्टम बनाने के लिए एक घटक-आधारित दृष्टिकोण का उपयोग कर एक नि: शुल्क सॉफ्टवेयर है।
माइक्रोसॉफ्ट – माइक्रोसॉफ्ट रोबोटिक्स डेवलपर स्टूडियो
ओपनआरडीके – लूपली युग्मित मॉड्यूल के विकास के लिए रोबोटिक्स के लिए एक ओपन-सोर्स सॉफ्टवेयर फ्रेमवर्क। यह पारदर्शी समवर्ती प्रबंधन, इंटर-प्रोसेस (सॉकेट के माध्यम से) और इंट्रा-प्रोसेस (साझा मेमोरी के माध्यम से) ब्लैकबोर्ड-आधारित संचार और एक लिंकिंग तकनीक प्रदान करता है जो इनपुट / आउटपुट डेटा पोर्ट्स वैचारिक सिस्टम डिज़ाइन की अनुमति देता है। सिमुलेटर और जेनेरिक रोबोट ड्राइवरों से जुड़ने के लिए मॉड्यूल प्रदान किए जाते हैं।
ओपनआरटीएम-एस्ट – आरटी मिडलवेयर मानक के आधार पर विकसित एक सॉफ्टवेयर मंच। यह जापान में उन्नत औद्योगिक विज्ञान और प्रौद्योगिकी संस्थान द्वारा विकसित किया गया है।
ओरोकोस – ओपन रोबोट कंट्रोल सॉफ्टवेयर प्रोजेक्ट रीयलटाइम रोबोट आर्म और मशीन टूल कंट्रोल के लिए एक फ्री सॉफ्टवेयर टूलकिट प्रदान करता है।
ओपीआरओएस – ओपन प्लेटफार्म रोबोट सर्विसेज रोबोट विकास के लिए एक ओपन सोर्स प्रोजेक्ट है। यह रोबोट प्लेटफार्म और जीयूआई विकास उपकरण सहित रोबोट डिवाइस घटकों के स्रोत कोड के साथ एक समाधान प्रदान करता है।
RoboDK – औद्योगिक रोबोट अनुकरण करने के लिए एक रोबोट विकास किट मंच। RoboDK आपको अपने रोबोट नियंत्रक के आधार पर पाइथन का उपयोग करके किसी भी रोबोट को प्रोग्राम करने और ब्रांड-विशिष्ट वाक्यविन्यास को संभालने की अनुमति देता है।
रोबोटिक्स लाइब्रेरी एक ओपन-सोर्स सी ++ लाइब्रेरी है जिसमें कई रोबोटों के लिए सिनेमैटिक्स, प्लानिंग, विज़ुअलाइजेशन और हार्डवेयर ड्राइवर शामिल हैं।
MATLAB के लिए रोबोटिक्स टूलबॉक्स – यह एक मुफ्त सॉफ्टवेयर है जो पॉज़ (समरूप परिवर्तन, यूलर और आरपीवाई कोण, quaternions), बांह रोबोट (आगे / उलटा किनेमेटिक्स और गतिशीलता) और मोबाइल रोबोट (नियंत्रण, स्थानीयकरण और योजना) का प्रतिनिधित्व करने के लिए कार्यक्षमता प्रदान करता है।
रॉसम परियोजना, जीडब्ल्यू लुकास, ओपन-सोर्स रोबोटिक्स प्रोजेक्ट।
प्लेयर / स्टेज प्रोजेक्ट – एक बहुत ही लोकप्रिय फ्री सॉफ्टवेयर रोबोट इंटरफ़ेस और सिमुलेशन सिस्टम, जो दुनिया भर में रोबोटिक्स अनुसंधान और शिक्षण के लिए उपयोग किया जाता है।
पाइरो, पायथन रोबोटिक्स – लोकप्रिय रोबोटिक्स मुफ्त सॉफ्टवेयर विश्वविद्यालयों और कॉलेजों में उपयोग किया जाता है।
RoboMind – रोबोटिक्स और प्रोग्रामिंग की मूल बातें सीखने के लिए शैक्षिक सॉफ्टवेयर।
रोबोट ऑपरेटिंग सिस्टम – रोबोट ऑपरेटिंग सिस्टम पाइथन और सी ++ का उपयोग करके रोबोट प्रोग्रामिंग के लिए एक ओपन-सोर्स प्लेटफार्म है। जावा, लिस्प, लुआ और फारो समर्थित हैं लेकिन अभी भी प्रयोगात्मक चरण में हैं।
रोबोट इंटेलिजेंस कर्नेल

ऑफ़लाइन प्रोग्रामिंग
विजुअल कंपोनेंट्स एक वाणिज्यिक 3 डी असतत कार्यक्रम सिमुलेशन सॉफ्टवेयर है जो एक प्लेटफॉर्म पर भौतिक प्रवाह और रोबोटिक्स सिमुलेशन को सक्षम बनाता है। कार्यक्षमता ऑफ़लाइन प्रोग्रामिंग क्षमताओं और पीएलसी कनेक्टिविटी के साथ बढ़ाया जा सकता है।
“मूल बातें – रोबोट सॉफ्टवेयर”। सिएटल रोबोटिक्स सोसायटी।
“मोबाइल स्वायत्त रोबोट सॉफ्टवेयर (एमएआरएस)”। जॉर्जिया टेक रिसर्च कॉर्पोरेशन।
“टेक डेटाबेस”। robot.spawar.navy.mil।
इदाहो नेशनल लेबोरेटरी में अनुकूली रोबोटिक्स सॉफ्टवेयर

ऑनलाइन नियंत्रण
एनर्जीड टेक्नोलॉजीज एक्टिन एसडीके विकसित करता है और बेचता है जो एक रोबोटिक्स टूलकिट, ऑप्टिमाइज़ेशन इंजन और सी ++ में लिखित बाधा प्रबंधन प्रणाली है जो जैकबियन आधारित किनेमेटिक्स का उपयोग सभी प्रकार के रोबोटों पर प्रदर्शन को अनुकूलित करने के लिए करता है। चूंकि एक्टिन को एसडीके के रूप में बेचा जाता है, इसलिए इसे सफेद रोबोट या अन्य रोबोट कंट्रोल सॉफ्टवेयर पैकेज में OEM किया जा सकता है। यह दृष्टिकोण उपयोगकर्ताओं को एक जीयूआई के माध्यम से एक ऑफ़लाइन मोड में एक ज्ञात सिस्टम के नियंत्रण को विकसित करने की अनुमति देता है और फिर एक्टिन को अनुकूलन द्वारा टक्कर से बचने के लिए वास्तविक समय में रोबोट / नियंत्रक को लगातार अद्यतन संयुक्त-स्तर के आदेशों को स्ट्रीम करने के लिए उच्च स्तरीय ऑनलाइन नियंत्रण को संभालने देता है। पर्यावरणीय परिवर्तनों को समझने के लिए।