पाठ 2: नंबर '5' तक ड्राइव करें
इस पाठ में, वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंड पर नंबर '5' तक जाएगा और वापस नंबर '1' पर आएगा!

ध्यान दें कि वीआर रोबोट एक्स अक्ष के साथ यात्रा करेगा और एक्स मान बढ़ते हुए नंबर ग्रिड मैप प्लेग्राउंड पर '5' नंबर तक पहुंचेंगे।

वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंड पर '5' नंबर के स्थान पर जाएगा। हालांकि, वीआर रोबोट द्वारा उस संख्या तक पहुंचने से पहले, उसे यह बताना होगा कि वह संख्या कहां स्थित है। खेल के मैदान के केंद्र से शुरू करते हुए, संख्या '5' के निर्देशांक (-100, -900) हैं।

- सबसे पहले, वीआर रोबोट का मुख '5' की ओर होना चाहिए। turn_for कमांड को ड्रैग करें या टाइप करें।
# प्रोजेक्ट कोड को "main" में जोड़ें
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)- कमांडwhile लूप को खींचें आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:
# प्रोजेक्ट कोड को "main" में जोड़ें
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while condition:
wait(5, MSEC)- डिस्टेंस सेंसर यूनिट की तरह ही, यह प्रोजेक्ट नंबर ग्रिड मैप प्लेग्राउंड को नेविगेट करने के लिए तुलना ऑपरेटर के साथ लोकेशन सेंसर की स्थिति का उपयोग करेगा। while लूप के लिए शर्त को अक्ष में कमांड स्थितिमिलीमीटर (mm) से कम पर सेट करें आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:
# प्रोजेक्ट कोड को "main" में जोड़ें
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
wait(5, MSEC)- नॉन-वेटिंग ड्राइव कमांड को व्हाइल लूप के अंदर ड्रैग या टाइप करें। आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:
# प्रोजेक्ट कोड को "main" में जोड़ें
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)- ध्यान दें कि ग्रेटर दैन ऑपरेटर के बजाय लेस दैन ऑपरेटर का उपयोग किया गया है क्योंकि वीआर रोबोट प्लेग्राउंड के बाईं ओर से दाईं ओर जा रहा है। वीआर रोबोट -900 मिलीमीटर (मिमी) के एक्स-मान से शुरू होता है। जैसे-जैसे वीआर रोबोट आगे बढ़ता है, एक्स-मान बढ़ता जाता है, और इस प्रकार रोबोट तब तक आगे बढ़ता रहेगा जब तक एक्स-मान -100 से कम है।

आपकी जानकारी के लिए
आपको अपने प्रोजेक्ट में किस तुलना ऑपरेटर का उपयोग करना है, यह चुनना होगा, यह इस बात पर निर्भर करेगा कि आप वीआर रोबोट को एक्स या वाई अक्ष के साथ किस दिशा में यात्रा कराना चाहते हैं। जब वीआर रोबोट एक बड़े मान की ओर बढ़ रहा होता है, तो लेस दैन (<) ऑपरेटर का उपयोगव्हाइल लूप के साथ किया जाएगा; और जब वीआर रोबोट एक छोटे मान की ओर यात्रा कर रहा होता है, तो ग्रेटर दैन (>) ऑपरेटर का उपयोगव्हाइल लूप के साथ किया जाएगा।
यह खेल के मैदान को देखते समय बाएं और दाएं की गतिविधियों के अनुरूप है। यदि वीआर रोबोट बाएं से दाएं या नीचे से ऊपर (बड़े मान) की ओर बढ़ रहा है, तो लक्ष्य मान से कम की स्थिति में उसे चलाने के लिए 'लेस दैन' ऑपरेटर का उपयोग किया जाता है।
यदि वीआर रोबोट दाएं से बाएं या ऊपर से नीचे (छोटे मान) की ओर बढ़ रहा है, तो ग्रेटर दैन ऑपरेटर का उपयोग तब किया जाता है जब स्थिति लक्ष्य मान से अधिक हो।
तुलना ऑपरेटरों का उपयोग करते हुए, वीआर रोबोट तब यात्रा करेगा जब स्थान सेंसर द्वारा रिपोर्ट किया गया मान थ्रेशोल्ड मान से अधिक (>) या कम (<) होगा। इस उदाहरण में, वीआर रोबोट एक्स-अक्ष पर धनात्मक 500 मिलीमीटर (मिमी) तक नेविगेट करेगा। वीआर रोबोट तब चलेगा जब एक्स-अक्ष पर स्थिति 0 से लेकर +499 तक कहीं भी होगी। जब लोकेशन सेंसर रिपोर्ट करता है किस्थिति 501 या उससे अधिक है, तो वीआर रोबोट चलना बंद कर देगा।
# प्रोजेक्ट कोड को "main" में जोड़ें
def main():
monitor_sensor(location.position)
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()ध्यान दें कि लोकेशन सेंसर द्वारा रिपोर्ट किया गया मान ठीकनहीं बल्कि मिलीमीटर (मिमी) है। डिस्टेंस सेंसर की तरह, तुलना ऑपरेटरों का उपयोग इसलिए किया जाता है क्योंकि वीआर रोबोट को प्रोजेक्ट के माध्यम से पुनरावृति करने और मानों की रिपोर्ट करने में समय लगता है।
- लूप के बाहर स्टॉप कमांड को ड्रैग करें या टाइप करें जबकि। आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:
# प्रोजेक्ट कोड को "main" में जोड़ें
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()- यदि प्लेग्राउंड विंडोपहले से खुली नहीं है, तो उसे खोलें। सुनिश्चित करें किनंबर ग्रिड मैप प्लेग्राउंडखुल जाए, और प्रोजेक्ट को चलाएं।
- वीआर रोबोट को नंबर ग्रिड मैप प्लेग्राउंड पर नंबर '5' तक ड्राइव करते हुए देखें।

- इस प्रोजेक्ट में, वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंड पर नंबर '5' तक ड्राइव करता है। while लूप का उपयोग इसलिए किया जाता है ताकि वीआर रोबोट तब तक आगे बढ़ता रहे जब तक कि एक्स-वैल्यू उस निर्देशांक के एक्स-वैल्यू से कम न हो जिस पर संकेतित संख्या स्थित है।
- एक बार जब X का मान -100 से अधिक हो जाता है, तो प्रोजेक्ट लूप के बाहर अगले कमांड पर चला जाता है, जो कि स्टॉप कमांड है। चूंकि संख्या '5' का X-मान -100 है, इसलिए X-मान -100 से अधिक होने पर VR रोबोट चलना बंद कर देगा।

आपकी जानकारी के लिए
ध्यान दें कि लोकेशन सेंसर द्वारा रिपोर्ट किया गया मानबिल्कुल बराबर नहीं हो सकता है, यहमिलीमीटर (मिमी) के बीच हो सकता है। डिस्टेंस सेंसर की तरह, तुलना ऑपरेटरों का उपयोग इसलिए किया जाता है क्योंकि वीआर रोबोट को प्रोजेक्ट के माध्यम से पुनरावृति करने और मानों की रिपोर्ट करने में समय लगता है।
VEXcode VR Python में, आप अपने प्रोजेक्ट मेंसे बड़ा याके बराबर (>=) या से छोटा याके बराबर (<=) तुलना ऑपरेटर का उपयोग करके अपनी गतिविधियों में अतिरिक्त सटीकता प्राप्त कर सकते हैं।
# प्रोजेक्ट कोड को "main" में जोड़ें
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position(X, MM) <= -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()वीआर रोबोट के वेग और लूप के माध्यम से प्रोजेक्ट कितनी तेज़ी से चलता है, इस पर निर्भर करते हुए, आप देख सकते हैं कि जब ऑपरेटर में या बराबर (<= या >=) जोड़ा जाता है तो वीआर रोबोट थ्रेशोल्ड मान के करीब रुकने में सक्षम होता है।
इस पाठ के शेष भाग को जारी रखने के लिए अगला बटन चुनें।