റോബോട്ട്-നിർദ്ദിഷ്ട പൈത്തൺ#

ആമുഖം#

ഹീറോ ബോട്ട്, ഫ്ലെക്സിൽ ഒരു ക്ലോ മോട്ടോർ, ഒരു ആം മോട്ടോർ, ഒരു AI വിഷൻ സെൻസർ, ഒരു ഡിസ്റ്റൻസ് സെൻസർ, ഒരു ഗെയിം പൊസിഷനിംഗ് സിസ്റ്റം (ജിപിഎസ്) സെൻസർ എന്നിവ ഉൾപ്പെടുന്നു.

V5 26-27 ഓവർറൈഡ് പ്ലേഗ്രൗണ്ടിൽ ഉപയോഗിക്കുന്നതിന് എല്ലാ സ്റ്റാൻഡേർഡ് VEXcode VR രീതികളും ലഭ്യമാണ്.

ലഭ്യമായ എല്ലാ റോബോട്ട്-നിർദ്ദിഷ്ട രീതികളുടെയും ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

ഡ്രൈവ്ട്രെയിൻ - റോബോട്ട് നീക്കി തിരിക്കുക.

  • പ്രവർത്തനങ്ങൾ

    • drive — റോബോട്ടിനെ മുന്നോട്ട് നീക്കുകയോ എന്നെന്നേക്കുമായി പിന്നിലേക്ക് നീക്കുകയോ ചെയ്യുന്നു.

    • drive_for — ഒരു പ്രത്യേക ദൂരത്തേക്ക് റോബോട്ടിനെ മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നിലേക്ക് നീക്കുന്നു.

    • turn — റോബോട്ടിനെ എന്നെന്നേക്കുമായി ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു.

    • turn_for — ഒരു നിശ്ചിത എണ്ണം ഡിഗ്രികൾക്കായി റോബോട്ടിനെ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു.

    • turn_to_heading — -359 മുതൽ 359 ഡിഗ്രി വരെയുള്ള ഒരു പ്രത്യേക തലക്കെട്ടിന് അഭിമുഖമായി റോബോട്ടിനെ തിരിക്കുന്നു.

    • turn_to_rotation — റോബോട്ടിനെ ഒരു പ്രത്യേക ഭ്രമണത്തിലേക്ക് തിരിക്കുന്നു.

    • stop — റോബോട്ടിന്റെ ചലനം നിർത്തുന്നു.

  • മ്യൂട്ടേറ്ററുകൾ

    • set_heading — റോബോട്ടിന്റെ നിലവിലെ തലക്കെട്ട് ഒരു പുതിയ തലക്കെട്ടിലേക്ക് മാറ്റുന്നു.

    • set_rotation — റോബോട്ടിന്റെ നിലവിലെ ഭ്രമണത്തെ ഒരു പുതിയ ഭ്രമണത്തിലേക്ക് മാറ്റുന്നു.

    • set_timeout — ഒരു ചലനം പൂർത്തിയാക്കാൻ റോബോട്ട് എത്ര സമയം ശ്രമിക്കുമെന്ന് സജ്ജമാക്കുന്നു.

    • set_drive_velocity — റോബോട്ടിനോട് എത്ര വേഗത്തിൽ ഡ്രൈവ് ചെയ്യണമെന്ന് പറയുന്നു.

    • set_turn_velocity — എത്ര വേഗത്തിൽ തിരിയണമെന്ന് റോബോട്ടിനോട് പറയുന്നു.

  • നേടുന്നവർ

    • heading — റോബോട്ടിന്റെ നിലവിലെ തലക്കെട്ട് 0 മുതൽ 359.99 ഡിഗ്രി വരെ തിരികെ നൽകുന്നു.

    • rotation — റോബോട്ടിന്റെ നിലവിലെ റൊട്ടേഷൻ നൽകുന്നു.

    • is_done — റോബോട്ട് നീക്കുന്നത് പൂർത്തിയായോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.

    • is_moving — റോബോട്ട് ചലിക്കുന്നുണ്ടോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.

    • velocity — റോബോട്ട് എത്ര വേഗത്തിൽ ഡ്രൈവ് ചെയ്യുന്നുവെന്ന് നൽകുന്നു.

ചലനം – റോബോട്ടിന്റെ മോട്ടോറുകൾ നീക്കി ട്രാക്ക് ചെയ്യുക.

  • പ്രവർത്തനങ്ങൾ

    • spin — ഒരു മോട്ടോർ മുന്നോട്ട് കറക്കുകയോ എന്നെന്നേക്കുമായി പിന്നോട്ട് കറക്കുകയോ ചെയ്യുന്നു.

    • spin_for — ഒരു പ്രത്യേക ദൂരത്തേക്ക് ഒരു മോട്ടോർ കറക്കുന്നു.

    • spin_to_position — ഒരു മോട്ടോർ ഒരു പ്രത്യേക സ്ഥാനത്തേക്ക് കറക്കുന്നു.

    • stop — ഒരു മോട്ടോർ കറങ്ങുന്നത് തടയുന്നു.

  • മ്യൂട്ടേറ്ററുകൾ

    • set_position — മോട്ടോറിന്റെ നിലവിലെ സ്ഥാനം ഒരു പുതിയ മൂല്യത്തിലേക്ക് മാറ്റുന്നു.

    • set_velocity — ഒരു മോട്ടോർ എത്ര വേഗത്തിൽ കറങ്ങണമെന്ന് പറയുന്നു.

    • set_timeout — ഒരു മോട്ടോർ ഒരു ചലനം പൂർത്തിയാക്കാൻ എത്ര സമയം ശ്രമിക്കുമെന്ന് സജ്ജമാക്കുന്നു.

  • നേടുന്നവർ

    • is_done — മോട്ടോർ ചലിക്കുന്നത് പൂർത്തിയായോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.

    • is_spinning — മോട്ടോർ കറങ്ങുന്നുണ്ടോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.

    • position — മോട്ടോറിന്റെ നിലവിലെ സ്ഥാനം നൽകുന്നു.

    • velocity — മോട്ടോർ എത്ര വേഗത്തിൽ കറങ്ങുന്നുവെന്ന് നൽകുന്നു.

AI വിഷൻ - AI വിഷൻ സെൻസർ ഉപയോഗിച്ച് വസ്തുക്കൾ പകർത്തി വിശകലനം ചെയ്യുക.

  • നേടുന്നവർ

    • take_snapshot – ഒരു പ്രത്യേക ഒപ്പിനായി കണ്ടെത്തിയ വസ്തുക്കളുടെ ഒരു ട്യൂപ്പിൾ തിരികെ നൽകുന്നു.

  • പ്രോപ്പർട്ടികൾ

    • .width – കണ്ടെത്തിയ വസ്തുവിന്റെ വീതി പിക്സലുകളിൽ.

    • .height – കണ്ടെത്തിയ വസ്തുവിന്റെ ഉയരം പിക്സലുകളിൽ.

    • .centerX – പിക്സലുകളിൽ വസ്തുവിന്റെ കേന്ദ്രത്തിന്റെ X സ്ഥാനം.

    • .centerY – വസ്തുവിന്റെ കേന്ദ്രത്തിന്റെ Y സ്ഥാനം പിക്സലുകളിൽ.

    • .originX – പിക്സലുകളിൽ വസ്തുവിന്റെ മുകളിൽ ഇടത് കോണിന്റെ X സ്ഥാനം.

    • .originY – പിക്സലുകളിൽ വസ്തുവിന്റെ മുകളിൽ ഇടത് കോണിന്റെ Y സ്ഥാനം.

    • .id – കണ്ടെത്തിയ വസ്തുവിന്റെ വർഗ്ഗീകരണ ഐഡി.

കൺസോൾ – കൺസോളിലേക്ക് പ്രിന്റ് ചെയ്ത് മൂല്യങ്ങൾ നിരീക്ഷിക്കുക.

  • പ്രിന്റ്

    • brain.screen.print — കൺസോളിൽ ടെക്സ്റ്റ്, നമ്പറുകൾ അല്ലെങ്കിൽ വേരിയബിൾ മൂല്യങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.

    • brain.screen.next_row — കൺസോൾ കഴ്‌സർ അടുത്ത വരിയുടെ തുടക്കത്തിലേക്ക് നീക്കുന്നു.

    • brain.screen.clear_screen — കൺസോളിൽ നിന്ന് എല്ലാ വരികളും മായ്‌ക്കുന്നു.

  • മോണിറ്റർ

    • monitor_variable — മോണിറ്റർ ടാബിലേക്ക് ഒന്നോ അതിലധികമോ മുൻകൂട്ടി നിശ്ചയിച്ച വേരിയബിളുകൾ ചേർക്കുന്നു.

    • monitor_sensor — മോണിറ്റർ ടാബിലേക്ക് ഒന്നോ അതിലധികമോ സെൻസർ മൂല്യങ്ങൾ ചേർക്കുന്നു.

സെൻസിങ് – റോബോട്ടിന്റെ വിവിധ സെൻസറുകൾ പ്രയോജനപ്പെടുത്തുക.

  • ദൂരം

    • found_object – ദൂര സെൻസർ പരിധിക്കുള്ളിൽ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

    • object_distance – ദൂര സെൻസറും ഏറ്റവും അടുത്തുള്ള കണ്ടെത്തിയ വസ്തുവും തമ്മിലുള്ള ദൂരം നൽകുന്നു.

  • ജിപിഎസ്

    • x_position – ഫീൽഡിലെ GPS സെൻസറിന്റെ നിലവിലെ x-കോർഡിനേറ്റ് തിരികെ നൽകുന്നു.

    • y_position – ഫീൽഡിലെ GPS സെൻസറിന്റെ നിലവിലെ y-കോർഡിനേറ്റ് നൽകുന്നു.

    • heading – GPS സെൻസറിനെ അടിസ്ഥാനമാക്കി റോബോട്ട് നിലവിൽ അഭിമുഖീകരിക്കുന്ന തലക്കെട്ട് തിരികെ നൽകുന്നു.

ഈ പേജിലെ ഉദാഹരണങ്ങൾ പ്ലേഗ്രൗണ്ടിന്റെ പ്രീ-മാച്ച് ചെക്ക്‌ലിസ്റ്റിൽ നിന്നുള്ള ആരംഭ സ്ഥാനം സി ഉപയോഗിക്കുന്നു.

ഡ്രൈവ്‌ട്രെയിൻ#

VR റോബോട്ട് എങ്ങനെ ഡ്രൈവ് ചെയ്യുന്നുവെന്നും തിരിയുന്നുവെന്നും ഡ്രൈവ്‌ട്രെയിൻ നിയന്ത്രിക്കുന്നു. ഡ്രൈവ്‌ട്രെയിനിന് മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നോട്ട് നീങ്ങാനും, ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിയാനും, തലക്കെട്ടുകളിലേക്ക് തിരിയാനും, അതിന്റെ ഭ്രമണം ട്രാക്ക് ചെയ്യാനും കഴിയും.

പ്രവർത്തനങ്ങൾ#

ഡ്രൈവ് ചെയ്യുക#

drive റോബോട്ടിനെ എന്നെന്നേക്കുമായി മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നിലേക്ക് നീക്കുന്നു. തിരിയുകയോ നിർത്തുകയോ പോലുള്ള മറ്റൊരു പ്രവർത്തനം നൽകുന്നതുവരെ റോബോട്ട് നീങ്ങുന്നത് തുടരും.

Usage:
drivetrain.drive(direction)

പാരാമീറ്ററുകൾ

വിവരണം

direction

റോബോട്ട് നീങ്ങുന്ന ദിശ: FORWARD അല്ലെങ്കിൽ REVERSE.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive(FORWARD)
    wait(0.5, SECONDS)
    drivetrain.stop()
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ഡ്രൈവ്_ഫോർ#

drive_for റോബോട്ടിനെ ഒരു പ്രത്യേക ദൂരത്തേക്ക് മുന്നോട്ടോ പിന്നോട്ടോ നീക്കുന്നു. അടുത്ത കോഡ് വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് റോബോട്ട് നീങ്ങുന്നത് പൂർത്തിയാകുന്നതുവരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.

Usage:
drivetrain.drive_for(direction, distance, units, wait)

പാരാമീറ്ററുകൾ

വിവരണം

direction

റോബോട്ട് നീങ്ങുന്ന ദിശ: FORWARD അല്ലെങ്കിൽ REVERSE.

distance

റോബോട്ട് ഓടിക്കുന്ന ദൂരം. ഇത് integer അല്ലെങ്കിൽ ദശാംശ സംഖ്യ (float ) ആകാം.

units

ഓപ്ഷണൽ. ദൂര യൂണിറ്റ്: INCHES (ഡിഫോൾട്ട്) അല്ലെങ്കിൽ MM (മില്ലിമീറ്റർ).

wait

ഓപ്ഷണൽ. wait=True (ഡിഫോൾട്ട്) റോബോട്ട് നീങ്ങുന്നത് വരെ പ്രോജക്റ്റിനെ കാത്തിരിക്കാൻ പ്രേരിപ്പിക്കുന്നു, തുടർന്ന് കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നു. wait=False കോഡിന്റെ അടുത്ത വരി ഉടനടി പ്രവർത്തിപ്പിക്കുന്നു.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

തിരിയുക#

turn റോബോട്ടിനെ എന്നെന്നേക്കുമായി ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു. വാഹനമോടിക്കുകയോ നിർത്തുകയോ പോലുള്ള മറ്റൊരു പ്രവർത്തനം നൽകുന്നതുവരെ റോബോട്ട് തിരിയുന്നത് തുടരും.

Usage:
drivetrain.turn(direction)

പാരാമീറ്ററുകൾ

വിവരണം

direction

റോബോട്ട് തിരിയുന്ന ദിശ: LEFT അല്ലെങ്കിൽ RIGHT.

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn(LEFT)
    wait(0.78, SECONDS)
    drivetrain.stop()
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ടേൺ_ഫോർ#

turn_for റോബോട്ടിനെ ഒരു നിശ്ചിത എണ്ണം ഡിഗ്രികൾ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു. റോബോട്ടിന്റെ നിലവിലെ സ്ഥാനവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ തിരിവ് സംഭവിക്കുന്നു. കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് റോബോട്ട് തിരിയുന്നത് വരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.

Usage:
drivetrain.turn_for(direction, angle, units, wait)

പാരാമീറ്ററുകൾ

വിവരണം

direction

റോബോട്ട് തിരിയുന്ന ദിശ: LEFT അല്ലെങ്കിൽ RIGHT.

angle

റോബോട്ട് തിരിയുന്ന ഡിഗ്രികളുടെ എണ്ണം. ഇത് integer അല്ലെങ്കിൽ ദശാംശം (float ) ആകാം.

units

ഓപ്ഷണൽ. ആംഗിൾ യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി).

wait

ഓപ്ഷണൽ. wait=True (ഡിഫോൾട്ട്) റോബോട്ട് അടുത്ത വരി കോഡ് പ്രവർത്തിപ്പിക്കുന്നതുവരെ പ്രോജക്റ്റിനെ കാത്തിരിക്കാൻ അനുവദിക്കുന്നു. wait=False കോഡിന്റെ അടുത്ത വരി ഉടനടി പ്രവർത്തിപ്പിക്കുന്നു.

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn_for(LEFT, 110, DEGREES)
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

തലക്കെട്ടിലേക്ക് തിരിയുക#

ഒരു ഹെഡ്ഡിംഗ് എന്നത് റോബോട്ട് അഭിമുഖീകരിക്കുന്ന ദിശയാണ്, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. turn_to_heading റോബോട്ടിനെ -359 മുതൽ 359 ഡിഗ്രി വരെയുള്ള ഒരു പ്രത്യേക ഹെഡ്ഡിംഗിലേക്ക് തിരിക്കുന്നു. ലക്ഷ്യ ഹെഡ്ഡിംഗിൽ എത്താൻ റോബോട്ട് ഏറ്റവും കുറഞ്ഞ ദിശയിലേക്ക് തിരിക്കും.

ആരംഭ തലക്കെട്ട് 0 ഡിഗ്രി ആണ്.

Usage:
drivetrain.turn_to_heading(heading, units, wait)

പാരാമീറ്ററുകൾ

വിവരണം

heading

റോബോട്ട് അഭിമുഖീകരിക്കേണ്ട തലക്കെട്ട് -359 മുതൽ 359 ഡിഗ്രി വരെയാണ്.

units

ഓപ്ഷണൽ. ആംഗിൾ യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി).

wait

ഓപ്ഷണൽ. wait=True (ഡിഫോൾട്ട്) റോബോട്ട് അടുത്ത വരി കോഡ് പ്രവർത്തിപ്പിക്കുന്നതുവരെ പ്രോജക്റ്റിനെ കാത്തിരിക്കാൻ അനുവദിക്കുന്നു. wait=False കോഡിന്റെ അടുത്ത വരി ഉടനടി പ്രവർത്തിപ്പിക്കുന്നു.

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn_to_heading(-110, DEGREES)
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ഭ്രമണത്തിലേക്ക്_തിരിയുക#

turn_to_rotation റോബോട്ടിനെ ഒരു പ്രത്യേക ഭ്രമണത്തിലേക്ക് തിരിക്കുന്നു.

ഭ്രമണം എന്നത് റോബോട്ട് എത്ര തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ്, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. ഒരു പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ, ഭ്രമണ മൂല്യം 0 ഡിഗ്രിയായി സജ്ജീകരിച്ചിരിക്കുന്നു. വലത്തേക്ക് തിരിയുന്നത് ഭ്രമണം വർദ്ധിപ്പിക്കുകയും ഇടത്തേക്ക് തിരിയുന്നത് ഭ്രമണം കുറയ്ക്കുകയും ചെയ്യുന്നു.

ഉദാഹരണത്തിന്, റോബോട്ട് 0 ഡിഗ്രിയിൽ ആരംഭിച്ച് 720 ഡിഗ്രി ഭ്രമണത്തിലേക്ക് തിരിഞ്ഞാൽ, അത് രണ്ടുതവണ വലത്തേക്ക് തിരിയും. പിന്നീട് 360 ഡിഗ്രി ഭ്രമണത്തിലേക്ക് തിരിഞ്ഞാൽ, അത് ഒരു തവണ ഇടത്തേക്ക് തിരിയും, കാരണം 360 720 നേക്കാൾ കുറവാണ്.

Usage:
drivetrain.turn_to_rotation(rotation, units, wait)

പാരാമീറ്ററുകൾ

വിവരണം

rotation

റോബോട്ട് തിരിയുന്ന ഭ്രമണ മൂല്യം, ഡിഗ്രികളിൽ. ഇത് integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float).

units

ഓപ്ഷണൽ. ആംഗിൾ യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി).

wait

ഓപ്ഷണൽ. wait=True (ഡിഫോൾട്ട്) റോബോട്ട് അടുത്ത വരി കോഡ് പ്രവർത്തിപ്പിക്കുന്നതുവരെ പ്രോജക്റ്റിനെ കാത്തിരിക്കാൻ അനുവദിക്കുന്നു. wait=False കോഡിന്റെ അടുത്ത വരി ഉടനടി പ്രവർത്തിപ്പിക്കുന്നു.

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn_to_rotation(-110, DEGREES)
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

നിർത്തുക#

stop റോബോട്ടിന്റെ ചലനം നിർത്തുന്നു.

Usage:
drivetrain.stop()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn(LEFT)
    wait(0.78, SECONDS)
    drivetrain.stop()
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

മ്യൂട്ടേറ്ററുകൾ#

സെറ്റ്_ഹെഡിംഗ്#

ഒരു തലക്കെട്ട് എന്നത് റോബോട്ട് അഭിമുഖീകരിക്കുന്ന ദിശയാണ്, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. set_heading റോബോട്ടിന്റെ നിലവിലെ തലക്കെട്ടിനെ ഒരു പുതിയ തലക്കെട്ട് മൂല്യത്തിലേക്ക് മാറ്റുന്നു.

ഉദാഹരണത്തിന്, റോബോട്ട് വലത്തേക്ക് അഭിമുഖമായി തിരിഞ്ഞിട്ടുണ്ടെങ്കിൽ, തലക്കെട്ട് 0 ഡിഗ്രിയിലേക്ക് സജ്ജമാക്കുന്നത് ആ വലതുവശത്തുള്ള സ്ഥാനത്തെ പുതിയ 0 ഡിഗ്രിയാക്കുന്നു. തുടർന്ന് ആ പുതിയ തലക്കെട്ടിനെ അടിസ്ഥാനമാക്കി റോബോട്ടിന് മറ്റ് സ്ഥാനങ്ങളിലേക്ക് തിരിയാൻ കഴിയും.

Usage:
drivetrain.set_heading(heading, units)

പാരാമീറ്ററുകൾ

വിവരണം

heading

റോബോട്ടിനായി സജ്ജമാക്കേണ്ട ഹെഡ്ഡിംഗ് മൂല്യം, ഡിഗ്രികളിൽ.

units

ഓപ്ഷണൽ. ആംഗിൾ യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി).

def main():
    # Make facing the Neutral Goal the new heading
    drivetrain.set_heading(110, DEGREES)
    drivetrain.turn_to_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സെറ്റ്_റൊട്ടേഷൻ#

റോബോട്ട് എത്രമാത്രം തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് ഭ്രമണം, ഡിഗ്രിയിൽ അളക്കുന്നു. set_rotation റോബോട്ടിന്റെ നിലവിലെ ഭ്രമണത്തെ ഒരു പുതിയ മൂല്യത്തിലേക്ക് മാറ്റുന്നു.

Usage:
drivetrain.set_rotation(rotation, units)

പാരാമീറ്ററുകൾ

വിവരണം

rotation

റോബോട്ടിനായി സജ്ജമാക്കേണ്ട ഡിഗ്രികളിൽ, ഭ്രമണ മൂല്യം. ഇത് integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float).

units

ഓപ്ഷണൽ. ആംഗിൾ യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി).

def main():
    # Make facing the Neutral Goal the new rotation
    drivetrain.set_rotation(110, DEGREES)
    drivetrain.turn_to_rotation(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സെറ്റ്_ടൈമൗട്ട്#

set_timeout എന്നത് റോബോട്ട് ഒരു ചലനം പൂർത്തിയാക്കാൻ എത്ര സെക്കൻഡ് ശ്രമിക്കുമെന്ന് സജ്ജമാക്കുന്നു. ആ സമയത്ത് റോബോട്ടിന് പൂർത്തിയാക്കാൻ കഴിയുന്നില്ലെങ്കിൽ അത് ശ്രമം നിർത്തി അടുത്ത കോഡ് വരിയിലേക്ക് നീങ്ങും. ഇത് റോബോട്ടിനെ ഒരു ചലനത്തിൽ കുടുങ്ങിപ്പോകുന്നത് തടയുന്നു.

Usage:
drivetrain.set_timeout(time, units)

പാരാമീറ്ററുകൾ

വിവരണം

time

ഒരു ചലനം പൂർത്തിയാക്കാൻ റോബോട്ടിന് എത്ര സെക്കൻഡുകൾ ശ്രമിക്കാൻ കഴിയും. ഇത് ഒരു പോസിറ്റീവ് integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float).

units

ഓപ്ഷണൽ. സമയ യൂണിറ്റ്: SECONDS (ഡിഫോൾട്ട്) അല്ലെങ്കിൽ MSEC.

def main():
    # Turn to face the Neutral Goal
    drivetrain.set_timeout(0.8, SECONDS)
    drivetrain.turn_for(LEFT, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സെറ്റ്_ഡ്രൈവ്_വെലോസിറ്റി#

set_drive_velocity റോബോട്ടിനോട് എത്ര വേഗത്തിൽ ഡ്രൈവ് ചെയ്യണമെന്ന് പറയുന്നു. ഉയർന്ന ശതമാനം റോബോട്ടിനെ വേഗത്തിലാക്കാനും കുറഞ്ഞ ശതമാനം റോബോട്ടിനെ വേഗത കുറയ്ക്കാനും സഹായിക്കുന്നു.

എല്ലാ പ്രോജക്റ്റുകളും ആരംഭിക്കുന്നത് റോബോട്ട് സ്വതവേ 50% വേഗതയിൽ ഓടിച്ചാണ്.

കുറിപ്പ്: ഉയർന്ന വേഗത റോബോട്ട് വേഗത്തിൽ ഓടിക്കാൻ സഹായിക്കുന്നു, പക്ഷേ കൃത്യത കുറവായിരിക്കാം. കുറഞ്ഞ വേഗത റോബോട്ട് വേഗത കുറയ്ക്കുന്നു, പക്ഷേ കൂടുതൽ കൃത്യതയുള്ളതാകാം.

Usage:
drivetrain.set_drive_velocity(velocity, units)

പാരാമീറ്ററുകൾ

വിവരണം

velocity

0% മുതൽ 100% വരെ ഡ്രൈവ് ചെയ്യേണ്ട വേഗത. ഇത് ഒരു integer അല്ലെങ്കിൽ ദശാംശ സംഖ്യ (float ) ആകാം.

units

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി).

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn_for(LEFT, 110, DEGREES)
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    drivetrain.set_drive_velocity(100, PERCENT)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സെറ്റ്_ടേൺ_വെലോസിറ്റി#

set_turn_velocity റോബോട്ടിനോട് എത്ര വേഗത്തിൽ തിരിയണമെന്ന് പറയുന്നു. ഉയർന്ന ശതമാനം റോബോട്ടിനെ വേഗത്തിലാക്കാനും കുറഞ്ഞ ശതമാനം റോബോട്ടിനെ മന്ദഗതിയിലാക്കാനും സഹായിക്കുന്നു.

എല്ലാ പ്രോജക്റ്റുകളും ആരംഭിക്കുന്നത് റോബോട്ട് സ്ഥിരസ്ഥിതിയായി 50% വേഗതയിൽ കറങ്ങുമ്പോഴാണ്.

കുറിപ്പ്: ഉയർന്ന വേഗത റോബോട്ടിനെ വേഗത്തിൽ തിരിയാൻ പ്രേരിപ്പിക്കുന്നു, പക്ഷേ കൃത്യത കുറവായിരിക്കാം. കുറഞ്ഞ വേഗത റോബോട്ടിനെ മന്ദഗതിയിലാക്കുന്നു, പക്ഷേ കൂടുതൽ കൃത്യതയുള്ളതാകാം.

Usage:
drivetrain.set_turn_velocity(velocity, units)

പാരാമീറ്ററുകൾ

വിവരണം

velocity

0% മുതൽ 100% വരെ തിരിയാനുള്ള വേഗത. ഇത് ഒരു integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float).

units

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി).

def main():
    # Turn to face the Neutral Goal faster
    drivetrain.set_turn_velocity(100, PERCENT)
    drivetrain.turn_for(LEFT, 110, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ഗെറ്ററുകൾ#

തലക്കെട്ട്#

ഒരു തലക്കെട്ട് എന്നത് റോബോട്ട് അഭിമുഖീകരിക്കുന്ന ദിശയാണ്, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. heading റോബോട്ടിന്റെ നിലവിലെ തലക്കെട്ട് 0 മുതൽ 359.99 ഡിഗ്രി വരെ തിരികെ നൽകുന്നു.

റോബോട്ടിന്റെ ആരംഭ തലക്കെട്ട് 0 ഡിഗ്രിയാണ്.

Usage:
drivetrain.heading(units)

പാരാമീറ്ററുകൾ

വിവരണം

units

ഓപ്ഷണൽ. ഹെഡിംഗ് യൂണിറ്റ്: DEGREES (ഡിഫോൾട്ട്).

def main():
    # Turn to the Goal, then show heading
    drivetrain.turn_for(LEFT, 110, DEGREES)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain.heading(DEGREES))

# VR threads — Do not delete
vr_thread(main)

ഭ്രമണം#

ഭ്രമണം എന്നത് റോബോട്ട് എത്രമാത്രം തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ്, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. ഒരു പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ, ഭ്രമണ മൂല്യം 0 ഡിഗ്രിയായി സജ്ജീകരിച്ചിരിക്കുന്നു. rotation റോബോട്ടിന്റെ നിലവിലെ ഭ്രമണം നൽകുന്നു.

വലത്തേക്ക് തിരിയുന്നത് ഭ്രമണം വർദ്ധിപ്പിക്കുന്നു, ഇടത്തേക്ക് തിരിയുന്നത് ഭ്രമണം കുറയ്ക്കുന്നു. ഉദാഹരണത്തിന്, വലത്തേക്ക് രണ്ട് പൂർണ്ണ തിരിവുകൾ നടത്തുന്നത് 720 ഡിഗ്രി ഭ്രമണം തിരികെ നൽകും.

Usage:
drivetrain.rotation(units)

പാരാമീറ്ററുകൾ

വിവരണം

units

ഓപ്ഷണൽ. റൊട്ടേഷൻ യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി).

def main():
    # Spin to find a Pin, then show rotation
    drivetrain.turn_for(RIGHT, 450, DEGREES)
    brain.screen.print("Rotation: ")
    brain.screen.print(drivetrain.rotation(DEGREES))

# VR threads — Do not delete
vr_thread(main)

ചെയ്തു കഴിഞ്ഞു#

is_done എന്നത് റോബോട്ട് നീങ്ങുന്നത് പൂർത്തിയായോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു. റോബോട്ടിന്റെ ചലനത്തെ അടിസ്ഥാനമാക്കി മറ്റ് പെരുമാറ്റങ്ങളുടെ സമയം നിയന്ത്രിക്കാൻ ഇത് ഉപയോഗിക്കാം.

  • True — റോബോട്ട് നീങ്ങുന്നത് പൂർത്തിയായി.

  • False — റോബോട്ട് ഇപ്പോഴും ചലിച്ചുകൊണ്ടിരിക്കുകയാണ്.

ഈ രീതി wait പാരാമീറ്റർ ഉള്ള ഇനിപ്പറയുന്ന ഡ്രൈവ്‌ട്രെയിൻ രീതികളുമായി സംയോജിച്ച് പ്രവർത്തിക്കുന്നു: drive_for, turn_for, turn_to_heading, turn_to_rotation.

Usage:
drivetrain.is_done()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn_for(LEFT, 110, DEGREES)
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES, wait=False)
    wait(0.5, SECONDS)
    while not drivetrain.is_done():
        wait(5, MSEC)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

നീങ്ങുന്നു#

is_moving എന്നത് റോബോട്ട് നീങ്ങുന്നുണ്ടോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു. റോബോട്ടിന്റെ ചലനത്തെ അടിസ്ഥാനമാക്കി മറ്റ് പെരുമാറ്റങ്ങളുടെ സമയം നിയന്ത്രിക്കാൻ ഇത് ഉപയോഗിക്കാം.

  • True — റോബോട്ട് നീങ്ങുന്നു.

  • False — റോബോട്ട് നീങ്ങുന്നില്ല.

Usage:
drivetrain.is_moving()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Raise the Arm once stopped near the Goal
    drivetrain.turn_for(LEFT, 110, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES, wait=False)
    wait (0.5, SEC)
    while drivetrain.is_moving():
        wait(5, MSEC)
    arm_motor.spin_for(FORWARD, 800, DEGREES)

# VR threads — Do not delete
vr_thread(main)

വേഗത#

റോബോട്ട് എത്ര വേഗത്തിൽ ഓടിക്കുന്നു എന്ന് velocity നിന്ന് -100% മുതൽ 100% വരെയുള്ള ശതമാനത്തിൽ ലഭിക്കും.

Usage:
drivetrain.velocity(units)

പാരാമീറ്ററുകൾ

വിവരണം

units

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി).

def main():
    # Show speed while driving to the Goal
    drivetrain.drive_for(FORWARD, 150, MM)
    brain.screen.print("Velocity: ")
    brain.screen.print(drivetrain.velocity(PERCENT))

# VR threads — Do not delete
vr_thread(main)

ചലനം#

ഫ്ലെക്സ് കൈ ഉയർത്താനും താഴ്ത്താനും ആം മോട്ടോറും, ക്ലാവ് തുറക്കാനും അടയ്ക്കാനും ക്ലാവ് മോട്ടോറും ഉപയോഗിക്കുന്നു.

ഓരോ മോട്ടോറിനും അതിന്റേതായ ദിശാ പെരുമാറ്റമുണ്ട്. ഫ്ലെക്സിൽ ഓരോ ദിശയും ആ മോട്ടോർ എങ്ങനെ ചലിപ്പിക്കുന്നുവെന്ന് ദിശാ വിവരണങ്ങൾ വിശദീകരിക്കുന്നു.

പ്രവർത്തനങ്ങൾ#

കറക്കുക#

spin ഒരു മോട്ടോർ രണ്ട് ദിശകളിൽ ഒന്നിൽ എന്നെന്നേക്കുമായി കറക്കുന്നു. മറ്റൊരു ദിശയിലേക്ക് കറങ്ങുകയോ നിർത്തുകയോ ചെയ്യുന്നത് പോലെ മറ്റൊരു പ്രവർത്തനം നൽകുന്നതുവരെ മോട്ടോർ കറങ്ങിക്കൊണ്ടിരിക്കും.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.spin(direction) — ആം മോട്ടോർ

claw_motor

claw_motor.spin(direction) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

direction

മോട്ടോർ കറങ്ങുന്ന ദിശ:

  • FORWARD — ആം മോട്ടോർ മുകളിലേക്ക് നീക്കുകയോ ക്ലോ മോട്ടോർ അടയ്ക്കുകയോ ചെയ്യുന്നു.
  • REVERSE — ആം മോട്ടോർ താഴേക്ക് നീക്കുകയോ ക്ലോ മോട്ടോർ തുറക്കുകയോ ചെയ്യുന്നു.

def main():
    # Raise the Arm before driving toward a Pin
    arm_motor.spin(FORWARD)
    wait(1, SECONDS)
    arm_motor.stop()

# VR threads — Do not delete
vr_thread(main)

സ്പിൻ_ഫോർ#

spin_for ഒരു മോട്ടോർ ഒരു നിശ്ചിത ദൂരത്തേക്ക് കറക്കുന്നു. മോട്ടോറിന്റെ നിലവിലെ സ്ഥാനവുമായി ആപേക്ഷികമായാണ് സ്പിൻ. കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് മോട്ടോർ കറങ്ങുന്നത് വരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.spin_for(direction, distance, units, wait) — ആം മോട്ടോർ

claw_motor

claw_motor.spin_for(direction, distance, units, wait) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

direction

മോട്ടോർ കറങ്ങുന്ന ദിശ:

  • FORWARD — ആം മോട്ടോർ മുകളിലേക്ക് നീക്കുകയോ ക്ലോ മോട്ടോർ അടയ്ക്കുകയോ ചെയ്യുന്നു.
  • REVERSE — ആം മോട്ടോർ താഴേക്ക് നീക്കുകയോ ക്ലോ മോട്ടോർ തുറക്കുകയോ ചെയ്യുന്നു.

distance

മോട്ടോർ കറങ്ങുന്ന ദൂരം. DEGREES പൂർണ്ണസംഖ്യകൾ ഉപയോഗിക്കുന്നു. TURNS പൂർണ്ണസംഖ്യകളോ ദശാംശങ്ങളോ ഉപയോഗിക്കാം.

units

ഓപ്ഷണൽ. ദൂര യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി) അല്ലെങ്കിൽ TURNS.

wait

ഓപ്ഷണൽ.

  • wait=True (ഡിഫോൾട്ട്) — കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് മോട്ടോർ കറങ്ങുന്നത് വരെ പ്രോജക്റ്റിനെ കാത്തിരിക്കാൻ അനുവദിക്കുന്നു.
  • wait=False — കോഡിന്റെ അടുത്ത വരി ഉടനടി പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുന്നു.

def main():
    # Raise the Arm to carry the Pin to the Goal
    arm_motor.spin_for(FORWARD, 800, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സ്ഥാനത്തേക്ക്_തിരിക്കുക#

spin_to_position ഒരു മോട്ടോർ ഒരു പ്രത്യേക സ്ഥാനത്തേക്ക് തിരിക്കുന്നു.

ഒരു മോട്ടോറിന്റെ സ്ഥാനം അത് എത്ര ദൂരം കറങ്ങി എന്നതിനെയാണ് സൂചിപ്പിക്കുന്നത്, ഇത് DEGREES അല്ലെങ്കിൽ TURNSൽ അളക്കുന്നു. ഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്. ഒരു പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ, ആം മോട്ടോറിന്റെ സ്ഥാനം 0 ഡിഗ്രിയായി സജ്ജീകരിച്ചിരിക്കുന്നു. ക്ലോ മോട്ടോർ ഒരു അപവാദമാണ് - ഇത് 467 ഡിഗ്രിയിൽ (പൂർണ്ണമായി അടച്ചിരിക്കുന്നു) ആരംഭിക്കുന്നു. set_position രീതി ഉപയോഗിച്ചും മോട്ടോർ സ്ഥാനം സജ്ജമാക്കാൻ കഴിയും.

സ്ഥാന മൂല്യങ്ങൾ കേവലമാണ്. ഇതിനർത്ഥം സ്പിന്നിന്റെ ദിശ മോട്ടോറിന്റെ നിലവിലെ സ്ഥാനത്തെ ആശ്രയിച്ചിരിക്കുന്നു എന്നാണ്.

ഉദാഹരണത്തിന്, മോട്ടോർ 0 ഡിഗ്രിയിൽ ആരംഭിച്ച് 720 ഡിഗ്രി സ്ഥാനത്തേക്ക് കറങ്ങുകയാണെങ്കിൽ, അത് രണ്ട് തിരിവുകൾ മുന്നോട്ട് കറങ്ങും. പിന്നീട് 360 ഡിഗ്രി സ്ഥാനത്തേക്ക് കറങ്ങുകയാണെങ്കിൽ, അത് ഒരു തിരിവ് പിന്നിലേക്ക് കറങ്ങും, കാരണം 360 720 നേക്കാൾ കുറവാണ്.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.spin_to_position(angle, units, wait=True) — ആം മോട്ടോർ

claw_motor

claw_motor.spin_to_position(angle, units, wait=True) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

angle

മോട്ടോർ കറങ്ങുന്ന സ്ഥാന മൂല്യം. DEGREES പൂർണ്ണസംഖ്യകൾ ഉപയോഗിക്കുന്നു. TURNS പൂർണ്ണസംഖ്യകളോ ദശാംശങ്ങളോ ഉപയോഗിക്കാം.

units

ഓപ്ഷണൽ. സ്ഥാന യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി) അല്ലെങ്കിൽ TURNS.

wait

ഓപ്ഷണൽ.

  • wait=True (ഡിഫോൾട്ട്) — കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് മോട്ടോർ കറങ്ങുന്നത് വരെ പ്രോജക്റ്റിനെ കാത്തിരിക്കാൻ അനുവദിക്കുന്നു.
  • wait=False — കോഡിന്റെ അടുത്ത വരി ഉടനടി പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുന്നു.

def main():
    # Raise the Arm, then release the Pin
    arm_motor.spin_to_position(800, DEGREES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

നിർത്തുക#

stop ഒരു മോട്ടോർ കറങ്ങുന്നത് നിർത്തുന്നു.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.stop() — ആം മോട്ടോർ

claw_motor

claw_motor.stop() — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Raise the Arm partway to hold the Pin
    arm_motor.spin(FORWARD)
    wait(1, SECONDS)
    arm_motor.stop()

# VR threads — Do not delete
vr_thread(main)

മ്യൂട്ടേറ്ററുകൾ#

സെറ്റ്_പൊസിഷൻ#

ഒരു മോട്ടോറിന്റെ സ്ഥാനം അത് എത്ര ദൂരം കറങ്ങി എന്നതിനെയാണ് സൂചിപ്പിക്കുന്നത്, ഇത് DEGREES അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്. set_position മോട്ടോറിന്റെ നിലവിലെ സ്ഥാനം ഒരു പുതിയ മൂല്യത്തിലേക്ക് മാറ്റുന്നു.

ഉദാഹരണത്തിന്, ഒരു മോട്ടോർ 180 ഡിഗ്രിയിലേക്ക് കറങ്ങിയിട്ടുണ്ടെങ്കിൽ, സ്ഥാനം 0 ഡിഗ്രിയിലേക്ക് സജ്ജമാക്കുന്നത് ആ സ്ഥാനം 180 ൽ നിന്ന് 0 ഡിഗ്രിയിലേക്ക് പുനഃസജ്ജമാക്കും. തുടർന്ന് ആ പുതിയ മൂല്യത്തെ അടിസ്ഥാനമാക്കി മോട്ടോറിന് സ്ഥാനങ്ങളിലേക്ക് കറങ്ങാൻ കഴിയും.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.set_position(position, units) — ആം മോട്ടോർ

claw_motor

claw_motor.set_position(position, units) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

position

മോട്ടോറിനായി സജ്ജമാക്കേണ്ട സ്ഥാന മൂല്യം. DEGREES പൂർണ്ണസംഖ്യകൾ ഉപയോഗിക്കുന്നു. TURNS പൂർണ്ണസംഖ്യകളോ ദശാംശങ്ങളോ ഉപയോഗിക്കാം.

units

ഓപ്ഷണൽ. സ്ഥാന യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി) അല്ലെങ്കിൽ TURNS.

def main():
    # Reset encoder, raise Arm, place Pin
    arm_motor.set_position(0, DEGREES)
    arm_motor.spin_to_position(800, DEGREES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സെറ്റ്_വെലോസിറ്റി#

set_velocity ഒരു മോട്ടോർ എത്ര വേഗത്തിൽ കറങ്ങണമെന്ന് പറയുന്നു. ഉയർന്ന ശതമാനം മോട്ടോർ കറങ്ങുന്നത് വേഗത്തിലാക്കുന്നു, കുറഞ്ഞ ശതമാനം മോട്ടോർ കറങ്ങുന്നത് മന്ദഗതിയിലാക്കുന്നു.

ഓരോ പ്രോജക്റ്റും ആരംഭിക്കുന്നത് ഓരോ മോട്ടോറും സ്ഥിരസ്ഥിതിയായി 50% വേഗതയിൽ കറങ്ങുന്ന രീതിയിലാണ്.

കുറിപ്പ്: ഉയർന്ന വേഗത മോട്ടോർ കറക്കത്തെ വേഗത്തിലാക്കുന്നു, പക്ഷേ കൃത്യത കുറവായിരിക്കാം. കുറഞ്ഞ വേഗത മോട്ടോർ കറക്കത്തെ മന്ദഗതിയിലാക്കുന്നു, പക്ഷേ കൂടുതൽ കൃത്യതയുള്ളതാകാം.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.set_velocity(velocity, units) — ആം മോട്ടോർ

claw_motor

claw_motor.set_velocity(velocity, units) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

velocity

കറങ്ങാനുള്ള വേഗത 0% മുതൽ 100% വരെ. ഇത് ഒരു integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float).

units

പ്രവേഗ യൂണിറ്റ്: PERCENT.

def main():
    # Raise the Arm fast to release the Pin
    arm_motor.set_velocity(100, PERCENT)
    arm_motor.spin_for(FORWARD, 800, DEGREES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സെറ്റ്_ടൈമൗട്ട്#

set_timeout ഒരു മോട്ടോർ ഒരു ചലനം പൂർത്തിയാക്കാൻ എത്ര സമയം ശ്രമിക്കുമെന്ന് സജ്ജമാക്കുന്നു. ആ സമയത്തിനുള്ളിൽ മോട്ടോർ പൂർത്തിയാക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, അത് ശ്രമം നിർത്തി അടുത്ത കോഡ് വരിയിലേക്ക് നീങ്ങും. ഇത് മോട്ടോർ ഒരു ചലനത്തിൽ കുടുങ്ങിപ്പോകുന്നത് തടയുന്നു.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.set_timeout(value, units) — ആം മോട്ടോർ

claw_motor

claw_motor.set_timeout(value, units) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

value

ഒരു ചലനം പൂർത്തിയാക്കാൻ മോട്ടോറിന് എത്ര സമയം ശ്രമിക്കാൻ കഴിയും. ഇത് ഒരു പോസിറ്റീവ് integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float).

units

സമയ യൂണിറ്റ്: SECONDS അല്ലെങ്കിൽ MSEC (മില്ലിസെക്കൻഡ്).

def main():
    # Score a Pin in a Neutral Goal
    drivetrain.turn_for(LEFT, 110, DEGREES)
    arm_motor.set_timeout(1, SECONDS)
    arm_motor.spin_for(FORWARD, 1800, DEGREES)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ഗെറ്ററുകൾ#

ചെയ്തു കഴിഞ്ഞു#

is_done എന്നത് മോട്ടോർ ചലിക്കുന്നത് അവസാനിച്ചോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു. മോട്ടോറിന്റെ ചലനത്തെ അടിസ്ഥാനമാക്കി മറ്റ് പെരുമാറ്റങ്ങളുടെ സമയം നിയന്ത്രിക്കാൻ ഇത് ഉപയോഗിക്കാം.

  • True — മോട്ടോർ ചലിച്ചു കഴിഞ്ഞു.

  • False — മോട്ടോർ ഇപ്പോഴും ചലിച്ചുകൊണ്ടിരിക്കുന്നു.

ഈ രീതി wait പാരാമീറ്റർ ഉള്ള ഇനിപ്പറയുന്ന മോഷൻ രീതികളുമായി സംയോജിച്ച് പ്രവർത്തിക്കുന്നു: spin_for ഉം spin_to_position.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.is_done() — ആം മോട്ടോർ

claw_motor

claw_motor.is_done() — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Raise the Arm while driving to the Goal
    arm_motor.spin_to_position(800, DEGREES, wait=False)
    wait(0.1, SECONDS)
    while not arm_motor.is_done():
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

സ്പിന്നിംഗ്_സ്പിന്നിംഗ്#

is_spinning എന്നത് മോട്ടോർ കറങ്ങുന്നുണ്ടോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു. മോട്ടോറിന്റെ ചലനത്തെ അടിസ്ഥാനമാക്കി മറ്റ് പെരുമാറ്റങ്ങളുടെ സമയം നിയന്ത്രിക്കാൻ ഇത് ഉപയോഗിക്കാം.

  • True — മോട്ടോർ കറങ്ങുന്നു.

  • False — മോട്ടോർ കറങ്ങുന്നില്ല.

ഈ രീതി wait പാരാമീറ്റർ ഉള്ള ഇനിപ്പറയുന്ന മോഷൻ രീതികളുമായി സംയോജിച്ച് പ്രവർത്തിക്കുന്നു: spin_for ഉം spin_to_position.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.is_spinning() — ആം മോട്ടോർ

claw_motor

claw_motor.is_spinning() — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Raise the Arm while driving to the Goal, then release the Pin
    arm_motor.spin_to_position(800, DEGREES, wait=False)
    wait(0.1, SECONDS)
    while arm_motor.is_spinning():
        drivetrain.drive_for(FORWARD, 25, MM)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സ്ഥാനം#

ഒരു മോട്ടോറിന്റെ സ്ഥാനം അത് എത്ര ദൂരം കറങ്ങി എന്നതിനെയാണ് സൂചിപ്പിക്കുന്നത്, ഇത് DEGREES അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്. position മോട്ടോറിന്റെ നിലവിലെ സ്ഥാനം നൽകുന്നു.

ഒരു പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ, ആം മോട്ടോറിന്റെ സ്ഥാനം 0 ഡിഗ്രിയായി സജ്ജീകരിച്ചിരിക്കുന്നു. ക്ലാവ് മോട്ടോർ ഒരു അപവാദമാണ് - അത് 467 ഡിഗ്രിയിൽ (പൂർണ്ണമായി അടച്ചിരിക്കുന്നു) ആരംഭിക്കുന്നു. മോട്ടോർ ഒരു പൂർണ്ണ തിരിവ് മുന്നോട്ട് കറങ്ങുകയാണെങ്കിൽ, സ്ഥാനം വർദ്ധിക്കുന്നു. മോട്ടോർ മറുവശത്തേക്ക് കറങ്ങുകയാണെങ്കിൽ, സ്ഥാനം കുറയുന്നു.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.position(units) — ആം മോട്ടോർ

claw_motor

claw_motor.position(units) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

units

മോട്ടോർ സ്ഥാനം തിരികെ നൽകേണ്ട യൂണിറ്റ്: DEGREES അല്ലെങ്കിൽ TURNS.

def main():
    # Raise the Arm, then release the Pin
    while arm_motor.position(DEGREES) < 800:
        arm_motor.spin(FORWARD)
        wait(2, MSEC)
    arm_motor.stop()
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

വേഗത#

velocity മോട്ടോർ എത്ര വേഗത്തിൽ കറങ്ങുന്നുവെന്ന് നൽകുന്നു.

ഒരു പോസിറ്റീവ് മൂല്യം മോട്ടോർ മുന്നോട്ട് കറങ്ങുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. ഒരു നെഗറ്റീവ് മൂല്യം മോട്ടോർ വിപരീത ദിശയിൽ കറങ്ങുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്.

ഉപയോഗം:
താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ, ഈ രീതി ഉപയോഗിച്ച് ലഭ്യമായ രണ്ട് മോട്ടോർ വസ്തുക്കളിൽ ഒന്ന് ഉപയോഗിക്കാം:

മോട്ടോർ

കമാൻഡ്

arm_motor

arm_motor.velocity(units) — ആം മോട്ടോർ

claw_motor

claw_motor.velocity(units) — ക്ലോ മോട്ടോർ

പാരാമീറ്ററുകൾ

വിവരണം

units

നൽകേണ്ട പ്രവേഗ യൂണിറ്റ്: PERCENT.

def main():
    # Show Arm Motor velocity while raising
    arm_motor.set_velocity(100, PERCENT)
    arm_motor.spin_to_position(800, DEGREES, wait=False)
    wait(0.2, SECONDS)
    brain.screen.print(arm_motor.velocity(PERCENT))

# VR threads — Do not delete
vr_thread(main)

എഐ വിഷൻ#

ഗെറ്ററുകൾ#

ടേക്ക്_സ്നാപ്പ്ഷോട്ട്#

take_snapshot , AI വിഷൻ സെൻസർ ഫ്രെയിമിൽ നിന്ന് ഡാറ്റ ഒരു സിംഗിൾ സിഗ്നേച്ചറിലേക്ക് ഫിൽട്ടർ ചെയ്യുന്നു - ഫീൽഡിലെ ഒരു ഗെയിം എലമെന്റ് പോലുള്ള സെൻസറിന് തിരിച്ചറിയാൻ കഴിയുന്ന ഒന്നിന്റെ സംരക്ഷിച്ച വിവരണം - ഒരു ട്യൂപ്പിൾ തിരികെ നൽകുന്നു.

സൂചിക 0 മുതൽ വീതി അനുസരിച്ച് ഏറ്റവും വലുത് മുതൽ ചെറുത് വരെ ക്രമീകരിച്ച വസ്തുക്കളെ ട്യൂപ്പിൾ സംഭരിക്കുന്നു. ഓരോ വസ്തുവിന്റെയും പ്രോപ്പർട്ടികൾ അതിന്റെ സൂചിക ഉപയോഗിച്ച് ആക്‌സസ് ചെയ്യാൻ കഴിയും. പൊരുത്തപ്പെടുന്ന വസ്തുക്കളൊന്നും കണ്ടെത്തിയില്ലെങ്കിൽ ഒരു ശൂന്യമായ ട്യൂപ്പിൾ തിരികെ നൽകും.

Usage:
ai_vision.take_snapshot(signature)

പാരാമീറ്ററുകൾ

വിവരണം

signature

നൽകിയിരിക്കുന്ന ഒപ്പിന്റെ ഡാറ്റ മാത്രം ഉൾപ്പെടുത്തുന്നതിനായി ഡാറ്റാസെറ്റ് ഫിൽട്ടർ ചെയ്യുന്നു. ലഭ്യമായ ഒപ്പുകൾ ഇവയാണ്:

  • AiVision.ALL_AIOBJS - എല്ലാ ഗെയിം ഘടകങ്ങളും കണ്ടെത്തുന്നു.
  • GameElements.RED_BLUE_PIN - RedBluePin ഗെയിം ഘടകങ്ങൾ കണ്ടെത്തുന്നു.
  • GameElements.BLUE_YELLOW_PIN - BlueYellowPin ഗെയിം ഘടകങ്ങൾ കണ്ടെത്തുന്നു.
  • GameElements.RED_YELLOW_PIN - RedYellowPin ഗെയിം ഘടകങ്ങൾ കണ്ടെത്തുന്നു.
  • GameElements.YELLOW_PIN - YellowPin ഗെയിം ഘടകങ്ങൾ കണ്ടെത്തുന്നു.
  • GameElements.CUP - കപ്പ് ഗെയിം ഘടകങ്ങൾ കണ്ടെത്തുന്നു.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Turn to face the Pin
    drivetrain.set_turn_velocity(30, PERCENT)
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            if ai_objects[0].centerX < 140:
                drivetrain.turn(LEFT)
            elif ai_objects[0].centerX > 180:
                drivetrain.turn(RIGHT)
            else:
                drivetrain.stop()
                break

# VR threads — Do not delete
vr_thread(main)

പ്രോപ്പർട്ടികൾ#

take_snapshot ഉപയോഗിച്ചതിനുശേഷം ഒരു ട്യൂപ്പിളിൽ സൂക്ഷിച്ചിരിക്കുന്ന ഓരോ ഒബ്‌ജക്റ്റിലും ഉൾപ്പെടുത്തിയിരിക്കുന്ന ഏഴ് പ്രോപ്പർട്ടികൾ ഉണ്ട്.

.id ഒഴികെയുള്ള എല്ലാ പ്രോപ്പർട്ടി മൂല്യങ്ങളും take_snapshot ഉപയോഗിച്ച സമയത്ത് AI വിഷൻ സെൻസറിന്റെ വ്യൂവിൽ കണ്ടെത്തിയ വസ്തുവിന്റെ സ്ഥാനവും വലുപ്പവും വിവരിക്കുന്നു. സെൻസറിന്റെ 320 ബൈ 240 പിക്സൽ റെസല്യൂഷനെ അടിസ്ഥാനമാക്കി ഈ മൂല്യങ്ങൾ പിക്സലുകളിലാണ് അളക്കുന്നത്.

.വീതി#

.width കണ്ടെത്തിയ വസ്തുവിന്റെ വീതി പിക്സലുകളിൽ നൽകുന്നു, ഇത് 1 നും 320 നും ഇടയിലുള്ള ഒരു പൂർണ്ണസംഖ്യയാണ്.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Approach the next Cup and Pin
    drivetrain.set_drive_velocity(30, PERCENT)
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            if ai_objects[0].width > 140:
                drivetrain.stop()
                break
            else:
                drivetrain.drive(FORWARD)

# VR threads — Do not delete
vr_thread(main)

.ഉയരം#

.height കണ്ടെത്തിയ വസ്തുവിന്റെ ഉയരം പിക്സലുകളിൽ നൽകുന്നു, ഇത് 1 നും 240 നും ഇടയിലുള്ള ഒരു പൂർണ്ണസംഖ്യയാണ്.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Approach the next Cup and Pin
    drivetrain.set_drive_velocity(30, PERCENT)
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            if ai_objects[0].height > 200:
                drivetrain.stop()
                break
            else:
                drivetrain.drive(FORWARD)

# VR threads — Do not delete
vr_thread(main)

.സെന്റർഎക്സ്#

.centerX കണ്ടെത്തിയ വസ്തുവിന്റെ കേന്ദ്രത്തിന്റെ x-കോർഡിനേറ്റ് പിക്സലുകളിൽ നൽകുന്നു, ഇത് 0 നും 320 നും ഇടയിലുള്ള ഒരു പൂർണ്ണസംഖ്യയാണ്.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Turn and approach the next Cup and Pin
    drivetrain.set_turn_velocity(30, PERCENT)
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            if ai_objects[0].centerX < 140:
                drivetrain.turn_for(LEFT, 5, DEGREES)
            else: 
                drivetrain.drive_for(FORWARD, 25, INCHES)
                break

# VR threads — Do not delete
vr_thread(main)

.സെന്റർവൈ#

.centerY കണ്ടെത്തിയ വസ്തുവിന്റെ കേന്ദ്രത്തിന്റെ y-കോർഡിനേറ്റ് പിക്സലുകളിൽ നൽകുന്നു, ഇത് 0 നും 240 നും ഇടയിലുള്ള ഒരു പൂർണ്ണസംഖ്യയാണ്.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Approach the next Cup and Pin
    drivetrain.set_drive_velocity(30, PERCENT)
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            if ai_objects[0].centerY > 230:
                drivetrain.stop()
                break
            else:
                drivetrain.drive(FORWARD)

# VR threads — Do not delete
vr_thread(main)

.ഒറിജിൻഎക്സ്#

.originX കണ്ടെത്തിയ വസ്തുവിന്റെ ബൗണ്ടിംഗ് ബോക്സിന്റെ മുകളിൽ ഇടത് കോണിലുള്ള x-കോർഡിനേറ്റ് പിക്സലുകളിൽ നൽകുന്നു, ഇത് 0 നും 320 നും ഇടയിലുള്ള ഒരു പൂർണ്ണസംഖ്യയാണ്.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Turn and approach the next Cup and Pin
    drivetrain.set_turn_velocity(30, PERCENT)
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            if ai_objects[0].originX < 100:
                drivetrain.turn_for(LEFT, 5, DEGREES)
            else:
                drivetrain.drive_for(FORWARD, 25, INCHES)
                break

# VR threads — Do not delete
vr_thread(main)

.ഒറിജിൻവൈ#

.originY കണ്ടെത്തിയ വസ്തുവിന്റെ ബൗണ്ടിംഗ് ബോക്സിന്റെ മുകളിൽ ഇടത് കോണിലുള്ള y-കോർഡിനേറ്റ് പിക്സലുകളിൽ നൽകുന്നു, ഇത് 0 നും 240 നും ഇടയിലുള്ള ഒരു പൂർണ്ണസംഖ്യയാണ്.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Approach the next Cup and Pin
    drivetrain.set_drive_velocity(30, PERCENT)
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            if ai_objects[0].originY > 140:
                drivetrain.stop()
                break
            else:
                drivetrain.drive(FORWARD)

# VR threads — Do not delete
vr_thread(main)

.ഐഡി#

.id കണ്ടെത്തിയ AI ക്ലാസിഫിക്കേഷന്റെ ഐഡി ഒരു പൂർണ്ണസംഖ്യയായി നൽകുന്നു.

AI വർഗ്ഗീകരണം

ഐഡി

ഒപ്പ്

റെഡ്ബ്ലൂപിൻ

0

GameElements.RED_BLUE_PIN

നീലയെല്ലോപിൻ

1

GameElements.BLUE_YELLOW_PIN

റെഡ്യെല്ലോപിൻ

2

GameElements.RED_YELLOW_PIN

യെല്ലോപിൻ

3

GameElements.YELLOW_PIN

കപ്പ്

4

GameElements.CUP

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    drivetrain.turn_for(LEFT, 70, DEGREES)

    # Display the ID of the next closest object
    while True:
        ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
        if ai_objects:
            brain.screen.print(ai_objects[0].id)
            break

# VR threads — Do not delete
vr_thread(main)

കൺസോൾ#

ഒരു പ്രോജക്റ്റ് പ്രവർത്തിക്കുമ്പോൾ കൺസോൾ ടെക്സ്റ്റ്, നമ്പറുകൾ, വേരിയബിൾ മൂല്യങ്ങൾ എന്നിവ പ്രദർശിപ്പിക്കുന്നു. കൺസോൾ രീതികൾക്ക് കഴ്‌സർ ഒരു പുതിയ വരിയിലേക്ക് നീക്കാനും കൺസോൾ മായ്‌ക്കാനും മോണിറ്റർ ടാബിലേക്ക് വേരിയബിളുകളോ സെൻസർ മൂല്യങ്ങളോ ചേർക്കാനും കഴിയും.

അച്ചടിക്കുക#

ബ്രെയിൻ.സ്ക്രീൻ.പ്രിന്റ്#

brain.screen.print നിലവിലെ കഴ്‌സർ സ്ഥാനം ഉപയോഗിച്ച് കൺസോളിൽ ടെക്സ്റ്റ്, അക്കങ്ങൾ അല്ലെങ്കിൽ വേരിയബിൾ മൂല്യങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.

അടുത്ത പ്രിന്റ് ചെയ്ത മൂല്യം ഒരു പുതിയ വരിയിൽ ആരംഭിക്കണമെങ്കിൽ brain.screen.next_row ഉപയോഗിക്കുക.

Usage:
brain.screen.print(value)

പാരാമീറ്ററുകൾ

വിവരണം

value

കൺസോളിൽ പ്രദർശിപ്പിക്കേണ്ട വാചകം, നമ്പർ അല്ലെങ്കിൽ വേരിയബിൾ മൂല്യം.

def main():
    # Display a message in the Console
    brain.screen.print("Hello, robot!")

# VR threads — Do not delete
vr_thread(main)

ബ്രെയിൻ.സ്ക്രീൻ.അടുത്ത_വരി#

brain.screen.next_row കൺസോളിലെ അടുത്ത വരിയിലെ കോളം 1 ലേക്ക് കഴ്‌സർ നീക്കുന്നു. പ്രിന്റ് ചെയ്‌ത അടുത്ത മൂല്യം ആ വരിയിൽ ദൃശ്യമാകും.

Usage:
brain.screen.next_row()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Print on two rows
    brain.screen.print("Row 1")
    brain.screen.next_row()
    brain.screen.print("Row 2")

# VR threads — Do not delete
vr_thread(main)

ബ്രെയിൻ.സ്ക്രീൻ.ക്ലിയർ_സ്ക്രീൻ#

brain.screen.clear_screen കൺസോളിൽ നിന്ന് എല്ലാ വരികളും മായ്‌ക്കുകയും കഴ്‌സർ 1 വരിയിലേക്ക് തിരികെ നീക്കുകയും ചെയ്യുന്നു.

Usage:
brain.screen.clear_screen()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Display text, then clear it after two seconds
    brain.screen.print("This will disappear...")
    wait(2, SECONDS)
    brain.screen.clear_screen()

# VR threads — Do not delete
vr_thread(main)

മോണിറ്റർ#

മോണിറ്റർ_വേരിയബിൾ#

monitor_variable VEXcode-ലെ മോണിറ്റർ ടാബിലേക്ക് ഒന്നോ അതിലധികമോ മുൻകൂട്ടി നിശ്ചയിച്ച വേരിയബിളുകൾ ചേർക്കുന്നു. ഒരു പ്രോജക്റ്റ് പ്രവർത്തിക്കുമ്പോൾ ഒരു വേരിയബിളിന്റെ മൂല്യം മാറുന്നത് കാണാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.

monitor_variable വിജയകരമായി നിരീക്ഷിക്കുന്നതിന് വേരിയബിളുകൾ ഗ്ലോബൽ ആയിരിക്കണം. ഓരോ വേരിയബിൾ നാമവും ഒരു സ്ട്രിംഗായി നൽകുക.

Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)

പാരാമീറ്ററുകൾ

വിവരണം

variable

നിരീക്ഷിക്കുന്നതിനായി മുൻകൂട്ടി നിശ്ചയിച്ച ഒരു ഗ്ലോബൽ വേരിയബിളിന്റെ പേര്, ഒരു സ്ട്രിംഗായി നൽകിയിരിക്കുന്നു. ഒന്നിലധികം വേരിയബിളുകൾ നിരീക്ഷിക്കാൻ, ഓരോ വേരിയബിൾ നാമവും കോമ ഉപയോഗിച്ച് വേർതിരിക്കുക.

def main():
    # Monitor the number of loops
    global loops
    monitor_variable("loops")

    # Turn in a full circle 3 times
    for loops in range(12):
        drivetrain.turn_for(RIGHT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

മോണിറ്റർ_സെൻസർ#

monitor_sensor VEXcode-ലെ മോണിറ്റർ ടാബിലേക്ക് ഒന്നോ അതിലധികമോ സെൻസർ മൂല്യങ്ങൾ ചേർക്കുന്നു. ഒരു പ്രോജക്റ്റ് പ്രവർത്തിക്കുമ്പോൾ സെൻസർ മൂല്യങ്ങൾ മാറുന്നത് കാണാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.

ഓരോ സെൻസർ മൂല്യവും ഒരു സ്ട്രിംഗായി നൽകുക.

Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)

പാരാമീറ്ററുകൾ

വിവരണം

sensor

The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:

  • Brain
    • brain.timer.time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
    • drivetrain.rotation
    • drivetrain.velocity
  • Arm Motor
    • arm_motor.is_done
    • arm_motor.is_spinning
    • arm_motor.position
    • arm_motor.velocity
  • Claw Motor
    • claw_motor.is_done
    • claw_motor.is_spinning
    • claw_motor.position
    • claw_motor.velocity
  • Distance Sensor
    • distance.is_object_detected
    • distance.object_distance_mm
    • distance.object_distance_inches
  • GPS Sensor
    • gps.position_mm
    • gps.position_inches
    • gps.heading
  • AI Vision Sensor
    • ai_vision.object_count
    • ai_vision.height
    • ai_vision.width
    • ai_vision.centerX
    • ai_vision.centerY
    • ai_vision.originX
    • ai_vision.originY
    • ai_vision.id

def main():
    # Monitor the robot's heading
    monitor_sensor("drivetrain.heading")
    drivetrain.turn_for(RIGHT, 450, DEGREES)

# VR threads — Do not delete
vr_thread(main)

സെൻസിംഗ്#

ദൂരം#

കണ്ടെത്തി_വസ്തു#

found_object എന്നത് ഡിസ്റ്റൻസ് സെൻസർ നിലവിൽ 2000mm-നുള്ളിൽ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • True — ദൂര സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നു.

  • False — ദൂര സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നില്ല.

Usage:
distance.found_object()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Turn until something is detected, then release the Pin
    drivetrain.turn(RIGHT)
    while True:
        wait(5, MSEC)
        if distance.found_object():
            drivetrain.stop()
            break
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

വസ്തു_ദൂരം#

object_distance എന്നത് ഡിസ്റ്റൻസ് സെൻസറിനും ഏറ്റവും അടുത്തുള്ള കണ്ടെത്തിയ ഒബ്‌ജക്റ്റിനും ഇടയിലുള്ള ദൂരം നൽകുന്നു.

Usage:
distance.object_distance(units)

പാരാമീറ്ററുകൾ

വിവരണം

units

ദൂര യൂണിറ്റ്: MM അല്ലെങ്കിൽ INCHES.

def main():
    # Drive until 200 mm from the Goal, then release the Pin
    while distance.object_distance(MM) > 200:
        wait(5, MSEC)
        drivetrain.drive(FORWARD)
    drivetrain.stop()
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

ജിപിഎസ്#

x_സ്ഥാനം#

x_position ഫീൽഡിലെ ഒരു GPS (ഗെയിം പൊസിഷനിംഗ് സിസ്റ്റം™) സെൻസറിന്റെ നിലവിലെ x-കോർഡിനേറ്റ് തിരികെ നൽകുന്നു.

Usage:
gps.x_position(units)

പാരാമീറ്ററുകൾ

വിവരണം

യൂണിറ്റുകൾ

ഓഫ്‌സെറ്റ് മൂല്യത്തിന്റെ യൂണിറ്റ്: INCHES അല്ലെങ്കിൽ MM

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive(FORWARD)
    while not gps.x_position(MM) > -1370:
        wait(2, MSEC)
    drivetrain.stop()
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

y_സ്ഥാനം#

y_position ഫീൽഡിലെ ഒരു GPS (ഗെയിം പൊസിഷനിംഗ് സിസ്റ്റം™) സെൻസറിന്റെ നിലവിലെ y-കോർഡിനേറ്റ് തിരികെ നൽകുന്നു.

Usage:
gps.y_position(units)

പാരാമീറ്ററുകൾ

വിവരണം

യൂണിറ്റുകൾ

ഓഫ്‌സെറ്റ് മൂല്യത്തിന്റെ യൂണിറ്റ്: INCHES അല്ലെങ്കിൽ MM

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive(FORWARD)
    while not gps.y_position(MM) < -450:
        wait(2, MSEC)
    drivetrain.stop()
    claw_motor.spin_for(REVERSE, 180, DEGREES)

# VR threads — Do not delete
vr_thread(main)

തലക്കെട്ട്#

heading , GPS (ഗെയിം പൊസിഷനിംഗ് സിസ്റ്റം™) സെൻസറിന്റെ 0 മുതൽ 359 ഡിഗ്രി വരെയുള്ള റീഡിംഗുകളെ അടിസ്ഥാനമാക്കി റോബോട്ട് നിലവിൽ അഭിമുഖീകരിക്കുന്ന തലക്കെട്ട് നൽകുന്നു.

Usage:
gps.heading()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

def main():
    # Raise the Arm, drive to the Goal, release the Pin
    monitor_sensor("gps.heading")
    arm_motor.spin_for(FORWARD, 300, DEGREES)
    drivetrain.drive_for(FORWARD, 10, INCHES)
    claw_motor.spin_for(REVERSE, 180, DEGREES)

    # Turn left to face the Neutral Goal
    drivetrain.set_turn_velocity(30, PERCENT)
    drivetrain.turn(LEFT)
    while not gps.heading() < 18:
        wait(2, MSEC)
    drivetrain.stop()


# VR threads — Do not delete
vr_thread(main)