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

पाठ 3: वॉल मेज़ को हल करने के लिए ड्राइवट्रेन कमांड जोड़ना

दीवार भूलभुलैया समस्या का समाधान

अब जबकि वीआर रोबोट वॉल प्लेग्राउंडपर अक्षर 'ए' और संख्या '2' तक पहुँच चुका है, तो आप एक ऐसा प्रोजेक्ट कैसे बनाएंगे जिसमें वीआर रोबोट अन्य स्थानों, जैसे कि अक्षर 'बी' तक जाए? अब तक, हमने बम्पर सेंसर से प्राप्त डेटा का उपयोग करके एक दीवार तक गाड़ी चलाई है, फिर अगली दीवार की ओर मुड़ने के लिए इसका इस्तेमाल किया है। अक्षर 'B' तक पहुंचने के लिए, हमें VR रोबोट को भूलभुलैया की सतह के मध्य में एक बिंदु पर ले जाने में सक्षम होना चाहिए, ताकि यह हमारे गंतव्य की ओर एक अलग रास्ते पर चल सके।

यदि कोड में केवल ड्राइवऔर टर्न_फॉरकमांड शामिल हों, तो वीआर रोबोट वॉल मेज़ के '2' सेक्शन में "फंस" सकता है, क्योंकि यह पीछे हटे बिना लगातार बाएं या दाएं मुड़ता रहेगा।वॉल मेज़ प्लेग्राउंड का ऊपर से लिया गया दृश्य जिसमें वीआर रोबोट 2 मार्कर के ऊपर स्थित है। यह ऊपर और बाईं ओर झुका हुआ है, लगभग बी मार्कर की ओर मुख किए हुए है।

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

  • अपने पिछले प्रोजेक्ट में बदलाव करके शुरुआत करें, एक नया प्रोजेक्ट बनाएं, या "कॉपी" चुनें और इस कोड को VEXcode VR में पेस्ट करें ताकि यह इस बेस प्रोजेक्ट से मेल खाए।

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    		
    	drivetrain.stop()
  • ऊपर दिए गए प्रोजेक्ट में वीआर रोबोट को अक्षर 'बी' तक ले जाने का प्रयास किया गया है, हालांकि, ऐसा करने के लिए वीआर रोबोट को पहले पीछे हटना होगा और फिर बाईं ओर मुड़ना होगा।वॉल मेज़ प्लेग्राउंड का ऊपर से लिया गया दृश्य, जिसमें वीआर रोबोट 2 मार्कर के ऊपर स्थित है। वीआर रोबोट बाईं दीवार से सटा हुआ है और उसी ओर मुंह किए हुए है, जबकि हरे तीर दाईं ओर और फिर नीचे की ओर इशारा कर रहे हैं, जो उस रास्ते को दर्शाते हैं जिस पर उसे चलना होगा।
  • कोड को संपादित करें और उसमें से स्टॉप कमांड को हटाकर उसके स्थान परड्राइव_फॉरऔर टर्न_फॉर कमांड डालें।
    • हम अनुमान लगा सकते हैं कि वीआर रोबोट को 300 मिलीमीटर (मिमी) तक पीछे की ओर ड्राइव करने की आवश्यकता है। सबसे पहले, drive_for कमांड के पैरामीटर को 300 मिलीमीटर (मिमी) के लिए "रिवर्स" पर सेट करें।
    • , turn_for कमांड के पैरामीटर को 90 डिग्री बाएँ मुड़ने के लिए सेट करें। अब आपका प्रोजेक्ट इस तरह दिखना चाहिए:

      def main():
      	while not left_bumper.pressed():
      		drivetrain.drive(FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for(LEFT, 90, DEGREES)
      
      	while not left_bumper.pressed():
      		drivetrain.drive(FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for(RIGHT, 90, DEGREES)
      
      	while not left_bumper.pressed():
      		drivetrain.drive(FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.turn_for(LEFT, 90, DEGREES)
      	
      	while not left_bumper.pressed():
      		drivetrain.drive(FORWARD)
      		wait(5, MSEC)
      		
      	drivetrain.drive_for(REVERSE, 300, एमएम)
      	ड्राइवट्रेन.टर्न_फॉर(लेफ्ट, 90, डिग्री)
  • यदि पहले से खुला नहीं है तो वॉल मेज़ प्लेग्राउंड लॉन्च करें और प्रोजेक्ट चलाएं।
  • इन कमांड्स को जोड़ने से वीआर रोबोट सही दिशा में उन्मुख हो जाएगा और अक्षर 'बी' को चला सकेगा।बाईं ओर, पहले दिखाया गया पायथन कोड प्रोजेक्ट है, जो ड्राइवट्रेन.टर्न_फॉर(लेफ्ट, 90, डिग्री) के साथ समाप्त होता है। दाईं ओर, वॉल मेज़ खेल के मैदान का ऊपर से नीचे का दृश्य दिखाता है कि वीआर रोबोट नए कोड के अनुसार स्थानांतरित हो गया है, जो ए और 2 मार्करों के बीच हॉल में स्थित है और अब खेल के मैदान की निचली दीवार की ओर उन्मुख है।

     

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

    	जब तक left_bumper.pressed() नहीं है:
    		ड्राइवट्रेन.ड्राइव(फॉरवर्ड)
    		wait(5, MSEC)
    		
    	ड्राइवट्रेन.टर्न_फॉर(राइट, 90, डिग्री)
    
    	जब तक left_bumper.pressed() नहीं है:
    		ड्राइवट्रेन.ड्राइव(फॉरवर्ड)
    		wait(5, MSEC)
    		
    	ड्राइवट्रेन.टर्न_फॉर(राइट, 90, डिग्री)
    
    	जब तक left_bumper.pressed() नहीं है:
    		ड्राइवट्रेन.ड्राइव(फॉरवर्ड)
    		wait(5, MSEC)
    		
    	ड्राइवट्रेन.स्टॉप()
  • यदि वॉल मेज़ प्लेग्राउंड पहले से खुला नहीं है, तो उसे लॉन्च करें और प्रोजेक्ट चलाएं।
  • वीआर रोबोट अब वॉल मेज़ प्लेग्राउंड पर अक्षर 'बी' तक ड्राइव करेगा।

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

मिनी चैलेंज

इस चुनौती में, वीआर रोबोट को वॉल मेज़ प्लेग्राउंड में '3' नंबर तक नेविगेट करना चाहिएजिसमेंलूप, ड्राइवट्रेन कमांड और बम्पर सेंसर का उपयोग किया गया है।

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

मिनी चैलेंज को पूरा करने के लिए इन चरणों का पालन करें:

  • नीचे दिए गए समाधान वीडियो को देखें और समीक्षा करें कि मिनी चुनौती को पूरा करने के लिए वीआर रोबोट को कैसे चलाना चाहिए। नीचे दिए गए वीडियो क्लिप में, वीआर रोबोट शुरुआती स्थान से शुरू होता है और बम्पर दबाए जाने तक दीवार की ओर ड्राइव करने के उसी पैटर्न का पालन करता है और फिर मुड़ जाता है। रोबोट उसी रास्ते से चलना शुरू करता है, जिस रास्ते से वह अक्षर B तक गया था। दीवार से दूर मुड़ने वाले मोड़ पर, रोबोट दाईं ओर मुड़कर अक्षर 3 की ओर आगे बढ़ता है। उस बिंदु से आगे बढ़ते हुए, रोबोट अगली दीवारों को पार करने के लिए दो बार बाईं ओर मुड़ता है और अक्षर B से आगे निकल जाता है। अंत में, रोबोट आगे बढ़ता है और अंतिम दीवारों को पार करने के लिए दो बार दाईं ओर मुड़ता है और अक्षर 3 तक पहुँच जाता है।

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

बधाई हो! आपने वॉल मेज़ चैलेंज सफलतापूर्वक पूरा कर लिया है!

प्रश्न

पाठ की प्रश्नोत्तरी तक पहुँचने के लिए कृपया नीचे दिए गए लिंक का चयन करें।

गूगल डॉक / .docx / .pdf