मुख्य सामग्री पर जाएं

पाठ 3: सेंसर से प्राप्त फीडबैक का उपयोग करके डिस्क को लक्ष्य स्थान पर रखना

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

पाठ 3 में रिपोर्ट किए गए सेंसर फीडबैक का उपयोग यह निर्धारित करने के लिए किया जाता है कि लक्ष्य पर लौटते समय वीआर रोबोट को ड्राइविंग कहाँ रोकनी चाहिए। इस पाठ में पहले <Eye Sensor near object> ब्लॉक का उपयोग करते समय, लक्ष्य से प्रत्येक डिस्क की दूरी जानने की कोई आवश्यकता नहीं है।

डिस्क मूवर प्लेग्राउंड पर वीआर रोबोट, जिसमें पहला नीला डिस्क इलेक्ट्रोमैग्नेट से जुड़ा हुआ है।

वीआर रोबोट डिस्टेंस सेंसर से प्राप्त डेटा का उपयोग करके यह निर्धारित करेगा कि उसे कहां रुकना है और नीले लक्ष्य की ओर वापस जाएगा। एक बार जब वीआर रोबोट नीले गोल के अंदर रुक जाएगा, तो वीआर रोबोट नीली डिस्क को गिरा देगा।

  • Unit8Lesson3 प्रोजेक्ट में काम करना जारी रखें।
  • डिस्टेंस सेंसर वीआर रोबोट के सामने से निकटतम वस्तु तक की दूरी को मापता है। इसी कारणवश, वीआर रोबोट को नीले गोल की ओर वापस जाने से पहले 180 डिग्री घूमना होगा।
  • वीआर रोबोट डिस्क को कहाँ गिराना है, यह निर्धारित करने के लिए खेल के मैदान की पिछली दीवार के साथ दूरी सेंसर का उपयोग करेगा। इसी कारणवश, वीआर रोबोट को नीले गोल की ओर वापस जाने से पहले 180 डिग्री घूमना होगा।
  • [Turn to heading] ब्लॉक का उपयोग यह सुनिश्चित करने के लिए किया जा सकता है कि VR रोबोट सही दिशा में मुड़ जाए।

    VEXcode VR टूलबॉक्स से हेडिंग ब्लॉक पर जाएं। ब्लॉक पर लिखा है '90 डिग्री की दिशा में मुड़ें'।

स्विच ब्लॉक का उपयोग करना 

यह स्विच [शीर्षक पर जाएं] ब्लॉक है। आप कोष्ठकों में दिए गए संख्यात्मक मान को बदलकर मोड़ की डिग्री को संशोधित कर सकते हैं। ध्यान रखें कि संख्या को माप की इकाई (डिग्री) से पहले लिखना आवश्यक है, और उसे अल्पविराम से अलग करना चाहिए। 

VEXcode VR टर्न टू हेडिंग स्विच ब्लॉक, जिसमें Python कमांड है जो ड्राइवट्रेन डॉट टर्न_टू_हेडिंग (90, डिग्री) पढ़ता है।

आपकी जानकारी के लिए

[Turn to heading] ब्लॉक जाइरो सेंसर का उपयोग करके वीआर रोबोट को एक विशिष्ट दिशा में मोड़ देता है। वीआर रोबोट किस दिशा में मुड़ेगा (बाएं या दाएं), यह जायरो सेंसर की वर्तमान दिशा के आधार पर निर्धारित होता है। [Turn to heading] ब्लॉक का उपयोग वीआर रोबोट की स्थिति की परवाह किए बिना उसे एक विशिष्ट दिशा में निर्देशित करने के लिए किया जाता है। जब आप कोई डिस्क उठाते या छोड़ते हैं, तो वीआर रोबोट अपने मार्ग से भटक सकता है। [Turn to heading] ब्लॉक का उपयोग यह सुनिश्चित करता है कि VR रोबोट पिछली दिशा के सापेक्ष स्थिति के बजाय निरपेक्ष स्थिति की ओर मुड़ेगा।

वीआर रोबोट की दिशा की स्थिति को डिग्री में दर्शाने वाला एक आरेख। केंद्र में एक वृत्त है जिसमें वीआर रोबोट का ऊपर से नीचे का दृश्य दिखाया गया है, और रोबोट का अगला भाग 0 डिग्री दिशा की ओर ऊपर की ओर है। दक्षिणावर्त दिशा में, प्रत्येक 90 डिग्री के शीर्ष को क्रमशः 90 डिग्री, 180 डिग्री और 270 डिग्री के रूप में चिह्नित किया गया है।
  • तीसरे कमेंट के नीचे एक [शीर्षक पर जाएं] ब्लॉक जोड़ें।

    पिछले पृष्ठ के समान ही VEXcode VR प्रोजेक्ट, जिसमें तीसरे कमेंट के नीचे एक हेडिंग ब्लॉक जोड़ा गया है। अब प्रोजेक्ट में लिखा है: शुरू होने पर, टिप्पणी करें: पहले नीले डिस्क तक ड्राइव करें, जब तक नीचे की आंख वस्तु के पास न हो तब तक दोहराएं, आगे ड्राइव करें, फिर ड्राइव करना बंद कर दें। अगला निर्देश यह है कि ब्लॉक को बढ़ावा देने के लिए सक्रिय विद्युतचुंबक के साथ पहली नीली डिस्क को उठाएं। तीसरी टिप्पणी में लिखा है कि नीले गोल की ओर बढ़ें और फिर 90 डिग्री के ब्लॉक की ओर मुड़ें।
  • [शीर्षक पर मुड़ें] ब्लॉक को 180 डिग्री पर सेट करें।

    वही VEXcode VR प्रोजेक्ट जिसमें टर्न टू हेडिंग ब्लॉक का पैरामीटर बदलकर 180 डिग्री कर दिया गया है। अब, प्रोजेक्ट के तीसरे कमेंट सेक्शन में लिखा है: नीले लक्ष्य की ओर ड्राइव करें, 180 डिग्री की दिशा में मुड़ें।
  • अब जबकि वीआर रोबोट प्रारंभिक स्थिति की ओर उन्मुख है, वीआर रोबोट को नीले लक्ष्य तक वापस जाने की आवश्यकता होगी। [Turn to heading] ब्लॉक के नीचे एक [Repeat until] ब्लॉक जोड़ें।

    वही VEXcode VR प्रोजेक्ट जिसमें 'Turn to heading' ब्लॉक के बाद 'Repeat until' ब्लॉक जोड़ा गया है। Repeat until ब्लॉक का पैरामीटर खाली है।
  • नीले गोल की ओर वापस जाने के लिए, वीआर रोबोट दूरी सेंसर से प्राप्त डेटा का उपयोग यह निर्धारित करने के लिए करेगा कि वीआर रोबोट नीले गोल के अंदर कब है। जैसा कि पिछले पाठ में चर्चा की गई है, डिस्क मूवर प्लेग्राउंड पर प्रत्येक ग्रिड वर्ग 200 मिलीमीटर (मिमी) x 200 मिलीमीटर (मिमी) मापता है।

    डिस्क मूवर प्लेग्राउंड के निचले बाएं कोने का एक क्लोज-अप, ऊपर से नीचे का दृश्य, जिसमें प्लेग्राउंड पर ग्रिड वर्ग के आयाम 200 मिमी ऊंचे और 200 मिमी चौड़े दिखाए गए हैं।
  • इन मापों का उपयोग करके, नीले गोल का केंद्र खेल के मैदान की दीवार से लगभग 200 मिलीमीटर (मिमी) की दूरी पर निर्धारित किया जा सकता है।

    डिस्क मूवर प्लेग्राउंड के निचले बाएं कोने में स्थित नीले गोल का ऊपर से नीचे की ओर लिया गया क्लोज-अप दृश्य, जिसमें दीवार से गोल के केंद्र तक की अनुमानित दूरी 200 मिमी अंकित है।
  • जब डिस्टेंस सेंसर यह रिपोर्ट करे कि वीआर रोबोट खेल के मैदान की दीवार से 200 मिलीमीटर (मिमी) से कम दूरी पर है, तो वीआर रोबोट को चलना बंद कर देना चाहिए। [Repeat until] ब्लॉक में निम्नलिखित ब्लॉक जोड़ें।

    वही VEXcode VR प्रोजेक्ट जिसमें 'रिपीट अंटिल' ब्लॉक के पैरामीटर में नेस्ट फ्रंट डिस्टेंस (mm में) के साथ एक 'लेस दैन' ऑपरेटर ब्लॉक है। अब, प्रोजेक्ट के तीसरे टिप्पणी अनुभाग में लिखा है: नीले लक्ष्य की ओर ड्राइव करें; 180 डिग्री की दिशा में मुड़ें; तब तक दोहराएं जब तक कि सामने की दूरी मिलीमीटर में 50 से कम न हो जाए।
  • <Less than> ब्लॉक में पैरामीटर को 200 में बदलें।

    वही प्रोजेक्ट, जिसमें 'लेस दैन' ब्लॉक का पैरामीटर बदलकर 200 कर दिया गया है। अब रिपीट अंटिल ब्लॉक में लिखा है 'फ्रंट डिस्टेंस (मिमी में) 200 से कम होने तक दोहराएं'।
  • इस [Repeat until] ब्लॉक में एक [Drive] ब्लॉक जोड़ें। यह वीआर रोबोट को तब तक आगे बढ़ने का निर्देश देगा जब तक कि डिस्टेंस सेंसर 200 मिलीमीटर (मिमी) से कम की दूरी की रिपोर्ट नहीं करता।

    रिपीट अंटिल ब्लॉक के C के अंदर एक ड्राइव ब्लॉक जोड़कर उसी प्रोजेक्ट को पूरा करें। प्रोजेक्ट के तीसरे कमेंट सेक्शन में अब लिखा है: नीले गोल की ओर ड्राइव करें; 180 डिग्री की दिशा में मुड़ें, तब तक दोहराएं जब तक सामने की दूरी मिलीमीटर में 200 से कम न हो जाए, आगे ड्राइव करें।
  • एक बार जब वीआर रोबोट नीले लक्ष्य (दीवार से 200 मिमी की दूरी) तक पहुंच जाता है, तो वीआर रोबोट को चलना बंद करना होगा। [Repeat until] ब्लॉक के नीचे एक [Stop driving] ब्लॉक जोड़ें।

    वही प्रोजेक्ट जिसमें रिपीट अंटिल ब्लॉक के बाद स्टॉप ड्राइविंग ब्लॉक जोड़ा गया है। तीसरे कमेंट सेक्शन में अब लिखा है: नीले गोल की ओर ड्राइव करें; तब तक दोहराएं जब तक सामने की दूरी मिलीमीटर में 200 से कम न हो जाए, आगे ड्राइव करें; फिर ड्राइव करना बंद कर दें।
  • अब जबकि वीआर रोबोट नीले गोल में रुक गया है, तो वह डिस्क को गिरा सकता है। चौथे कमेंट के नीचे एक [Energize Electromagnet] ब्लॉक जोड़ें और ब्लॉक को 'ड्रॉप' पर सेट करें।

    उसी प्रोजेक्ट को एनर्जाइज़ इलेक्ट्रोमैग्नेट ब्लॉक के साथ, ड्रॉप पैरामीटर सेट के साथ, चौथे कमेंट के बाद जोड़ा गया है। चौथे कमेंट सेक्शन में अब लिखा है, "नीली डिस्क को नीले लक्ष्य में गिराएं, गिराने के लिए चुंबक को सक्रिय करें।"
  • वीआर रोबोट को किसी भी डिस्क को गिराने या उससे टकराने से बचने के लिए थोड़ी दूरी तक पीछे की ओर ड्राइव करने की आवश्यकता होगी। किसी डिस्क से टकराने पर वीआर रोबोट अपने मार्ग से भटक सकता है। वीआर रोबोट को 100 मिलीमीटर (मिमी) पीछे की ओर चलाने और 0 डिग्री की दिशा में वापस मुड़ने का निर्देश देने के लिए निम्नलिखित ब्लॉक जोड़ें।

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

    डिस्क मूवर प्लेग्राउंड का एक क्लोज-अप साइड व्यू जिसमें नीली डिस्क नीले गोल में रखी है, और वीआर रोबोट नीले गोल के किनारे पर प्लेग्राउंड पर शेष डिस्क की ओर मुंह किए हुए है।
  • ध्यान दें कि प्रोजेक्ट के इस भाग में दूसरा [Repeat until] ब्लॉक कैसे कार्य करता है।
    • जब वीआर रोबोट पर दूरी सेंसर पता लगाता है कि खेल के मैदान की दीवार 200 मिलीमीटर (मिमी) से कम दूरी पर है, तो प्रोजेक्ट [रिपीट अंटिल] ब्लॉक के नीचे स्टैक में अगले ब्लॉक पर चला जाएगा।
    • इस प्रोजेक्ट में, इसका मतलब यह था कि वीआर रोबोट चलना बंद कर देता है और इलेक्ट्रोमैग्नेट को नीले लक्ष्य में गिरा देता है।

इस पाठ के शेष भाग को जारी रखने के लिए अगला बटन चुनें।