പാഠം 3: വാൾ മേസ് പരിഹരിക്കാൻ ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ ചേർക്കുന്നു
വാൾ മേസ് പ്രശ്നം പരിഹരിക്കുന്നു
ഇപ്പോൾ VR റോബോട്ട് 'A' എന്ന അക്ഷരത്തിലേക്കും Maze Wall Playgroundലെ '2' എന്ന നമ്പറിലേക്കും ഡ്രൈവ് ചെയ്തുകഴിഞ്ഞാൽ, 'B' എന്ന അക്ഷരം പോലുള്ള മറ്റ് സ്ഥലങ്ങളിലേക്ക് VR റോബോട്ട് ഡ്രൈവ് ചെയ്യുന്ന ഒരു പ്രോജക്റ്റ് നിങ്ങൾ എങ്ങനെ സൃഷ്ടിക്കും? ഇതുവരെ, ഒരു ഭിത്തിയിലേക്ക് ഡ്രൈവ് ചെയ്യാനും പിന്നീട് അടുത്ത ഭിത്തിയിലേക്ക് നീങ്ങാൻ തിരിയാനും ബമ്പർ സെൻസറിൽ നിന്നുള്ള ഡാറ്റ ഞങ്ങൾ ഉപയോഗിച്ചു. 'B' എന്ന അക്ഷരത്തിലേക്ക് നാവിഗേറ്റ് ചെയ്യുന്നതിന്, നമ്മുടെ ലക്ഷ്യസ്ഥാനത്തേക്ക് വ്യത്യസ്തമായ ഒരു പാതയിലേക്ക് പോകാൻ കഴിയുന്ന തരത്തിൽ, VR റോബോട്ടിനെ മേജിന്റെ മധ്യത്തിലുള്ള ഒരു ബിന്ദുവിലേക്ക് നീക്കാൻ നമുക്ക് കഴിയേണ്ടതുണ്ട്.
കോഡിൽ ഡ്രൈവ്ഉം turn_forകമാൻഡുകൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളൂ എങ്കിൽ, VR റോബോട്ട് വാൾ മെയ്സിന്റെ '2' നമ്പർ വിഭാഗത്തിൽ "കുടുങ്ങിപ്പോയേക്കാം", കാരണം അത് ഒരിക്കലും ബാക്കപ്പ് ചെയ്യാതെ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിയുന്നത് തുടരും.
പകരം, വിആർ റോബോട്ട് തൊട്ട അവസാന മതിലിൽ നിന്ന് അത് തിരിയേണ്ട സ്ഥലത്തേക്കുള്ള ദൂരം നമുക്ക് കണക്കാക്കാം. പിന്നെ നമുക്ക്drive_for,turn_forതുടങ്ങിയ ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകൾ ഉപയോഗിച്ച്, നമ്മുടെ പ്രോജക്റ്റിലെwhileലൂപ്പുകളും ബമ്പർ സെൻസർ ഡാറ്റയും ഉപയോഗിച്ച് maze പരിഹരിക്കാൻ കഴിയും!
-
നിങ്ങളുടെ മുൻ പ്രോജക്റ്റ് പരിഷ്കരിച്ചുകൊണ്ട് ആരംഭിക്കുക, ഒരു പുതിയ പ്രോജക്റ്റ് സൃഷ്ടിക്കുക, അല്ലെങ്കിൽ "പകർത്തുക" തിരഞ്ഞെടുത്ത് ഈ അടിസ്ഥാന പ്രോജക്റ്റുമായി പൊരുത്തപ്പെടുന്നതിന് ഈ കോഡ് VEXcode VR-ലേക്ക് ഒട്ടിക്കുക.
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) left_bumper.pressed() അല്ലാത്തപ്പോൾ: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) left_bumper.pressed() അല്ലാത്തപ്പോൾ: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) left_bumper.pressed() അല്ലാത്തപ്പോൾ: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - മുകളിലുള്ള പ്രോജക്റ്റ് VR റോബോട്ടിനെ 'B' എന്ന അക്ഷരത്തിലേക്ക് നയിക്കാൻ തുടങ്ങുന്നു, എന്നിരുന്നാലും, VR റോബോട്ട് അങ്ങനെ ചെയ്യുന്നതിന്, ആദ്യം അത് ബാക്കപ്പ് ചെയ്ത് ഇടത്തേക്ക് തിരിയേണ്ടതുണ്ട്.

- stop കമാൻഡ് നീക്കം ചെയ്ത്drive_forഉം turn_for കമാൻഡുകളും ഉപയോഗിച്ച് കോഡ് എഡിറ്റ് ചെയ്യുക.
- VR റോബോട്ട് ഏകദേശം 300 മില്ലിമീറ്റർ (മില്ലീമീറ്റർ) റിവേഴ്സ് ഡ്രൈവ് ചെയ്യേണ്ടിവരുമെന്ന് നമുക്ക് കണക്കാക്കാം. ആദ്യം, drive_for കമാൻഡിന്റെ പാരാമീറ്ററുകൾ 300 മില്ലിമീറ്ററിന് (mm) “റിവേഴ്സ്” ആയി സജ്ജമാക്കുക.
-
പിന്നെ, turn_for കമാൻഡിന്റെ പാരാമീറ്ററുകൾ ഇടത്തേക്ക് 90 ഡിഗ്രി തിരിയാൻ സജ്ജമാക്കുക. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇപ്പോൾ ഇതുപോലെയായിരിക്കണം:
def main(): left_bumper.pressed അല്ലാത്തപ്പോൾ(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) left_bumper.pressed അല്ലാത്തപ്പോൾ(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) left_bumper.pressed അല്ലാത്തപ്പോൾ(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) left_bumper.pressed അല്ലാത്തപ്പോൾ(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.drive_for(REVERSE, 300, MM) ഡ്രൈവ്ട്രെയിൻ.ടേൺ_ഫോർ(ഇടത്, 90, ഡിഗ്രി)
- Wall Maze Playground തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
-
ഈ കമാൻഡുകൾ ചേർക്കുന്നത് VR റോബോട്ടിനെ 'B' എന്ന അക്ഷരം ഓടിക്കുന്നതിന് ശരിയായ ദിശയിലേക്ക് നയിക്കും.

- പ്ലേഗ്രൗണ്ട് പുനഃസജ്ജമാക്കാൻ "റീസെറ്റ്" ബട്ടൺ തിരഞ്ഞെടുത്ത് VR റോബോട്ടിനെ ആരംഭ സ്ഥാനത്തേക്ക് തിരികെ നീക്കുക.
-
ഇപ്പോൾ VR റോബോട്ട് ശരിയായ ദിശയിലാണ് ക്രമീകരിച്ചിരിക്കുന്നത്, അവസാന turn_for കമാൻഡിന് താഴെയായി ഇനിപ്പറയുന്ന കമാൻഡുകൾ ചേർക്കുക, VR റോബോട്ടിനെ Wall Maze Playgroundലെ 'B' എന്ന അക്ഷരത്തിലേക്ക് നയിക്കുക. നിങ്ങളുടെ പ്രോജക്റ്റിൽ കമാൻഡുകൾ ശരിയായി ഇൻഡന്റ് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.
left_bumper.pressed( അല്ലാത്തപ്പോൾ): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) left_bumper.pressed( അല്ലാത്തപ്പോൾ): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) left_bumper.pressed( അല്ലാത്തപ്പോൾ): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - Wall Maze Playground തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
-
VR റോബോട്ട് ഇനി Wall Maze Playgroundലെ 'B' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യും.

മിനി ചലഞ്ച്
ഈ ചലഞ്ചിൽ, ഒന്നിലധികംഉംലൂപ്പുകളും, ഡ്രൈവ്ട്രെയിൻ കമാൻഡുകളും, ബമ്പർ സെൻസറും ഉപയോഗിച്ച് VR റോബോട്ട് Wall Maze Playground ലെ '3' എന്ന നമ്പറിലേക്ക് നാവിഗേറ്റ് ചെയ്യണം.

മിനി ചലഞ്ച് പൂർത്തിയാക്കാൻ ഈ ഘട്ടങ്ങൾ പാലിക്കുക:
-
താഴെയുള്ള പരിഹാര വീഡിയോ കാണുക, മിനി ചലഞ്ച് പൂർത്തിയാക്കാൻ VR റോബോട്ട് എങ്ങനെ ഡ്രൈവ് ചെയ്യണമെന്ന് അവലോകനം ചെയ്യുക. താഴെയുള്ള വീഡിയോ ക്ലിപ്പിൽ, വിആർ റോബോട്ട് സ്റ്റാർട്ടിംഗ് ലൊക്കേഷനിൽ നിന്ന് ആരംഭിക്കുകയും ബമ്പർ അമർത്തി തിരിയുന്നതുവരെ ഒരു ഭിത്തിയിലേക്ക് ഡ്രൈവ് ചെയ്യുന്ന അതേ പാറ്റേൺ പിന്തുടരുകയും ചെയ്യുന്നു. ബി എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യാൻ ഉപയോഗിച്ച അതേ പാതയിലൂടെയാണ് റോബോട്ട് ഓടിക്കുന്നത്. ചുവരിൽ നിന്ന് അകലെയുള്ള ടേണിംഗ് പോയിന്റിൽ, റോബോട്ട് വലത്തേക്ക് തിരിഞ്ഞ് നമ്പർ 3 ലേക്ക് പോകുന്നത് തുടരുന്നു. ആ നിമിഷം മുതൽ അത് മുന്നോട്ട് നീങ്ങി രണ്ട് തവണ ഇടത്തേക്ക് തിരിഞ്ഞ് അടുത്ത ചുവരുകൾ ചുറ്റി B എന്ന അക്ഷരം കടന്ന് എത്തുന്നു. ഒടുവിൽ, റോബോട്ട് മുന്നോട്ട് നീങ്ങി രണ്ട് തവണ വലത്തേക്ക് തിരിഞ്ഞ് അവസാന ചുവരുകൾ ചുറ്റി മൂന്നാം നമ്പറിൽ എത്തുന്നു.
- Wall Maze Playgroundലെ '3' എന്ന നമ്പറിലേക്ക് VR റോബോട്ടിനെ നയിക്കുന്നതിന് Unit4Lesson3 പ്രോജക്റ്റിലേക്ക് ആവശ്യമായ കമാൻഡുകൾ ചേർത്തോ നീക്കം ചെയ്തോ ഒരു പ്രോജക്റ്റ് സൃഷ്ടിക്കുക.
- അത് പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ പ്രോജക്റ്റ് ആരംഭിക്കുക.
- പ്രോജക്റ്റ് വിജയിച്ചില്ലെങ്കിൽ, എഡിറ്റ് ചെയ്ത് വീണ്ടും ശ്രമിക്കുക. വെല്ലുവിളി പൂർത്തിയാകുന്നതുവരെ ഈ പ്രക്രിയ തുടരുക.
- VR റോബോട്ട് Wall Maze Playgroundലെ '3' എന്ന നമ്പറിലേക്ക് വിജയകരമായി ഡ്രൈവ് ചെയ്തുകഴിഞ്ഞാൽ, പ്രോജക്റ്റ് സേവ് ചെയ്യുക.
അഭിനന്ദനങ്ങൾ! നിങ്ങൾ വാൾ മെയ്സ് ചലഞ്ച് വിജയകരമായി പൂർത്തിയാക്കി!
ചോദ്യങ്ങൾ
പാഠ ക്വിസ് ആക്സസ് ചെയ്യുന്നതിന് താഴെയുള്ള ലിങ്ക് തിരഞ്ഞെടുക്കുക.