विषयसूची:

रूमबा स्काउट एक्सप्लोरर: 8 कदम
रूमबा स्काउट एक्सप्लोरर: 8 कदम

वीडियो: रूमबा स्काउट एक्सप्लोरर: 8 कदम

वीडियो: रूमबा स्काउट एक्सप्लोरर: 8 कदम
वीडियो: Rumba dance. Basic routine. Latin dance choreography. Entertainment Explorer Dream 2024, नवंबर
Anonim
रूमबा स्काउट एक्सप्लोरर
रूमबा स्काउट एक्सप्लोरर

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

विशिष्टता के लिए, हमने एक आरेख बनाने पर ध्यान केंद्रित किया, जिसमें दिखाया गया था कि प्रत्येक मार्ग रोबोट अपने मूल से लेता है। इसके अलावा, रोबोट अपने आस-पास की वस्तुओं की संख्या को मनोरम शैली में गिनने में सक्षम होगा।

चरण 1: उपकरण

-Roomba w / अटैच करने योग्य कैमरा (ज्ञात विशिष्ट नाम के साथ)

-कनेक्टेड सर्वर

-विंडोज 10 / मैक इंटरनेट कनेक्टिविटी के साथ

-उज्ज्वल मंच

-डार्क फ्लोर

- मोनोक्रोमैटिक डिज़ाइन की कोई भी आवारा वस्तु

चरण 2: MATLAB सेटअप

MATLAB सेटअप
MATLAB सेटअप

अपने रूमबा के लिए कार्यों और कार्यों को बनाने के लिए, आपके पास रूमबा कमांड वाले विशिष्ट कोड और टूलकिट होने चाहिए।

MATLAB 2016a और आगे डाउनलोड होने के साथ, इन रोबोट फ़ाइलों को शामिल करने के लिए एक फ़ोल्डर बनाएं और नीचे दी गई MATLAB फ़ाइल को फ़ोल्डर में डालें और शेष आवश्यक रूमबा फ़ाइलों को स्थापित करने के लिए इसे चलाएं।

उसके बाद, वर्तमान फ़ोल्डर विंडो में राइट-क्लिक करें, अपने माउस को "एक पथ जोड़ें" पर होवर करें और "वर्तमान फ़ोल्डर" पर क्लिक करें। अब, एक पाथवे की स्थापना की जानी चाहिए ताकि इनमें से प्रत्येक फाइल का उपयोग रूमबा को सक्रिय करने के लिए किया जा सके।

अब, रूमबा सेट करने के लिए कमांड विंडो में नीचे दिए गए कमांड का उपयोग करें:

आर = रूमबा (#)।

प्रतीक # निर्दिष्ट रूमबा का 'नंबर' है; हालाँकि, यदि आप केवल रूमबा का सिम्युलेटर चाहते हैं, तो बस निम्न कमांड टाइप करें:

आर = रूमबा (0)।

आंदोलन पैटर्न के परीक्षण के लिए अनुकरण की सिफारिश की जाएगी।

यदि आप उत्सुक हैं कि रूमबा किन आदेशों का पालन कर सकता है, तो कमांड विंडो में निम्नलिखित टाइप करें:

डॉक्टर रूमबा।

अधिक जानकारी के लिए, निम्न वेबसाइट पर जाएँ:

ef.engr.utk.edu/ef230-2017-08/projects/roomba-s/setup-roomba-instructable.php

चरण 3: कार्य: आंदोलन

समारोह: आंदोलन
समारोह: आंदोलन
समारोह: आंदोलन
समारोह: आंदोलन

आंदोलन के संबंध में, इनपुट में दिए गए समय की एक निर्धारित अवधि के लिए रूमबा स्वचालित रूप से आगे बढ़ना चाहिए। रोबोट की गति का लक्ष्य ठीक से प्रतिक्रिया करना है जब इसके सेंसर (बम्पर, लाइट बंपर और क्लिफ सेंसर) विभिन्न बाधाओं की उपस्थिति में बदलते हैं। यह हिस्सा रूमबा के सभी आदेशों के लिए आधार के रूप में कार्य करेगा क्योंकि कोड में और अधिक सुविधाएँ बाद में जोड़ी जाती हैं। कुछ विनिर्देश की आवश्यकता थी:

-नुकसान को कम करने के लिए, रोबोट को गति को कम वेग तक कम करना चाहिए।

-किसी चट्टान या दीवार के पास पहुंचने पर, रोबोट विपरीत दिशा में आगे बढ़ेगा और प्रभाव के बिंदु के आधार पर अपना कोण बदल देगा

-ड्राइविंग के कुछ समय बाद, रूमबा अंततः रुक जाएगा और आसपास के क्षेत्र की तस्वीरें लेगा

ध्यान दें कि उपयोग किए गए मान सिम्युलेटर के संबंध में थे; उपकरण त्रुटि के लिए स्थिरता और लेखांकन सुनिश्चित करने के लिए वास्तविक रोबोट का उपयोग करते समय टर्न एंगल टर्न वेलोसिटी और रोबोट सेंसर प्रीसेट जैसे मूल्यों को संशोधित किया जाना चाहिए।

चरण 4: कार्य: छवि प्रसंस्करण

समारोह: छवि प्रसंस्करण
समारोह: छवि प्रसंस्करण

अनुरोध के अनुसार, हमें रोबोट के कैमरे द्वारा प्राप्त एक छवि (या कई छवियों) के डेटा को संशोधित करने का काम सौंपा गया था, जिसके लिए हमने रूमबा को छवि में दिखाई देने वाली वस्तुओं की संख्या "गिनती" करने का निर्णय लिया था।

हमने MATLAB को एक सफेद पृष्ठभूमि के विपरीत काली वस्तुओं के चारों ओर सीमाएँ खींचने की तकनीक का पालन किया। हालांकि, इस फ़ंक्शन को खुले क्षेत्र में कठिनाई होने का खतरा है क्योंकि कैमरे द्वारा अलग-अलग आकार और रंग देखे जाते हैं, जिसके परिणामस्वरूप असामान्य रूप से उच्च गणना होती है।

ध्यान दें कि यह फ़ंक्शन सिम्युलेटर में काम नहीं कर सकता क्योंकि कैमरा प्रदान नहीं किया गया है; यदि प्रयास किया जाता है, तो केवल एक (:,:, 3) मैट्रिक्स का उपयोग करने की घोषणा करते हुए एक त्रुटि होगी।

चरण 5: कार्य: मानचित्रण

समारोह: मानचित्रण
समारोह: मानचित्रण
समारोह: मानचित्रण
समारोह: मानचित्रण
समारोह: मानचित्रण
समारोह: मानचित्रण
समारोह: मानचित्रण
समारोह: मानचित्रण

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

फ़ंक्शन के रन टाइम की लंबाई में एक सीमा जोड़ने के लिए, परीक्षण उद्देश्यों के लिए लूप पर n<20 सीमा का उपयोग किया गया था।

हालांकि ध्यान रखें कि कोड की जटिलता के कारण, अधिक त्रुटियां होती हैं क्योंकि कोड खंड लंबे समय तक चलता है; पिछले परीक्षणों से, दस धक्कों महत्वपूर्ण त्रुटियों के होने से पहले अंकों की संख्या प्रतीत होती है।

चरण 6: जुड़ाव

मुक़ाबला
मुक़ाबला
मुक़ाबला
मुक़ाबला
मुक़ाबला
मुक़ाबला
मुक़ाबला
मुक़ाबला

चूंकि यह सब एक फ़ाइल में रखा जाएगा, इसलिए हमने पिछले दो चरणों में से प्रत्येक को इसके उप-कार्यों के रूप में उपयोग करके एक फ़ंक्शन बनाया है। "रीकन" नामक रेडक्स फ़ंक्शन में निम्नलिखित संशोधन के साथ एक अंतिम मसौदा तैयार किया गया था। MATLAB के लिए भ्रम से बचने के लिए, "काउंटर" और "rombplot3" स्क्रिप्ट को क्रमशः एम्बेडेड फ़ंक्शन "काउंटआर" और "प्लॉटर" के रूप में बदल दिया गया था।

पिछली लिपियों के विपरीत अंतिम संस्करण में कई बदलाव किए जाने थे:

-मूल को हमेशा लाल घेरे से चिह्नित किया जाएगा

-हर बार रूमबा अपने बंपर से रुकता है, स्थान को एक काले घेरे से चिह्नित किया जाता है

-हर बार जब रूमबा अपने क्लिफ सेंसर से रुकता है, तो स्थान को नीले घेरे से चिह्नित किया जाता है

-हर बार जब रूमबा क्षेत्र की जांच करने से रुकता है, तो स्थान को हरे घेरे से चिह्नित किया जाता है

-इमेज को संशोधित किया जाता है ताकि शीर्ष भाग को हटा दिया जा सके क्योंकि टाइम स्टैम्प संभावित रूप से परिणामों में हस्तक्षेप कर रहा है

-बॉर्डर्स को एक वस्तु के रूप में नहीं गिना जाएगा, क्योंकि अधिक संख्या में हासिल किया गया है

- कई चर बदल दिए गए हैं, इसलिए भ्रम से बचने के लिए संदर्भ के लिए उपरोक्त संस्करणों का उपयोग करें।

चरण 7: परीक्षण

परिक्षण
परिक्षण

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

अपने विनियमित समय और आधार वेग को निर्धारित करने के बाद, रूमबा ने पर्याप्त गति व्यवहार का प्रदर्शन किया, प्रत्येक "चट्टान" से रुकना और पीछे हटना या वस्तु में घुसना और साथ ही धीमा होना क्योंकि यह कुछ निकट का पता लगाता है। वांछित तीन मीटर यात्रा दूरी तक पहुंचने पर, रोबोट प्रत्येक 45 डिग्री क्षेत्र की छवियों को लेते हुए, क्षेत्र को रोकने और मूल्यांकन करने के लिए आगे बढ़ेगा, और यदि समय की अनुमति देता है तो आगे बढ़ें। हालांकि, इसके मोड़ अनुरोध से बड़े दिखाई दिए, जिसका अर्थ है कि समन्वय डेटा अस्पष्ट होगा।

हर बार जब यह रुकता है, तो समन्वय प्रणाली पर अपनी स्थिति के अनुमानित क्षेत्र में एक नया बिंदु रखा जाता है; हालांकि, यह ध्यान दिया जाता है कि रूमबा जिस प्रारंभिक दिशा से शुरू होता है वह मानचित्र के डिजाइन में एक महत्वपूर्ण भूमिका निभाता है। यदि एक कंपास सुविधा को लागू किया जा सकता है, तो इसे मानचित्र डिजाइन के एक महत्वपूर्ण भाग के रूप में उपयोग किया जा सकता है।

फ़ंक्शन को पूरी तरह से चलने में लगने वाला वास्तविक समय हमेशा अनुरोधित समय से ऊपर चला जाता है, जो समझ में आता है कि यह अपनी वसूली में से किसी एक के बीच में नहीं रुक सकता है। दुर्भाग्य से, छवि गणना के इस संस्करण में इसकी समस्याएं हैं, खासकर उन क्षेत्रों में जो या तो अधिकतर मोनोक्रोमैटिक हैं या चमक में भिन्न हैं; क्योंकि यह दो रंगों के बीच अंतर करने का प्रयास करता है, यह उन वस्तुओं को समझने का प्रयास करता है जो वांछित नहीं हैं, इसलिए यह हमेशा अत्यधिक उच्च संख्या तक गिना जाता है।

चरण 8: निष्कर्ष

निष्कर्ष
निष्कर्ष

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

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

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

सिफारिश की: