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

GPS नेविगेशन

हीरो बॉट को मैदान पर किसी विशिष्ट स्थान पर ले जाने के लिए एक एल्गोरिदम बनाएं। हीरो बॉट को (1380,-1380) पर स्थित स्थिति तक ले जाने के लिए [ड्राइव फॉर] और [टर्न टू हेडिंग] ब्लॉक, जीपीएस सेंसर, आर्म मोटर और इनटेक मोटर का उपयोग करें ताकि लाल रंग में हाइलाइट किए गए ट्राइबॉल को उठाया जा सके। फिर रोबोट को (600,-300) पर स्थित स्थिति तक ले जाएं और रेड एलायंस गोल में ट्राइबॉल स्कोर करें।

  • वीआरसी वर्चुअल स्किल्स - ओवर अंडर प्लेग्राउंड का चयन करें।
  • रोबोट के लिए प्री-मैच चेकलिस्ट का उपयोग करके प्रारंभिक स्थान "एच", एसप्रारंभिक दिशा "उत्तर", और रोबोट प्रीलोड "नहीं" चयन करें।
  • रोबोट को किसी विशिष्ट स्थान पर ले जाने के लिए एक एल्गोरिदम बनाएं।
  • रोबोट को इस तरह कोड करें कि वह आर्म मोटर को घुमाकर आर्म को पूरी तरह नीचे कर दे ताकि वह मैदान पर पड़ी ट्राइबॉल को उठा सके।
  • रोबोट को निर्देशांक (1380, -1380) पर ले जाने के लिए एल्गोरिदम का उपयोग करें और रोबोट को 135 डिग्री की दिशा में मोड़ें।
  • रोबोट को इस तरह कोड करें कि वह इंटेक मोटर को घुमाकर लाल रंग में हाइलाइट की गई हरी ट्राइबॉल को उठा ले।
  • रोबोट को निर्देशांक (600, -300) पर ले जाने के लिए एल्गोरिदम का उपयोग करें और रोबोट को 90 डिग्री की दिशा में मोड़ें।
  • रोबोट को इस प्रकार कोड करें कि वह इंटेक मोटर को घुमाकर ट्राइबॉल को  एलायंस गोल की ओर लॉन्च करे।

सहायक सुझाव

  • मैदान पर हीरो बॉट के X और Y निर्देशांकों की पहचान करने के लिए जीपीएस सेंसर का उपयोग करें। वीआरसी ओवर अंडर प्लेग्राउंड में जीपीएस सेंसर के उपयोग के बारे में अधिक जानकारी के लिए, कृपया यहां करें
  • जीपीएस सेंसर से स्थिति संबंधी मान प्राप्त करने के लिए सेंसिंग श्रेणी से रिपोर्टर ब्लॉक का उपयोग करें।

    VEXcode GPS स्थिति ब्लॉक जो 'GPS स्थिति X को mm' में पढ़ता है।

    VEXcode GPS स्थिति ब्लॉक जो mm' में 'GPS स्थिति Y पढ़ता है।

    • पाइथन कमांड से मिलान:

      जीपीएस.एक्स_पोजिशन(एमएम)
      जीपीएस.वाई_पोजिशन(एमएम)
  • हीरो बॉट के मूल X और Y निर्देशांकों को संग्रहीत करने के लिए दो चर घोषित करने के लिए चर श्रेणी से सेट ब्लॉक का उपयोग करें।

    VEXcode सेट वेरिएबल ब्लॉकों का स्टैक। पहला ब्लॉक पढ़ता है 'सेट X1 को GPS स्थिति X मिमी' में सेट करें। दूसरा ब्लॉक पढ़ता है 'सेट Y1 को GPS स्थिति Y मिमी' में सेट करें।

    • पाइथन कमांड से मिलान:

      X1 = gps.x_position(MM)
      Y1 = gps.y_position(MM)
  • प्रोजेक्ट में वेरिएबल घोषित करने और डेटा स्टोर करने में सहायता के लिए, कृपया VEXcode VR में "ट्यूटोरियल" बटन का चयन करें और डेटा स्टोरिंग ट्यूटोरियल चुनें।

    VEXcode VR टूलबार से ट्यूटोरियल आइकन।

    VEXcode VR में डेटा स्टोर करने के ट्यूटोरियल का आइकन।

  • VEXcode VR में वेरिएबल्स के लिए नाम नियमों के बारे में अधिक जानकारी के लिए, यह लेख देखें
  • रोबोट के निर्देशांक (x1,y1), लक्ष्य स्थिति के निर्देशांक (x2,y2) और atan फ़ंक्शन का उपयोग करके ड्राइव हेडिंग ज्ञात करें।
    • इन दोनों बिंदुओं को जोड़ने वाली रेखा का कोण थीटा θ ज्ञात कीजिए।

      दो गणितीय व्यंजकों का आरेख। पहला व्यंजक इस प्रकार है: 'थीटा बराबर है atan((y2 - y1) / (x2 - x1))'। दूसरा व्यंजक कहता है कि 'ऋणात्मक पाई / 2 थीटा से कम है, जो पाई / 2' से कम है।

      ऊपर से नीचे की ओर बनाया गया गणितीय आरेख रोबोट को निर्देशांक (X1, Y1) पर दर्शाता है और एक रेखा निर्देशांक (X2, Y2) की ओर इंगित करती है। दूरी को चर d से और कोण को चर थीटा से दर्शाया गया है। बिंदुओं के बीच क्षैतिज दूरी को 'x2 - x1'के रूप में दर्शाया जाता है, और ऊर्ध्वाधर दूरी को 'y2 - y1' के रूप में दर्शाया जाता है।

    • कोण थीटा θ को ड्राइव हेडिंग में परिवर्तित करें।

      गणितीय व्यंजक के लिए छद्म कोड उदाहरण (प्रारंभिक दिशा: उत्तर):

      यदि X1, X2 के बराबर है:
      	यदि Y2 > Y1:
      		शीर्षक = 0
      	अन्यथा:
      		शीर्षक = 180
      अन्यथा:
      	यदि X2 > X1:
      		शीर्षक = 90 - atan((Y2 - Y1) / (X2 - X1))
      	अन्यथा:
      		शीर्षक = 270 - atan((Y2 - Y1) / (X2 - X1))
    • ऊपर से नीचे की ओर दिया गया आरेख एक वृत्त के भीतर रोबोट को दर्शाता है, जिस पर वृत्त की'से 360 डिग्री को चिह्नित करने वाले लेबल लगे हुए हैं।
  • ऑपरेटर्स श्रेणी से फ़ंक्शन ब्लॉक का उपयोग करें और कोण थीटा θ की गणना करने के लिए atan फ़ंक्शन का चयन करें।

    खाली VEXcode फ़ंक्शन ब्लॉक जो 'atan of blank' पढ़ता है।

    • पाइथन कमांड से मिलान:

      math.atan( ) / math.pi * 180
  • रोबोट के निर्देशांक (x1,y1), लक्ष्य स्थिति के निर्देशांक (x2,y2) और पाइथागोरस प्रमेय का उपयोग करके ड्राइव दूरी ज्ञात करें।

    गणितीय सूत्र इस प्रकार है: 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)'

    पहले की तरह ही ऊपर से नीचे की ओर का वही आरेख दो निर्देशांकों के बीच का अंतर दर्शाता है। रोबोट निर्देशांक (X1, Y1) पर स्थित है और एक रेखा निर्देशांक (X2, Y2) की ओर इंगित कर रही है। दूरी को चर d से और कोण को चर थीटा से दर्शाया गया है। बिंदुओं के बीच क्षैतिज दूरी को 'x2 - x1'के रूप में दर्शाया जाता है, और ऊर्ध्वाधर दूरी को 'y2 - y1' के रूप में दर्शाया जाता है।

  • ऑपरेटर्स श्रेणी से फ़ंक्शन ब्लॉक का उपयोग करें और ड्राइव दूरी की गणना करने के लिए sqrt फ़ंक्शन का चयन करें।

    खाली VEXcode फ़ंक्शन ब्लॉक जो 'वर्गमूल रिक्त स्थान' पढ़ता है।

    • पाइथन कमांड से मिलान:

      math.sqrt( )