Skip to main content

പാഠം 3: '31' എന്ന നമ്പറിലേക്ക് ഡ്രൈവ് ചെയ്യുക

ഈ പാഠത്തിൽ, VR റോബോട്ട് '31' എന്ന നമ്പറിലേക്ക് ഡ്രൈവ് ചെയ്യുകയും പിന്നീട് നമ്പർ ഗ്രിഡ് മാപ്പ് പ്ലേഗ്രൗണ്ട്-ൽ '1' എന്ന നമ്പറിലേക്ക് തിരികെ പോകുകയും ചെയ്യും!

നമ്പർ ഗ്രിഡ് മാപ്പ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, ചുവന്ന ബോക്സിൽ 31 എന്ന നമ്പർ ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു. VR റോബോട്ട് ഒന്നാം നമ്പറിൽ നിന്നാണ് ആരംഭിക്കുന്നത്, 31-ാം നമ്പർ ചതുരം അതിന് മൂന്ന് ഇടങ്ങൾ മുകളിലാണ്.

ശ്രദ്ധിക്കുക, VR റോബോട്ട് നമ്പർ ഗ്രിഡ് മാപ്പ് പ്ലേഗ്രൗണ്ട്ലെ '31' എന്ന നമ്പറിലേക്ക് നീങ്ങാൻ Y അക്ഷത്തിലൂടെ സഞ്ചരിക്കും.

നമ്പർ ഗ്രിഡ് മാപ്പ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, ഒരു ബ്ലാക്ക് ബോക്സ് ഉപയോഗിച്ച് നമ്പർ 31 സ്പേസ് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു. Y അക്ഷത്തിലുടനീളമുള്ള അളവുകളെ ഒരു രേഖ സൂചിപ്പിക്കുന്നു, ആദ്യ ഇടം Y അക്ഷത്തിൽ -900 മില്ലിമീറ്ററും അടുത്തത് -700 ഉം ആണ്, ഓരോ തവണയും 200 എണ്ണുന്നത് തുടരുന്നു. 31 എന്ന സംഖ്യ -300 മില്ലിമീറ്റർ Y സ്ഥാനത്താണുള്ളത്.

നമ്പർ ഗ്രിഡ് മാപ്പ് പ്ലേഗ്രൗണ്ട്ലെ '31' എന്ന നമ്പറിന്റെ സ്ഥാനത്തേക്ക് VR റോബോട്ട് ഡ്രൈവ് ചെയ്യും. എന്നിരുന്നാലും, വിആർ റോബോട്ടിന് ആ നമ്പറിലേക്ക് നാവിഗേറ്റ് ചെയ്യാൻ കഴിയുന്നതിന് മുമ്പ്, ആ നമ്പറിന്റെ സ്ഥാനം എവിടെയാണെന്ന് വിആർ റോബോട്ടിനോട് പറയേണ്ടതുണ്ട്. '31' എന്ന സംഖ്യയുടെ നിർദ്ദേശാങ്കങ്ങൾ (-900, -300) ആണ്.

നമ്പർ ഗ്രിഡ് മാപ്പ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, രണ്ട് അച്ചുതണ്ട് സൂചകങ്ങൾ നമ്പർ 31 സ്ഥലത്തിന്റെ സ്ഥാനം അടയാളപ്പെടുത്തുന്നു. VR റോബോട്ട് -900 X ഉം -900 Y ഉം ആണ് ആരംഭിക്കുന്നത്, അതേസമയം 31-ാം നമ്പർ സ്ഥലം -900 X ഉം -300 Y ഉം ആണ്.
  • [ഡ്രൈവ്] നോൺ-വെയ്റ്റിംഗ് ബ്ലോക്ക് വർക്ക്‌സ്‌പെയ്‌സിലേക്ക് വലിച്ചിടുക.

    ഒരു പുതിയ VEXcode VR ബ്ലോക്ക് പ്രോജക്റ്റ്, When Started ബ്ലോക്കിൽ നിന്ന് ആരംഭിച്ച് തുടർന്ന് ഒരു ഡ്രൈവ് ഫോർവേഡ് ബ്ലോക്കിൽ ആരംഭിക്കുന്നു.
  • [ഡ്രൈവ്] ബ്ലോക്കിന് താഴെ ഒരു [വരെ കാത്തിരിക്കുക] ബ്ലോക്ക് അറ്റാച്ചുചെയ്യുക.

    VEXcode VR ബ്ലോക്ക്സ് പ്രോജക്റ്റിന്റെ തുടർച്ച, ഇപ്പോൾ ഡ്രൈവ് ഫോർവേഡ് ബ്ലോക്കിന് ശേഷം ഒരു Wait Until ബ്ലോക്ക് ചേർത്തിരിക്കുന്നു. മുഴുവൻ പ്രോജക്റ്റും ഇപ്പോൾ 'When Started, Drive Forward and Wait Until' എന്നാണ് വായിക്കുന്നത്. Wait Until ബ്ലോക്കിൽ ഒരു ശൂന്യമായ ബൂളിയൻ പാരാമീറ്റർ ഉണ്ട്.
  • <Greater than> ബൂളിയൻ റിപ്പോർട്ടർ ബ്ലോക്ക് [Wait until] ബ്ലോക്കിലേക്ക് വലിച്ചിടുക.

    VEXcode VR ബ്ലോക്ക്സ് പ്രോജക്റ്റിന്റെ തുടർച്ച, ഇപ്പോൾ Wait Until ബ്ലോക്കിൽ ഒരു Greater Than ബ്ലോക്ക് ചേർത്തിരിക്കുന്നു. മുഴുവൻ പ്രോജക്റ്റും ഇപ്പോൾ 'When Started, Drive Forward' എന്ന വാക്ക് വായിക്കുന്നു, തുടർന്ന് 'Wait Until' എന്ന വാക്ക് വായിക്കുന്നു, തുടർന്ന് 'Greater Than' എന്ന വാക്ക് വായിക്കുന്ന ഒരു ബ്ലോക്ക് ഉണ്ട്, അതിൽ 'blank is Greater Than 50' എന്ന വാക്ക് വായിക്കുന്നു.
  • VR റോബോട്ട് പ്ലേഗ്രൗണ്ടിന്റെ അടിയിൽ നിന്ന് മുകളിലേക്ക് ഓടുന്നതിനാൽ <Less than> ബ്ലോക്കിന് പകരം <Greater than> ബ്ലോക്ക് ഉപയോഗിച്ചിരിക്കുന്നു എന്നത് ശ്രദ്ധിക്കുക. VR റോബോട്ട് -900 മില്ലിമീറ്റർ (മില്ലീമീറ്റർ) എന്ന Y-മൂല്യത്തിൽ നിന്നാണ് ആരംഭിക്കുന്നത്. VR റോബോട്ട് മുന്നോട്ട് പോകുമ്പോൾ, Y-മൂല്യങ്ങൾ വർദ്ധിക്കുന്നു.

    നമ്പർ ഗ്രിഡ് മാപ്പ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള അതേ കാഴ്ച, മുമ്പത്തെ നമ്പർ 31 സ്ഥലത്തിന്റെ സ്ഥാനം അടയാളപ്പെടുത്തുന്ന രണ്ട് അച്ചുതണ്ട് സൂചകങ്ങളോടെ. VR റോബോട്ട് -900 X ഉം -900 Y ഉം ആണ് ആരംഭിക്കുന്നത്, അതേസമയം 31-ാം നമ്പർ സ്ഥലം -900 X ഉം -300 Y ഉം ആണ്.
  • (റോബോട്ടിന്റെ സ്ഥാനം) ബ്ലോക്ക് <Greater than> ബ്ലോക്കിലേക്ക് വലിച്ചിടുക.

    VEXcode VR ബ്ലോക്ക്സ് പ്രോജക്റ്റിന്റെ തുടർച്ച, ഇപ്പോൾ ഗ്രേറ്റർ ദാൻ ബ്ലോക്കിലേക്ക് റോബോട്ട് ബ്ലോക്കിന്റെ ഒരു സ്ഥാനം ചേർത്തിരിക്കുന്നു. മുഴുവൻ പ്രോജക്റ്റും ഇപ്പോൾ "When Started, Drive Forward and Wait Until X" എന്ന് വായിക്കുന്നു. മില്ലിമീറ്ററിൽ റോബോട്ടിന്റെ സ്ഥാനം 50-നേക്കാൾ വലുതാണ്.
  • (റോബോട്ട് സ്ഥാനം) ബ്ലോക്കിന്റെ പാരാമീറ്റർ “Y” ആയും <Greater than> ബ്ലോക്കിന്റെ പാരാമീറ്റർ -300 ആയും സജ്ജമാക്കുക.

    VEXcode VR ബ്ലോക്ക് പ്രോജക്റ്റിന്റെ തുടർച്ചയാണിത്, ഇപ്പോൾ റോബോട്ട് ബ്ലോക്കിന്റെ അച്ചുതണ്ടിന്റെ സ്ഥാനം X ൽ നിന്ന് Y യിലേക്കും ഗ്രേറ്റർ ദാൻ ബ്ലോക്കിന്റെ രണ്ടാമത്തെ പാരാമീറ്റർ 50 ൽ നിന്ന് -300 ആയും മാറി. മുഴുവൻ പ്രോജക്റ്റും ഇപ്പോൾ "When Started, Drive Forward and Wait Until Y Position in millimetre is Greater Than -300" എന്ന് വായിക്കുന്നു.
  • ഒരു [സ്റ്റോപ്പ് ഡ്രൈവിംഗ്] ബ്ലോക്ക് ഡ്രാഗ് ചെയ്ത് പ്രോജക്റ്റിലേക്ക് ചേർക്കുക.

    വെയ്റ്റ് അൺടിൽ ബ്ലോക്കിന് താഴെയായി ഒരു സ്റ്റോപ്പ് ഡ്രൈവിംഗ് ബ്ലോക്ക് ചേർത്തിരിക്കുന്ന, VEXcode VR ബ്ലോക്ക് പ്രോജക്റ്റിന്റെ തുടർച്ചയാണിത്. മുഴുവൻ പ്രോജക്റ്റും ഇപ്പോൾ "When Started, Drive Forward and Wait Until Y Position in millimetre is Greater Than -300" എന്ന് വായിക്കുന്നു. അവസാനമായി, ഡ്രൈവിംഗ് നിർത്തുക.
  • നമ്പർ ഗ്രിഡ് മാപ്പ് പ്ലേഗ്രൗണ്ട് തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
  • നമ്പർ ഗ്രിഡ് മാപ്പ് പ്ലേഗ്രൗണ്ട്ൽ '31' എന്ന നമ്പറിലേക്ക് VR റോബോട്ട് ഡ്രൈവ് ചെയ്യുന്നത് കാണുക.

    നമ്പർ ഗ്രിഡ് മാപ്പ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, 31-ാം നമ്പർ സ്ഥലത്ത് VR റോബോട്ട് ഇരിക്കുന്നു.
  • ഈ പ്രോജക്റ്റിൽ, VR റോബോട്ട് നമ്പർ ഗ്രിഡ് മാപ്പ് പ്ലേഗ്രൗണ്ട്ലെ '31' എന്ന നമ്പറിലേക്ക് ഡ്രൈവ് ചെയ്യുന്നു. VR റോബോട്ട് '31' എന്ന സംഖ്യയിലേക്ക് നീങ്ങുമ്പോൾ Y-മൂല്യങ്ങൾ വർദ്ധിക്കുന്നതിനാൽ, പ്രോജക്റ്റ് ഒരു <Greater than> ബ്ലോക്ക് ഉപയോഗിക്കുന്നു.
  • സൂചിപ്പിച്ചിരിക്കുന്ന സംഖ്യ ഓണായിരിക്കുന്ന കോർഡിനേറ്റിന്റെ Y-മൂല്യത്തേക്കാൾ കൂടുതലാകുമ്പോൾ VR റോബോട്ട് നിർത്തും. '31' എന്ന സംഖ്യയുടെ Y- മൂല്യം -300 ആയതിനാൽ, Y- മൂല്യം -300 ൽ കൂടുതലാകുമ്പോൾ VR റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തും.
VEXcode VR ബ്ലോക്ക്സ് പ്രോജക്റ്റിലെ യുക്തിയുടെ ഒഴുക്ക് ദൃശ്യവൽക്കരിക്കുന്ന ഒരു ഡയഗ്രം. ഈ പ്രോജക്റ്റ് ഒരു 'When Started' ബ്ലോക്കിൽ ആരംഭിച്ച് മുന്നോട്ട് ഡ്രൈവ് ചെയ്യാൻ തുടങ്ങുന്നു, കൂടാതെ റോബോട്ട് സെൻസറിന്റെ Y പൊസിഷന്റെ സ്ഥാനം മില്ലിമീറ്ററിൽ -300 ൽ കൂടുതലാകുന്നതുവരെ ആ കമാൻഡ് നിലനിർത്തുന്നു, അതിനുശേഷം ഒരു സ്റ്റോപ്പ് ഡ്രൈവിംഗ് ബ്ലോക്ക് ഡ്രൈവ് ഫോർവേഡ് കമാൻഡ് അവസാനിപ്പിക്കുന്നു.

സ്വിച്ച് ബ്ലോക്കുകൾ ഉപയോഗിക്കുന്നു 

ഈ പാഠത്തിൽ, അടുത്ത പെരുമാറ്റത്തിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ്, Y-അക്ഷത്തിൽ -300-ൽ കൂടുതൽ സ്ഥാനത്ത് റോബോട്ട് എത്തുന്നതുവരെ കാത്തിരിക്കാൻ റോബോട്ടിനോട് കമാൻഡ് ചെയ്യുന്നതിന് ബൂളിയൻ അവസ്ഥയുള്ള VEXcode [Wait until] ബ്ലോക്ക് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നിങ്ങൾ പഠിച്ചു.

താഴെയുള്ള ചിത്രത്തിൽ, അതേ പെരുമാറ്റങ്ങൾക്കായി പൈത്തൺ കമാൻഡ് അടങ്ങിയിരിക്കുന്ന സ്വിച്ച് ബ്ലോക്കിന് സമീപമുള്ള VEXcode ബ്ലോക്ക് കാണിക്കുന്നു. 

ഒരു VEXcode VR Wait Until ബ്ലോക്കിന്റെയും അതിന്റെ അനുബന്ധ സ്വിച്ച് ബ്ലോക്കിന്റെയും താരതമ്യം. VR ബ്ലോക്കിൽ 'Wait Until Y പൊസിഷൻ ഓഫ് റോബോട്ടിന്റെ മില്ലിമീറ്റർ -300 നെക്കാൾ വലുതാണ്' എന്ന് എഴുതിയിരിക്കുന്നു. സ്വിച്ച് ബ്ലോക്കിന്റെ പൈത്തൺ കോഡ് 'while not location.position(Y, MM) > -300: wait(5, MSEC)' എന്ന് വായിക്കുന്നു. while not എന്നതിന് താഴെയായി wait കമാൻഡ് ഇൻഡന്റ് ചെയ്തിരിക്കുന്നു.സ്വിച്ച് ബ്ലോക്കിനുള്ളിൽ, location.position(Y, MM) അല്ലെങ്കിലും > -300:എന്നത് X-അക്ഷത്തിൽ റോബോട്ടിന്റെ സ്ഥാനം -300 നേക്കാൾ വലുതാണോ എന്ന് പരിശോധിക്കുന്ന ആദ്യത്തെ പൈത്തൺ കമാൻഡ് ആണ്.

രണ്ടാമത്തെ ഇൻഡന്റ് ചെയ്ത കമാൻഡ്,wait (5, MSEC),കണ്ടീഷണൽ ലൂപ്പിന്റെ എക്സിക്യൂഷൻ 5 മില്ലിസെക്കൻഡ് നേരത്തേക്ക് താൽക്കാലികമായി നിർത്തുന്നു.

VEXcode VR-ൽ, കണ്ടീഷണൽ ലൂപ്പിനൊപ്പം എപ്പോഴും wait കമാൻഡ് ചേർക്കുന്നു. VEXcode VR പ്ലാറ്റ്‌ഫോമിന്റെ വെബ് അധിഷ്ഠിത സ്വഭാവം കാരണം, VEXcode VR-ന് ഉദ്ദേശിച്ച രീതിയിൽ പ്രോജക്റ്റ് ശരിയായി പ്രവർത്തിപ്പിക്കാൻ കഴിയുമെന്ന് ഉറപ്പാക്കുക എന്നതാണ് wait കമാൻഡിന്റെ ലക്ഷ്യം. ഒരു കണ്ടീഷണൽ ലൂപ്പ് ഉപയോഗിക്കുമ്പോൾ wait കമാൻഡ് ഒരിക്കലും ഇല്ലാതാക്കരുത്, അല്ലെങ്കിൽ നിങ്ങളുടെ പ്രോജക്റ്റ് ഉദ്ദേശിച്ച രീതിയിൽ പ്രവർത്തിച്ചേക്കില്ല. 

ഈ ഉദാഹരണത്തിൽ, റോബോട്ടിന്റെ സ്ഥാനം ഓരോ 5 MSec-ലും -300 എന്ന Y മൂല്യത്തേക്കാൾ വലുതാണോ എന്ന് പ്രോജക്റ്റ് പരിശോധിക്കുന്നു. ഈ കോഡ് ലൈൻ കോഡിന്റെ ആദ്യ വരിയുടെ അടിയിൽ ഇൻഡന്റ് ചെയ്തിരിക്കുന്നു, കാരണം ഈ കമാൻഡ് അവസ്ഥ (-300 ൽ കൂടുതലുള്ള ഒരു Y കോർഡിനേറ്റ് മൂല്യം) പാലിക്കുന്നതുവരെ ആവർത്തിക്കുന്ന സ്വഭാവമാണ്. 

ഈ പാഠത്തിന്റെ ബാക്കി ഭാഗം തുടരാൻ അടുത്തത് ബട്ടൺ തിരഞ്ഞെടുക്കുക.