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

पाठ 3: अधिक दूरी पर मुड़ना

मोड़ के स्थान पर जाना

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

        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
  • हम अनुमान लगा सकते हैं कि भूलभुलैया में अगली दीवार से हमारे वांछित मोड़ तक की दूरी लगभग 300 मिलीमीटर (मिमी) है। वॉल मेज़ प्लेग्राउंड का ऊपर से लिया गया दृश्य जिसमें रोबोट अपने अंतिम स्थान पर है, और एक काली रेखा उसके आरंभ से लेकर अंत तक के मार्ग को दर्शाती है। रोबोट के सामने से विपरीत दिशा में स्थित दीवार तक की दूरी लगभग 300 मिमी के रूप में अंकित है। 

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

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

वॉल मेज़ प्लेग्राउंड का ऊपर से लिया गया दृश्य, जिसमें वीआर रोबोट अक्षर B के नीचे बाधा वाली दीवार पर फंसा हुआ है। प्लेग्राउंड विंडो के निचले बाएं कोने में स्थित स्टॉप बटन को लाल बॉक्स से हाइलाइट किया गया है।

वीआर रोबोट के किसी विशिष्ट बिंदु पर पहुंचने पर प्रोजेक्ट को रोकना, आपको प्रोजेक्ट को रोककर यह देखने की सुविधा देता है कि दूरी सेंसर वास्तविक समय में क्या मान रिपोर्ट कर रहा है। वॉल मेज़ के मामले में, इस मान का उपयोग ग्रेटर देन (>) ऑपरेटर में वीआर रोबोट को दीवार से अधिक दूरी पर रोकने के लिए किया जा सकता है।
वॉल मेज़ प्लेग्राउंड का ऊपर से लिया गया दृश्य, जिसमें वीआर रोबोट लगभग उस स्थान पर रुका हुआ है जहाँ से उसे दीवार के चारों ओर घूमकर अक्षर B तक जाने वाले मार्ग पर मुड़ना है। प्लेग्राउंड विंडो में डैशबोर्ड खुला हुआ है और दाईं ओर दिखाई गई दूरी का मान 272 मिमी है।

  • अंतिम while लूप तुलना ऑपरेटर में मान को 300 मिलीमीटर (मिमी) में समायोजित करें, जैसा कि नीचे दिखाया गया है। इससे वीआर रोबोट को दीवार से 300 मिलीमीटर से अधिक की दूरी पर भी आगे बढ़ने में मदद मिलेगी। जब यह 300 मिलीमीटर से कम होगा, तो वीआर रोबोट वॉल मेज़ में वांछित मोड़ स्थान पर बाईं ओर मुड़ जाएगा।

        while front_distance.get_distance(MM) > 300:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES) 
  • यदिवॉल मेज़ प्लेग्राउंडपहले से खुला नहीं है, तो उसे लॉन्च करें और प्रोजेक्ट चलाएं। ध्यान दें कि वांछित मोड़ पर वीआर रोबोट बाईं ओर मुड़ जाता है, ताकि वह भूलभुलैया से होते हुए अक्षर 'बी' तक पहुंचने के लिए तैयार हो जाए। वर्कस्पेस में बाईं ओर दिखाए गए प्रोजेक्ट के साथ VEXcode VR और प्लेग्राउंड पर VR रोबोट की अंतिम स्थिति। रोबोट अब नीचे की ओर मुंह किए हुए है, उस खुले रास्ते के भीतर जो अक्षर B की ओर जाएगा, और किसी दीवार से अवरुद्ध नहीं है।
  • इसके बाद, अंतिम turn_for कमांड के बाद, अपने प्रोजेक्ट में निम्नलिखित कमांड जोड़ें, ताकि VR रोबोट अक्षर 'B' की ओर अपने पथ पर आगे बढ़ता रहे। सुनिश्चित करें कि while लूप सही ढंग से इंडेंट किए गए हैं। 
  • 	जबकि front_distance.get_distance(MM) > 50:
            ड्राइवट्रेन.ड्राइव(फॉरवर्ड)
            प्रतीक्षा(5, एमएसईसी)
    
        ड्राइवट्रेन.टर्न_फॉर(राइट, 90, डिग्री)
    
        जबकि front_distance.get_distance(MM) > 50:
            ड्राइवट्रेन.ड्राइव(फॉरवर्ड)
            प्रतीक्षा(5, एमएसईसी)
    
        ड्राइवट्रेन.टर्न_फॉर(राइट, 90, डिग्री)
    
        जबकि front_distance.get_distance(MM) > 50:
            ड्राइवट्रेन.ड्राइव(फॉरवर्ड)
            प्रतीक्षा(5, एमएसईसी)
    
        ड्राइवट्रेन.स्टॉप()
  • यदि वॉल मेज़ प्लेग्राउंड पहले से खुला नहीं है, तो उसे लॉन्च करें और प्रोजेक्ट को फिर से चलाएं।

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

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