പ്രധാന ഉള്ളടക്കത്തിലേക്ക് പോകുക

GPS നാവിഗേഷൻ

ഫീൽഡിലെ ഒരു പ്രത്യേക സ്ഥാനത്തേക്ക് ഹീറോ ബോട്ടിനെ നാവിഗേറ്റ് ചെയ്യാൻ ഒരു അൽഗോരിതം സൃഷ്ടിക്കുക. ചുവപ്പിൽ ഹൈലൈറ്റ് ചെയ്‌തിരിക്കുന്ന ട്രൈബോൾ എടുക്കുന്നതിന് (1380,-1380) എന്ന സ്ഥലത്തേക്ക് ഹീറോ ബോട്ട് ഡ്രൈവ് ചെയ്യുന്നതിന് [Drive for], [Turn to heading] ബ്ലോക്കുകൾ, GPS സെൻസർ, ആം മോട്ടോർ, Intake മോട്ടോർ എന്നിവ ഉപയോഗിക്കുക. തുടർന്ന് (600,-300) എന്ന സ്ഥലത്തേക്ക് റോബോട്ടിനെ ഓടിച്ച് റെഡ് അലയൻസ് ഗോളിൽ ട്രൈബോൾ സ്കോർ ചെയ്യുക.

  • വിആർസി വെർച്വൽ സ്കിൽസ് - ഓവർ അണ്ടർ പ്ലേഗ്രൗണ്ട് തിരഞ്ഞെടുക്കുക.
  • സ്റ്റാർട്ടിംഗ് ലൊക്കേഷൻ “H”, Sടാർട്ടിംഗ് ദിശ “North”, എന്നിവ തിരഞ്ഞെടുക്കാൻ പ്രീ-മാച്ച് ചെക്ക്‌ലിസ്റ്റ് ഉപയോഗിക്കുക. റോബോട്ടിനായി റോബോട്ട് പ്രീലോഡ് “No”.
  • റോബോട്ടിനെ ഒരു പ്രത്യേക സ്ഥാനത്തേക്ക് നാവിഗേറ്റ് ചെയ്യുന്നതിന് ഒരു അൽഗോരിതം സൃഷ്ടിക്കുക.
  • ഫീൽഡിൽ ഒരു ട്രൈബോൾ എടുക്കുന്നതിനായി ആം മോട്ടോർ പൂർണ്ണമായും താഴ്ത്താൻ ആം റോബോട്ടിനെ കോഡ് ചെയ്യുക.
  • റോബോട്ടിനെ കോർഡിനേറ്റുകളിലേക്ക് (1380, -1380) നാവിഗേറ്റ് ചെയ്യാൻ അൽഗോരിതം ഉപയോഗിക്കുക, റോബോട്ടിനെ ഹെഡിംഗ് 135 ഡിഗ്രിയിലേക്ക് തിരിക്കുക.
  • ചുവപ്പിൽ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്ന ഗ്രീൻ ട്രൈബോൾ എടുക്കാൻ ഇൻടേക്ക് മോട്ടോർ കറക്കാൻ റോബോട്ടിനെ കോഡ് ചെയ്യുക.
  • റോബോട്ടിനെ കോർഡിനേറ്റുകളിലേക്ക് (600, -300) നാവിഗേറ്റ് ചെയ്യാൻ അൽഗോരിതം ഉപയോഗിക്കുക, റോബോട്ടിനെ ഹെഡിംഗ് 90 ഡിഗ്രിയിലേക്ക് തിരിക്കുക.
  • റെഡ് അലയൻസ് ലക്ഷ്യത്തിലേക്ക് ട്രൈബോൾ വിക്ഷേപിക്കുന്നതിന് ഇൻടേക്ക് മോട്ടോർ കറക്കാൻ റോബോട്ടിനെ കോഡ് ചെയ്യുക. 

സഹായകരമായ സൂചനകൾ

  • ഫീൽഡിലെ ഹീറോ ബോട്ടിന്റെ X, Y കോർഡിനേറ്റുകൾ തിരിച്ചറിയാൻ GPS സെൻസർ ഉപയോഗിക്കുക. വിആർസി ഓവർ അണ്ടർ പ്ലേഗ്രൗണ്ടിൽ ജിപിഎസ് സെൻസർ ഉപയോഗിക്കുന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, ദയവായി ഇവിടെ ക്ലിക്ക് ചെയ്യുക.
  • GPS സെൻസറിൽ നിന്ന് പൊസിഷണൽ മൂല്യങ്ങൾ ലഭിക്കുന്നതിന് സെൻസിംഗ് വിഭാഗത്തിലെ റിപ്പോർട്ടർ ബ്ലോക്കുകൾ ഉപയോഗിക്കുക.

    mm' ൽ 'GPS സ്ഥാനം X എന്ന് കാണുന്ന VEXcode GPS പൊസിഷൻ ബ്ലോക്ക്.

    mm' ൽ 'GPS സ്ഥാനം Y എന്ന് കാണുന്ന VEXcode GPS പൊസിഷൻ ബ്ലോക്ക്.

    • പൊരുത്തപ്പെടുന്ന പൈത്തൺ കമാൻഡ്:

      gps.x_position(MM)
      gps.y_position(MM)
  • ഹീറോ ബോട്ടിന്റെ യഥാർത്ഥ X, Y കോർഡിനേറ്റുകൾ സംഭരിക്കുന്നതിന് രണ്ട് വേരിയബിളുകൾ പ്രഖ്യാപിക്കാൻ വേരിയബിളുകൾ വിഭാഗത്തിൽ നിന്നുള്ള സെറ്റ് ബ്ലോക്കുകൾ ഉപയോഗിക്കുക.

    VEXcode ന്റെ സ്റ്റാക്ക് വേരിയബിൾ ബ്ലോക്കുകൾ സജ്ജമാക്കുക. ആദ്യത്തെ ബ്ലോക്ക് mm' -ൽ GPS സ്ഥാനം X-ലേക്ക് 'സെറ്റ് X1 എന്ന് കാണിക്കുന്നു. രണ്ടാമത്തെ ബ്ലോക്ക് mm' -ൽ GPS സ്ഥാനം Y-ലേക്ക് 'സെറ്റ് Y1 എന്ന് കാണിക്കുന്നു.

    • പൊരുത്തപ്പെടുന്ന പൈത്തൺ കമാൻഡ്:

      X1 = gps.x_position(MM)
      Y1 = gps.y_position(MM)
  • ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കുന്നതിനും പ്രോജക്റ്റിൽ ഡാറ്റ സംഭരിക്കുന്നതിനുമുള്ള സഹായത്തിന്, ദയവായി VEXcode VR ലെ “TUTORIALS” ബട്ടൺ തിരഞ്ഞെടുത്ത് ഡാറ്റ സംഭരിക്കൽ തിരഞ്ഞെടുക്കുക.

    VEXcode VR ടൂൾബാറിൽ നിന്നുള്ള ട്യൂട്ടോറിയൽ ഐക്കൺ.

    VEXcode VR ഡാറ്റ സംഭരിക്കുന്നതിനുള്ള ട്യൂട്ടോറിയൽ ഐക്കൺ.

  • VEXcode VR-ലെ വേരിയബിളുകൾക്കുള്ള നാമ നിയമങ്ങളെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, ദയവായി ഈ ലേഖനം കാണുക.
  • ഡ്രൈവ് ഹെഡിംഗ് കണ്ടെത്താൻ റോബോട്ടിന്റെ കോർഡിനേറ്റുകൾ (x1,y1), ലക്ഷ്യ സ്ഥാനത്തിന്റെ കോർഡിനേറ്റുകൾ (x2,y2), ആറ്റൻ ഫംഗ്ഷൻ എന്നിവ ഉപയോഗിക്കുക.
    • ഈ രണ്ട് ബിന്ദുക്കളെയും ബന്ധിപ്പിക്കുന്ന രേഖയുടെ തീറ്റ θ കോൺ കണക്കാക്കുക.

      രണ്ട് ഗണിത എക്സ്പ്രഷനുകളുടെ ഡയഗ്രം. ആദ്യ എക്സ്പ്രഷൻ 'theta 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 ഫംഗ്ഷൻ ബ്ലോക്ക്.

    • പൊരുത്തപ്പെടുന്ന പൈത്തൺ കമാൻഡ്:

      ഗണിതം.ആറ്റൻ( ) / ഗണിതം.പി.ഐ * 180
  • റോബോട്ടിന്റെ കോർഡിനേറ്റുകൾ (x1,y1), ലക്ഷ്യ സ്ഥാനത്തിന്റെ കോർഡിനേറ്റുകൾ (x2,y2), പൈതഗോറിയൻ സിദ്ധാന്തം എന്നിവ ഉപയോഗിച്ച് ഡ്രൈവ് ദൂരം കണ്ടെത്തുക.

    ഗണിത എക്സ്പ്രഷൻ 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' എന്ന് വായിക്കുന്നു.

    രണ്ട് നിർദ്ദേശാങ്കങ്ങൾ തമ്മിലുള്ള വ്യത്യാസം കാണിക്കുന്ന മുമ്പത്തെ അതേ മുകളിൽ നിന്ന് താഴേക്കുള്ള ഡയഗ്രം. റോബോട്ട് കോർഡിനേറ്റിലാണ് (X1, Y1), ഒരു രേഖ കോർഡിനേറ്റിലേക്ക് (X2, Y2) ചൂണ്ടിക്കാണിക്കുന്നു. ദൂരം d എന്ന വേരിയബിൾ ഉപയോഗിച്ചും, ആംഗിൾ തീറ്റ എന്ന വേരിയബിൾ ഉപയോഗിച്ചും ലേബൽ ചെയ്തിരിക്കുന്നു. ബിന്ദുക്കൾ തമ്മിലുള്ള തിരശ്ചീന ദൂരം 'x2 - x1'എന്നും ലംബ ദൂരം 'y2 - y1' എന്നും പ്രതിനിധീകരിക്കുന്നു.

  • ഡ്രൈവ് ദൂരം കണക്കാക്കാൻ ഓപ്പറേറ്റേഴ്‌സ് വിഭാഗത്തിൽ നിന്ന് ഫംഗ്ഷൻ ബ്ലോക്ക് ഉപയോഗിച്ച് sqrt ഫംഗ്ഷൻ തിരഞ്ഞെടുക്കുക.

    ശൂന്യമായ' ന്റെ 'sqrt എന്ന് വായിക്കുന്ന ശൂന്യമായ VEXcode ഫംഗ്ഷൻ ബ്ലോക്ക്.

    • പൊരുത്തപ്പെടുന്ന പൈത്തൺ കമാൻഡ്:

      ഗണിതം.sqrt( )