Skip to main content

പാഠം 3: കൂടുതൽ ദൂരത്തേക്ക് തിരിയൽ

ടേണിംഗ് ലൊക്കേഷനിലേക്ക് നാവിഗേറ്റ് ചെയ്യുന്നു

  • അവസാനത്തെ turn_for കമാൻഡിന് ശേഷം, നിങ്ങളുടെ പ്രോജക്റ്റിലേക്ക് ഇനിപ്പറയുന്ന കമാൻഡുകൾ ചേർക്കുക. ലൂപ്പുകളുടെയും ഇൻഡന്റേഷൻ പ്രോജക്റ്റിലുള്ളവയുമായി പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക. നിങ്ങളുടെ നിലവിലുള്ള പ്രോജക്റ്റിലേക്ക് പകർത്തി ഒട്ടിക്കാം, അല്ലെങ്കിൽ വർക്ക്‌സ്‌പെയ്‌സിൽ ടൈപ്പ് ചെയ്യാം.  

        front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
  • അടുത്ത ഭിത്തിയിൽ നിന്ന് മസിലിലെ നമ്മുടെ ആവശ്യമുള്ള തിരിയുന്ന സ്ഥലത്തേക്കുള്ള ദൂരം ഏകദേശം 300 മില്ലിമീറ്റർ (മില്ലീമീറ്റർ) ആണെന്ന് നമുക്ക് കണക്കാക്കാം. റോബോട്ടിനെ അവസാന സ്ഥാനത്ത് നിർത്തുന്ന വാൾ മെയ്സ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, തുടക്കം മുതൽ അതിന്റെ പാത കാണിക്കുന്ന ഒരു കറുത്ത വര. റോബോട്ടിന്റെ മുൻവശത്ത് നിന്ന് എതിർവശത്തുള്ള മതിൽ തടസ്സത്തിലേക്കുള്ള ദൂരം ഏകദേശം 300mm ആയി ലേബൽ ചെയ്തിരിക്കുന്നു. 

നിങ്ങളുടെ അറിവിലേക്കായി

ഡാഷ്‌ബോർഡിൽ റിപ്പോർട്ട് ചെയ്‌തിരിക്കുന്നതുപോലെ ഡിസ്റ്റൻസ് സെൻസർ ഡാറ്റ ഉപയോഗിച്ച് ഒരു വസ്തുവിൽ നിന്ന് VR റോബോട്ട് എത്ര ദൂരം ഉണ്ടെന്ന് കണക്കാക്കാം. വിആർ റോബോട്ട് നിങ്ങൾ ആഗ്രഹിക്കുന്ന സ്ഥലത്ത് എത്തുമ്പോൾ നിങ്ങളുടെ പ്രോജക്റ്റ് നിർത്തുക. നിർത്തിക്കഴിഞ്ഞാൽ, ഡാഷ്‌ബോർഡിലെ മൂല്യങ്ങൾ VR റോബോട്ടിന്റെ സെൻസർ മൂല്യങ്ങൾ അത് നിലവിൽ എവിടെ സ്ഥാപിച്ചിരിക്കുന്നുവോ അവിടെ പ്രദർശിപ്പിക്കും. ഇത് സെൻസർ മൂല്യങ്ങൾ നിരീക്ഷിക്കുന്നതിനും ഒരു നിശ്ചിത സമയത്ത് വിആർ റോബോട്ടും ഒരു വസ്തുവും തമ്മിലുള്ള ദൂരം ദൃശ്യവൽക്കരിക്കുന്നതിനും ഉപയോഗിക്കാം.

B എന്ന അക്ഷരത്തിന് താഴെയുള്ള തടസ്സ ഭിത്തിയിൽ VR റോബോട്ട് കുടുങ്ങിക്കിടക്കുന്ന വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ടിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച. പ്ലേഗ്രൗണ്ട് വിൻഡോയുടെ താഴെ ഇടത് കോണിലുള്ള സ്റ്റോപ്പ് ബട്ടൺ ഒരു ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു.

VR റോബോട്ട് ഒരു പ്രത്യേക പോയിന്റിൽ എത്തുമ്പോൾ പ്രോജക്റ്റ് നിർത്തുന്നത്, ദൂര സെൻസർ തത്സമയം എന്ത് മൂല്യം റിപ്പോർട്ട് ചെയ്യുന്നുവെന്ന് കാണാൻ പ്രോജക്റ്റ് താൽക്കാലികമായി നിർത്താൻ നിങ്ങളെ പ്രാപ്തമാക്കുന്നു. വാൾ മെയ്‌സിന്റെ കാര്യത്തിൽ, (>) ത്തിൽ കൂടുതൽ വലുതായ ഓപ്പറേറ്ററിൽ ഈ മൂല്യം ഉപയോഗിച്ച് VR റോബോട്ടിനെ ഭിത്തിയിൽ നിന്ന് കൂടുതൽ അകലെ നിർത്താൻ കഴിയും.
മുകളിൽ നിന്ന് താഴേക്ക്, VR റോബോട്ട് മതിലിനു ചുറ്റും ഡ്രൈവ് ചെയ്ത് B എന്ന അക്ഷരത്തിലേക്കുള്ള പാതയിലേക്ക് തിരിയേണ്ട സ്ഥലത്ത് നിർത്തിയിരിക്കുന്ന വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ടിന്റെ ഒരു കാഴ്ച കാണാം. ഡാഷ്‌ബോർഡ് പ്ലേഗ്രൗണ്ട് വിൻഡോയിൽ തുറന്നിരിക്കുന്നു, വലതുവശത്ത് റിപ്പോർട്ട് ചെയ്തിരിക്കുന്ന ദൂര മൂല്യം 272mm ആണ്.

  • താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, അവസാന while ലൂപ്പ് താരതമ്യ ഓപ്പറേറ്ററിലെ മൂല്യം 300 മില്ലിമീറ്ററായി (mm) ക്രമീകരിക്കുക. ഇത് ഭിത്തിയിലേക്കുള്ള ദൂരം 300 മില്ലിമീറ്ററിൽ കൂടുതലായിരിക്കുമ്പോൾ വിആർ റോബോട്ടിനെ മുന്നോട്ട് ഓടിക്കാൻ പ്രാപ്തമാക്കും. 300 മില്ലിമീറ്ററിൽ താഴെയാകുമ്പോൾ, VR റോബോട്ട് വാൾ മെയ്സിലെ ആവശ്യമുള്ള ടേണിംഗ് ലൊക്കേഷനിൽ ഇടത്തേക്ക് തിരിയും.

        front_distance.get_distance(MM) > 300:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES) 
  • വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ട്തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക. ആവശ്യമുള്ള തിരിയുന്ന സ്ഥലത്ത് VR റോബോട്ട് ഇടത്തേക്ക് തിരിയുന്നത് ശ്രദ്ധിക്കുക, അങ്ങനെ അത് 'B' എന്ന അക്ഷരത്തിലേക്കുള്ള മസിലിലൂടെ തുടരാൻ തയ്യാറാകും. വർക്ക്‌സ്‌പെയ്‌സിൽ ഇടതുവശത്ത് കാണിച്ചിരിക്കുന്ന പ്രോജക്റ്റും പ്ലേഗ്രൗണ്ടിലെ VR റോബോട്ടിന്റെ അവസാന സ്ഥാനവും ഉള്ള VEXcode VR. ബി എന്ന അക്ഷരത്തിലേക്ക് നയിക്കുന്ന തുറന്ന പാതയ്ക്കുള്ളിൽ, റോബോട്ട് ഇപ്പോൾ താഴേക്ക് അഭിമുഖമായാണ് നിൽക്കുന്നത്, ഒരു മതിൽ അതിനെ തടഞ്ഞിട്ടില്ല.
  • അടുത്തതായി, അവസാനത്തെ turn_for കമാൻഡിന് ശേഷം, നിങ്ങളുടെ പ്രോജക്റ്റിലേക്ക് ഇനിപ്പറയുന്ന കമാൻഡുകൾ ചേർക്കുക, അങ്ങനെ VR റോബോട്ട് 'B' എന്ന അക്ഷരത്തിലേക്കുള്ള പാതയിൽ തുടരും. ഉം ലൂപ്പുകൾ ശരിയായി ഇൻഡന്റ് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക. 
  • 	front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.stop()
  • വാൾ മേസ് പ്ലേഗ്രൗണ്ട് തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് വീണ്ടും പ്രവർത്തിപ്പിക്കുക.

    VR റോബോട്ടുള്ള വാൾ മെയ്സ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, ലെറ്റർ B യിൽ നിന്നു.
  • വിആർ റോബോട്ട് ഇപ്പോൾ വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ട് തുടക്കം മുതൽ ഡ്രൈവ് ചെയ്ത് 'B' എന്ന അക്ഷരത്തിൽ നിർത്തുന്നു.
  • വലത് ഓപ്പറാൻഡ് 300 മില്ലിമീറ്ററിലേക്ക് മാറ്റിയത് VR റോബോട്ടിനെ ചുവരിൽ നിന്ന് കൂടുതൽ ദൂരം തിരിയാൻ അനുവദിച്ചു, അത് ശരിയായ സ്ഥലത്ത് തിരിയേണ്ടത് അത്യാവശ്യമായിരുന്നു.
  • 'B' എന്ന അക്ഷരത്തിലെത്താൻ തിരിയേണ്ടിവരുമ്പോൾ VR റോബോട്ട് ഒരു മതിലിൽ നിന്ന് എത്ര ദൂരെയായിരുന്നുവെന്ന് നിരീക്ഷിക്കാൻ ഡാഷ്‌ബോർഡിൽ റിപ്പോർട്ട് ചെയ്തിരിക്കുന്ന ദൂര മൂല്യം ഉപയോഗിക്കാം.
    B എന്ന അക്ഷരത്തിലേക്കുള്ള തുറന്ന പാതയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുന്നതിനായി ടേണിംഗ് പോയിന്റിൽ VR റോബോട്ടുള്ള പ്ലേഗ്രൗണ്ട് വിൻഡോ. ഡാഷ്‌ബോർഡിൽ റിപ്പോർട്ട് ചെയ്തിരിക്കുന്ന ദൂര മൂല്യം 300mm ആണ്.

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