पाठ 3: दीवार की भूलभुलैया को सुलझाने के लिए ड्राइवट्रेन कमांड जोड़ना
दीवार भूलभुलैया समस्या का समाधान
अब जबकि वीआर रोबोट 'ए' अक्षर के साथ-साथ भूलभुलैया दीवार खेल के मैदानपर संख्या '2' तक चला गया है, तो आप एक ऐसी परियोजना कैसे बनाएंगे जहां वीआर रोबोट अन्य स्थानों पर चला जाए, जैसे कि अक्षर 'बी' तक? अब तक हमने बम्पर सेंसर से प्राप्त डेटा का उपयोग एक दीवार तक जाने के लिए किया है, फिर अगली दीवार तक जाने के लिए मुड़े हैं। अक्षर 'बी' तक जाने के लिए, हमें वीआर रोबोट को भूलभुलैया की सतह के बीच में एक बिंदु पर ले जाने में सक्षम होना होगा, ताकि वह हमारे गंतव्य की ओर एक अलग रास्ते पर जा सके।
यदि कोड में केवल ड्राइवऔर टर्न_फॉरकमांड शामिल होते, तो वीआर रोबोट दीवार भूलभुलैया के संख्या '2' खंड में "फंस" सकता था, क्योंकि यह बिना पीछे हटे बाएं या दाएं मुड़ता रहेगा।
इसके बजाय, हम यह अनुमान लगा सकते हैं कि वीआर रोबोट ने जिस अंतिम दीवार को छुआ था, उससे लेकर उस स्थान तक की दूरी कितनी है जहां उसे मुड़ना है। फिर हम भूलभुलैया को हल करने के लिए अपने प्रोजेक्ट मेंwhileलूप्स और बम्पर सेंसर डेटा के साथ ड्राइवट्रेन कमांड का उपयोग कर सकते हैं, जैसेdrive_forऔरturn_for!
-
अपने पिछले प्रोजेक्ट को संशोधित करके शुरू करें, एक नया प्रोजेक्ट बनाएं, या "कॉपी करें" का चयन करें और इस कोड को इस बेस प्रोजेक्ट से मिलान करने के लिए 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() - उपरोक्त परियोजना वीआर रोबोट को अक्षर 'बी' तक ले जाने से शुरू होती है, हालांकि, ऐसा करने के लिए वीआर रोबोट को पहले पीछे जाना होगा और फिर बाएं मुड़ना होगा।

- stop कमांड को हटाकर और उसके स्थान परdrive_forऔर turn_for कमांड रखकर कोड को संपादित करें।
- हम अनुमान लगा सकते हैं कि वीआर रोबोट को लगभग 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, MM) drivetrain.turn_for(बाएँ, 90, डिग्री)
- यदि यह पहले से खुला नहीं है तो वॉल भूलभुलैया खेल का मैदान लॉन्च करें और प्रोजेक्ट चलाएं।
-
इन कमांडों को जोड़ने से वीआर रोबोट अक्षर 'बी' को चलाने के लिए सही दिशा में अग्रसर हो जाएगा।

- खेल के मैदान को रीसेट करने और वीआर रोबोट को प्रारंभिक स्थिति में वापस ले जाने के लिए "रीसेट" बटन का चयन करें।
-
अब जबकि वीआर रोबोट सही दिशा में उन्मुख है, अंतिम turn_for कमांड के नीचे निम्नलिखित कमांड जोड़ें, वीआर रोबोट को दीवार भूलभुलैया खेल का मैदानपर अक्षर 'बी' तक ले जाने के लिए। सुनिश्चित करें कि आपके प्रोजेक्ट में कमांड सही ढंग से इंडेंट किए गए हैं।
जब left_bumper.pressed नहीं है: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) जब left_bumper.pressed नहीं है: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) जब left_bumper.pressed नहीं है: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - यदि यह पहले से खुला नहीं है तो वॉल मेज़ प्लेग्राउंड लॉन्च करें और प्रोजेक्ट चलाएं।
-
वीआर रोबोट अब दीवार भूलभुलैया खेल का मैदानपर अक्षर 'बी' तक ड्राइव करेगा।

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

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