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

ആമുഖം#

VEX IQ (രണ്ടാം തലമുറ) റോബോട്ട് ഡ്രൈവ് ചെയ്യാനും തിരിയാനും ഒരു ഡ്രൈവ്ട്രെയിൻ ഉപയോഗിക്കുന്നു. റോബോട്ടിനെ ചലിപ്പിക്കാൻ ഒരുമിച്ച് പ്രവർത്തിക്കുന്ന മോട്ടോറുകളും ചക്രങ്ങളും ചേർന്നതാണ് ഒരു ഡ്രൈവ്ട്രെയിൻ.

കോൺഫിഗർ ചെയ്‌ത ഒരു ഡ്രൈവ്‌ട്രെയിനിന് കണക്റ്റുചെയ്‌ത ഗൈറോ സെൻസർ, തലച്ചോറിന്റെ ബിൽറ്റ്-ഇൻ ഇനേർഷ്യൽ സെൻസർ, അല്ലെങ്കിൽ സെൻസർ ഇല്ലാതെ ഉപയോഗിക്കാം. ഒരു സെൻസർ ഉപയോഗിക്കുമ്പോൾ, റോബോട്ടിനെ കൃത്യമായി ചലിപ്പിക്കാനും തിരിയാനും സഹായിക്കുന്നതിന് ഡ്രൈവ്‌ട്രെയിൻ അത് ഉപയോഗിക്കുന്നു. ഓരോ പ്രോജക്റ്റിന്റെയും തുടക്കത്തിൽ, ഡ്രൈവ്‌ട്രെയിൻ സെൻസറിനെ യാന്ത്രികമായി കാലിബ്രേറ്റ് ചെയ്യുന്നു. കാലിബ്രേഷൻ സമയത്ത് റോബോട്ടിനെ ഏകദേശം 2 സെക്കൻഡ് നിശ്ചലമായി നിർത്തുക, അങ്ങനെ റോബോട്ടിന് ശരിയായി നീങ്ങാനും തിരിയാനും കഴിയും.

ഈ പേജിൽ ഡ്രൈവ്‌ട്രെയിൻ നാമത്തിന്റെ ഉദാഹരണമായി drivetrain ഉപയോഗിക്കുന്നു. ആവശ്യാനുസരണം നിങ്ങളുടെ സ്വന്തം കോൺഫിഗർ ചെയ്ത പേര് ഉപയോഗിച്ച് അത് മാറ്റിസ്ഥാപിക്കുക.

ഡ്രൈവ്ട്രെയിൻ കോഡ് ചെയ്യാൻ നിരവധി മാർഗങ്ങളുണ്ട്. എല്ലാ ഡ്രൈവ്ട്രെയിൻ രീതികളുടെയും ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

പ്രവർത്തനങ്ങൾ — റോബോട്ട് നീക്കി തിരിക്കുക.

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

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

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

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

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

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

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

  • calibrate_drivetrain — ഡ്രൈവ്‌ട്രെയിനിനൊപ്പം കോൺഫിഗർ ചെയ്‌ത സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നു.

മ്യൂട്ടേറ്ററുകൾ — ഡ്രൈവ്‌ട്രെയിൻ ക്രമീകരണങ്ങൾ ക്രമീകരിക്കുക.

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

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

  • set_stopping — റോബോട്ട് എങ്ങനെ നീങ്ങുന്നത് നിർത്തുമെന്ന് പറയുന്നു: ബ്രേക്കിംഗ്, കോസ്റ്റിംഗ് അല്ലെങ്കിൽ ഹോൾഡിംഗ് വഴി.

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

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

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

  • set_turn_threshold — ഒരു തിരിവ് പൂർത്തിയാകുന്നതിന് മുമ്പ് റോബോട്ട് ഒരു ലക്ഷ്യ കോണിലേക്ക് എത്രത്തോളം അടുത്തെത്തണമെന്ന് പറയുന്നു.

  • set_turn_constant — റോബോട്ട് അതിന്റെ തിരിവുകൾ എത്രത്തോളം ശരിയാക്കുന്നു എന്നത് മാറ്റുന്നു.

ഗെറ്ററുകൾ — ചലന നില പരിശോധിക്കുക.

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

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

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

  • current — ഡ്രൈവ്ട്രെയിൻ എത്ര വൈദ്യുത പ്രവാഹം ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.

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

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

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

  • power — ഡ്രൈവ്ട്രെയിൻ എത്ര വേഗത്തിൽ ഊർജ്ജം ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.

  • torque — ഡ്രൈവ്ട്രെയിൻ എത്ര ടോർക്ക് ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.

  • efficiency — ഡ്രൈവ്ട്രെയിൻ എത്രത്തോളം കാര്യക്ഷമമായി പവർ ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.

  • temperature — ഡ്രൈവ്ട്രെയിൻ എത്രത്തോളം ചൂടാണെന്ന് നൽകുന്നു.

കൺസ്ട്രക്റ്റർമാർ — ഡ്രൈവ്ട്രെയിൻ സ്വമേധയാ സൃഷ്ടിക്കുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുക.

  • DriveTrain — ഗൈറോ സെൻസറോ ഇനേർഷ്യൽ സെൻസറോ ഇല്ലാതെ ഒരു ഡ്രൈവ്ട്രെയിൻ സൃഷ്ടിക്കുന്നു.

  • SmartDrive — ഒരു ഗൈറോ സെൻസർ അല്ലെങ്കിൽ ഇനേർഷ്യൽ സെൻസർ ഉപയോഗിച്ച് ഒരു ഡ്രൈവ്ട്രെയിൻ സൃഷ്ടിക്കുന്നു.

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

drive#

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

Usage:
drivetrain.drive(direction, velocity, units)

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

വിവരണം

direction

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

velocity

ഓപ്ഷണൽ. PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള ഡ്രൈവ് ചെയ്യാനുള്ള വേഗത. ഇത് ഒരു integer അല്ലെങ്കിൽ ദശാംശമാകാം (float). വേഗത നൽകിയിട്ടില്ലെങ്കിൽ, റോബോട്ട് നിലവിലെ ഡ്രൈവ് വേഗതയിൽ ഡ്രൈവ് ചെയ്യുന്നു.

units

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി), RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ), അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

# Drive slowly in reverse then stop
drivetrain.drive(REVERSE, 20, PERCENT)
wait(2, SECONDS)
drivetrain.stop()

drive_for#

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

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

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

വിവരണം

direction

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

distance

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

units

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

velocity

ഓപ്ഷണൽ. PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള ഡ്രൈവ് ചെയ്യാനുള്ള വേഗത. ഇത് ഒരു integer അല്ലെങ്കിൽ ദശാംശമാകാം (float). വേഗത നൽകിയിട്ടില്ലെങ്കിൽ, റോബോട്ട് നിലവിലെ ഡ്രൈവ് വേഗതയിൽ ഡ്രൈവ് ചെയ്യുന്നു.

units_v

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ, സ്ഥിരസ്ഥിതി), PERCENT, അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

wait

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

# Drive forward and backward
drivetrain.drive_for(FORWARD, 10)
drivetrain.drive_for(REVERSE, 10)

# Quickly drive forward and backward
drivetrain.drive_for(FORWARD, 200, MM, 100, PERCENT)
drivetrain.drive_for(REVERSE, 200, MM, 100, PERCENT)

turn#

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

Usage:
drivetrain.turn(direction, velocity, units)

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

വിവരണം

direction

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

velocity

ഓപ്ഷണൽ. PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള തിരിവിന്റെ വേഗത. ഇത് integer അല്ലെങ്കിൽ ദശാംശമാകാം (float). വേഗത നൽകിയിട്ടില്ലെങ്കിൽ, റോബോട്ട് നിലവിലെ ടേൺ വേഗതയിൽ തിരിയുന്നു.

units

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ, സ്ഥിരസ്ഥിതി), PERCENT, അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

# Turn right and left, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.turn(LEFT)
wait(2, SECONDS)
drivetrain.stop()

# Quickly turn right and left, then stop
drivetrain.turn(RIGHT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.turn(LEFT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.stop()

turn_for#

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

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

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

വിവരണം

direction

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

angle

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

units

ഓപ്ഷണൽ. ടേൺ യൂണിറ്റ്: DEGREES (ഡിഫോൾട്ട്) അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്.

velocity

ഓപ്ഷണൽ. PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള തിരിവിന്റെ വേഗത. ഇത് integer അല്ലെങ്കിൽ ദശാംശമാകാം (float). വേഗത നൽകിയിട്ടില്ലെങ്കിൽ, റോബോട്ട് നിലവിലെ ടേൺ വേഗതയിൽ തിരിയുന്നു.

units_v

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ, സ്ഥിരസ്ഥിതി), PERCENT, അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

wait

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

# Turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES)

# Quickly turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES, 100, PERCENT)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES, 100, PERCENT)

turn_to_heading#

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

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

റോബോട്ട് തിരിയുന്നത് വരെ പ്രോജക്റ്റ് കാത്തിരിക്കും, തുടർന്ന് അടുത്ത കോഡ് വരി പ്രവർത്തിക്കും.

Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)

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

വിവരണം

angle

റോബോട്ട് അഭിമുഖീകരിക്കേണ്ട ദിശ, ഡിഗ്രികളിൽ. ഇത് -359 മുതൽ 359 വരെയുള്ള ഒരു integer അല്ലെങ്കിൽ ദശാംശ (float) ആകാം.

units

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

velocity

ഓപ്ഷണൽ. PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള തിരിവിന്റെ വേഗത. ഇത് integer അല്ലെങ്കിൽ ദശാംശമാകാം (float). വേഗത നൽകിയിട്ടില്ലെങ്കിൽ, റോബോട്ട് നിലവിലെ ടേൺ വേഗതയിൽ തിരിയുന്നു.

units_v

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി), RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ), അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

wait

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

# Turn to face the cardinal directions
drivetrain.turn_to_heading(90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(270, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(0, DEGREES)

# Turn twice slowly
drivetrain.turn_to_heading(90, DEGREES, 20, PERCENT)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES, 20, PERCENT)

turn_to_rotation#

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

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

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

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

റോബോട്ട് തിരിയുന്നത് വരെ പ്രോജക്റ്റ് കാത്തിരിക്കും, തുടർന്ന് അടുത്ത കോഡ് വരി പ്രവർത്തിക്കും.

Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)

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

വിവരണം

angle

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

units

ഓപ്ഷണൽ. റൊട്ടേഷൻ യൂണിറ്റ്: DEGREES (ഡിഫോൾട്ട്) അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്.

velocity

ഓപ്ഷണൽ. PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള തിരിവിന്റെ വേഗത. ഇത് integer അല്ലെങ്കിൽ ദശാംശമാകാം (float). വേഗത നൽകിയിട്ടില്ലെങ്കിൽ, റോബോട്ട് നിലവിലെ ടേൺ വേഗതയിൽ തിരിയുന്നു.

units_v

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി), RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ), അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

wait

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

# Turn left, then spin in a circle
# clockwise and face right
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES)

# Turn left then slowly spin in a
# circle clockwise
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES, 20, PERCENT)

stop#

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

Usage:
drivetrain.stop(mode)

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

വിവരണം

mode

ഓപ്ഷണൽ. റോബോട്ട് എങ്ങനെ നിർത്തും: BRAKE (സ്ഥിരസ്ഥിതി), BRAKE, അല്ലെങ്കിൽ COAST

  • COAST — ഉടനടി നിർത്തുന്നു.
  • HOLD — ഒരു സ്റ്റോപ്പിലേക്ക് സാവധാനം നീങ്ങുന്നു.
  • HOLD — ഉടനടി നിർത്തി ചക്രങ്ങളുടെ സ്ഥാനം നിലനിർത്തുന്നു.

# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

# Drive forward and coast to a stop
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop(COAST)

calibrate_drivetrain#

calibrate_drivetrain എന്നത് ഡ്രൈവ്‌ട്രെയിനിനൊപ്പം കോൺഫിഗർ ചെയ്‌തിരിക്കുന്ന ഗൈറോ സെൻസർ അല്ലെങ്കിൽ ഇനേർഷ്യൽ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്ന ഒരു ബിൽറ്റ്-ഇൻ ഫംഗ്‌ഷനാണ്.

കാലിബ്രേഷൻ സെൻസറിനെ ചലനം ശരിയായി അളക്കാൻ സഹായിക്കുന്നു. കാലിബ്രേഷൻ സമയത്ത് റോബോട്ടിനെ ഏകദേശം 2 സെക്കൻഡ് നിശ്ചലമായി നിർത്തുക. കാലിബ്രേഷൻ സമയത്ത് റോബോട്ട് ചലിച്ചാൽ, സെൻസറിന് ചലനം ശരിയായി അളക്കാൻ കഴിഞ്ഞേക്കില്ല.

കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് കാലിബ്രേഷൻ പൂർത്തിയാകുന്നതുവരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.

കുറിപ്പ്: ഈ ഫംഗ്ഷൻ VS കോഡിനുള്ളിൽ ഉപയോഗിക്കാൻ കഴിയില്ല.

Usage:
calibrate_drivetrain()

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

വിവരണം

ഈ ഫംഗ്ഷന് പാരാമീറ്ററുകൾ ഇല്ല.

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

set_drive_velocity#

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

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

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

Usage:
drivetrain.set_drive_velocity(velocity, units)

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

വിവരണം

velocity

PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള വേഗതയിൽ ഡ്രൈവ് ചെയ്യാനുള്ള വേഗത. ഇത് integer അല്ലെങ്കിൽ ദശാംശ (float ) ആകാം.

units

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി), RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ), അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

# Drive forward at different velocities
# Default velocity
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)

set_turn_velocity#

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

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

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

Usage:
drivetrain.set_turn_velocity(velocity, units)

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

വിവരണം

velocity

PERCENTഉപയോഗിക്കുമ്പോൾ 0% മുതൽ 100% വരെയും, RPMഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 120 rpm വരെയും, VelocityUnits.DPSഉപയോഗിക്കുമ്പോൾ 0 മുതൽ 720 ഡിഗ്രി വരെയുമുള്ള ഒരു സെക്കൻഡിൽ തിരിയാനുള്ള വേഗത. ഇത് ഒരു integer അല്ലെങ്കിൽ ദശാംശ (float ) ആകാം.

units

ഓപ്ഷണൽ. പ്രവേഗ യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി), RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ), അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

# Turn at different velocities
# Default velocity
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 360)

set_stopping#

set_stopping റോബോട്ട് എങ്ങനെ നീങ്ങുന്നത് നിർത്തുമെന്ന് സജ്ജമാക്കുന്നു: ബ്രേക്കിംഗ്, കോസ്റ്റിംഗ് അല്ലെങ്കിൽ ഹോൾഡിംഗ് വഴി.

Usage:
drivetrain.set_stopping(mode)

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

വിവരണം

mode

റോബോട്ട് എങ്ങനെ നിർത്തും:

  • BRAKE — ഉടനടി നിർത്തുന്നു.
  • COAST — പതുക്കെ നിർത്തുന്നു.
  • HOLD — ഉടനടി നിർത്തി ചക്രങ്ങളുടെ സ്ഥാനം നിലനിർത്തുന്നു.

ഈ രീതി ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, നിർത്തുമ്പോൾ റോബോട്ട് BRAKE ഉപയോഗിക്കും.

set_timeout#

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

Usage:
drivetrain.set_timeout(value, units)

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

വിവരണം

value

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

units

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

# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)

set_heading#

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

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

Usage:
drivetrain.set_heading(heading, units)

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

വിവരണം

heading

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

units

ഓപ്ഷണൽ. ഹെഡിംഗ് യൂണിറ്റ്: DEGREES (ഡിഫോൾട്ട്) അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്.

# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)

set_rotation#

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

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

Usage:
drivetrain.set_rotation(rotation, units)

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

വിവരണം

rotation

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

units

ഓപ്ഷണൽ. റൊട്ടേഷൻ യൂണിറ്റ്: DEGREES (ഡിഫോൾട്ട്) അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്.

# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)

set_turn_threshold#

set_turn_threshold എന്നത് ഒരു ടേൺ പൂർത്തിയാകുന്നതിന് മുമ്പ് റോബോട്ട് ഒരു ലക്ഷ്യ കോണിലേക്ക് എത്ര അടുത്ത് എത്തണമെന്ന് സജ്ജമാക്കുന്നു.

ഒരു ചെറിയ പരിധി തിരിവുകൾ കൂടുതൽ കൃത്യമാക്കും, പക്ഷേ റോബോട്ട് തിരിവുകൾ പൂർത്തിയാക്കാൻ കൂടുതൽ സമയമെടുത്തേക്കാം. ഒരു വലിയ പരിധി തിരിവുകൾ വേഗത്തിൽ പൂർത്തിയാക്കാൻ സഹായിക്കും, പക്ഷേ അവ കൃത്യത കുറഞ്ഞതായിരിക്കാം.

Usage:
drivetrain.set_turn_threshold(value)

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

വിവരണം

value

ടേൺ ത്രെഷോൾഡ്, ഡിഗ്രികളിൽ. ഇത് integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float). ഡിഫോൾട്ട് ടേൺ ത്രെഷോൾഡ് 1 ഡിഗ്രി ആണ്.

# Set the turn threshold to 5 degrees
drivetrain.set_turn_threshold(5)

set_turn_constant#

റോബോട്ട് അതിന്റെ തിരിവുകൾ എത്രത്തോളം ശരിയാക്കുന്നു എന്നതിനെ set_turn_constant മാറ്റുന്നു.

ഉയർന്ന മൂല്യം റോബോട്ടിനെ ശരിയായ തിരിവുകൾ കൂടുതൽ ശക്തമായി മാറ്റുന്നു. കുറഞ്ഞ മൂല്യം റോബോട്ടിനെ ശരിയായ തിരിവുകൾ കൂടുതൽ സൌമ്യമായി മാറ്റുന്നു. സ്ഥിര മൂല്യം 1.0 ആണ്.

Usage:
drivetrain.set_turn_constant(value)

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

വിവരണം

value

ടേൺ കോൺസ്റ്റന്റ്. ഇത് 0.1 മുതൽ 4.0 വരെയുള്ള ഒരു ഡെസിമൽ (float) ആകാം. ഡിഫോൾട്ട് 1.0 ആണ്.

# Increase the turn constant to 2.0
drivetrain.set_turn_constant(2.0)

ഗെറ്ററുകൾ#

heading#

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

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

Usage:
drivetrain.heading(units)

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

വിവരണം

units

ഓപ്ഷണൽ. തലക്കെട്ട് തിരികെ നൽകേണ്ട യൂണിറ്റ്: DEGREES (ഡിഫോൾട്ട്) അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്.

# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())

rotation#

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

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

Usage:
drivetrain.rotation(units)

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

വിവരണം

units

ഓപ്ഷണൽ. ഭ്രമണം തിരികെ നൽകേണ്ട യൂണിറ്റ്: DEGREES (സ്ഥിരസ്ഥിതി) അല്ലെങ്കിൽ TURNSഒരു ടേൺ 360 ഡിഗ്രിക്ക് തുല്യമാണ്.

# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())

velocity#

velocity റോബോട്ട് എത്ര വേഗത്തിൽ ഓടിക്കുന്നു എന്ന് തിരികെ നൽകുന്നു.

ഇതിന് വേഗത -100% മുതൽ 100% വരെയും, RPM ൽ -127 rpm മുതൽ 127 rpm വരെയും, അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി) വരെയും ഒരു ശതമാനമായി തിരികെ നൽകാൻ കഴിയും. പോസിറ്റീവ് മൂല്യം എന്നാൽ റോബോട്ട് മുന്നോട്ട് ഓടിക്കുന്നു എന്നാണ്. നെഗറ്റീവ് മൂല്യം എന്നാൽ റോബോട്ട് വിപരീത ദിശയിൽ ഓടിക്കുന്നു എന്നാണ്.

Usage:
drivetrain.velocity(units)

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

വിവരണം

units

ഓപ്ഷണൽ. പ്രവേഗം തിരികെ നൽകേണ്ട യൂണിറ്റ്: PERCENT (സ്ഥിരസ്ഥിതി), RPM (മിനിറ്റിൽ ഭ്രമണങ്ങൾ), അല്ലെങ്കിൽ VelocityUnits.DPS (സെക്കൻഡിൽ ഡിഗ്രി).

current#

ആമ്പുകളിൽ (ആമ്പിയർ) അളക്കുന്ന ഡ്രൈവ്‌ട്രെയിൻ എത്ര വൈദ്യുത പ്രവാഹമാണ് ഉപയോഗിക്കുന്നതെന്ന് current നൽകുന്നു. ഡ്രൈവ്‌ട്രെയിനിലൂടെ ഒഴുകുന്ന വൈദ്യുതിയുടെ അളവാണ് കറന്റ്.

ഉയർന്ന കറന്റ് മൂല്യം എന്നാൽ ഡ്രൈവ്ട്രെയിൻ കൂടുതൽ വൈദ്യുത പ്രവാഹം ഉപയോഗിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. റോബോട്ട് ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോഴോ അത് കുടുങ്ങിക്കിടക്കുമ്പോൾ നീങ്ങാൻ ശ്രമിക്കുമ്പോഴോ ഇത് സംഭവിക്കാം.

ഒരു ചലത്തിനിടയിൽ ഡ്രൈവ്‌ട്രെയിൻ ബുദ്ധിമുട്ടുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കാം. കറന്റ് ഉയർന്ന നിലയിൽ തുടരുകയാണെങ്കിൽ, ഡ്രൈവ്‌ട്രെയിൻ ചൂടാകുകയോ പവർ കാര്യക്ഷമമായി കുറയ്ക്കുകയോ ചെയ്‌തേക്കാം.

Usage:
drivetrain.current(units)

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

വിവരണം

units

ഓപ്ഷണൽ. കറന്റ് തിരികെ നൽകേണ്ട യൂണിറ്റ്: CurrentUnits.AMP (amps, ഡിഫോൾട്ട്).

is_moving#

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

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

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

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

Usage:
drivetrain.is_moving()

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

വിവരണം

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

is_done#

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

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

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

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

Usage:
drivetrain.is_done()

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

വിവരണം

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

is_turning#

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

  • True — റോബോട്ട് തിരിയുന്നു.

  • False — റോബോട്ട് തിരിയുന്നില്ല.

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

Usage:
drivetrain.is_turning()

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

വിവരണം

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

power#

power എന്നത് ഡ്രൈവ്‌ട്രെയിൻ എത്ര പവർ ഉപയോഗിക്കുന്നു എന്ന് വാട്ടുകളിൽ അളക്കുന്നു. പവർ ഡ്രൈവ്‌ട്രെയിൻ എത്ര വേഗത്തിൽ ഊർജ്ജം ഉപയോഗിക്കുന്നുവെന്ന് കാണിക്കുന്നു.

ഉയർന്ന പവർ മൂല്യം എന്നാൽ ഡ്രൈവ്‌ട്രെയിൻ വേഗത്തിൽ ഊർജ്ജം ഉപയോഗിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. റോബോട്ട് ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോഴോ അത് കുടുങ്ങിക്കിടക്കുമ്പോൾ നീങ്ങാൻ ശ്രമിക്കുമ്പോഴോ ഇത് സംഭവിക്കാം.

ഇത് ചലനങ്ങൾ താരതമ്യം ചെയ്യാനോ ഡ്രൈവ്‌ട്രെയിൻ ബുദ്ധിമുട്ടുന്നുണ്ടോ എന്ന് പരിശോധിക്കാനോ ഉപയോഗിക്കാം. പവർ ഉയർന്ന നിലയിൽ തുടരുകയാണെങ്കിൽ, ഡ്രൈവ്‌ട്രെയിൻ ചൂടാകുകയോ ഊർജ്ജം കാര്യക്ഷമമായി ഉപയോഗിക്കാതിരിക്കുകയോ ചെയ്‌തേക്കാം.

Usage:
drivetrain.power()

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

വിവരണം

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

torque#

ചക്രങ്ങൾ കറങ്ങുമ്പോൾ ഡ്രൈവ്‌ട്രെയിനിന് എത്രത്തോളം ശക്തമായി തള്ളാനോ വലിക്കാനോ കഴിയുമെന്ന് ടോർക്ക് കാണിക്കുന്നു.

torque എന്നത് ഡ്രൈവ്‌ട്രെയിൻ എത്ര ടോർക്ക് ഉപയോഗിക്കുന്നു എന്ന് നൽകുന്നു, ഇത് ന്യൂട്ടൺ-മീറ്ററിൽ (Nm) അല്ലെങ്കിൽ ഇഞ്ച്-പൗണ്ടിൽ (InLb) അളക്കുന്നു.

ഉയർന്ന ടോർക്ക് മൂല്യം എന്നാൽ ഡ്രൈവ്‌ട്രെയിൻ കൂടുതൽ ശക്തമായി തള്ളുകയോ വലിക്കുകയോ ചെയ്യുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. റോബോട്ട് ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോഴോ അത് കുടുങ്ങിക്കിടക്കുമ്പോൾ ചലിക്കാൻ ശ്രമിക്കുമ്പോഴോ ഇത് സംഭവിക്കാം.

ഡ്രൈവ്ട്രെയിൻ ബുദ്ധിമുട്ടുന്നുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനോ വ്യത്യസ്ത ചലനങ്ങൾക്ക് എത്രമാത്രം പുഷ് ആവശ്യമാണെന്ന് താരതമ്യം ചെയ്യുന്നതിനോ ഇത് ഉപയോഗിക്കാം.

Usage:
drivetrain.torque(units)

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

വിവരണം

units

ഓപ്ഷണൽ. ടോർക്ക് തിരികെ നൽകേണ്ട യൂണിറ്റ്: TorqueUnits.NM (ന്യൂട്ടൺ മീറ്റർ, ഡിഫോൾട്ട്) അല്ലെങ്കിൽ TorqueUnits.INLB (ഇഞ്ച് പൗണ്ട്).

efficiency#

0% മുതൽ 100% വരെയുള്ള ശതമാനത്തിൽ, ഡ്രൈവ്‌ട്രെയിൻ എത്രത്തോളം കാര്യക്ഷമമായി പവർ ഉപയോഗിക്കുന്നുവെന്ന് efficiency നൽകുന്നു.

ഡ്രൈവ്‌ട്രെയിനിന്റെ പവറിന്റെ എത്രത്തോളം ചലനത്തിനായി ഉപയോഗിക്കപ്പെടുന്നു എന്ന് കാര്യക്ഷമത കാണിക്കുന്നു. ഉയർന്ന കാര്യക്ഷമത മൂല്യം എന്നാൽ ഡ്രൈവ്‌ട്രെയിനിന്റെ പവറിന്റെ കൂടുതൽ ഭാഗം ചലിക്കാൻ ഉപയോഗിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. ഡ്രൈവ്‌ട്രെയിനിന്റെ കഠിനാധ്വാനം ചെയ്യുമ്പോൾ, പക്ഷേ അധികം ചലിക്കാതെ, റോബോട്ട് കുടുങ്ങിക്കിടക്കുമ്പോഴോ ഒരു വസ്തുവിന് നേരെ തള്ളുമ്പോഴോ പോലെ, കുറഞ്ഞ കാര്യക്ഷമത മൂല്യം സംഭവിക്കാം.

ചലനങ്ങൾ താരതമ്യം ചെയ്യുന്നതിനോ ഡ്രൈവ്ട്രെയിൻ ചലനത്തിനായി ഉപയോഗിക്കുന്നതിന് പകരം പവർ പാഴാക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനോ ഇത് ഉപയോഗിക്കാം.

Usage:
drivetrain.efficiency()

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

വിവരണം

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

temperature#

തിരഞ്ഞെടുത്ത താപനില യൂണിറ്റിലെ ഡ്രൈവ്‌ട്രെയിനിന്റെ ശരാശരി താപനില temperature നൽകുന്നു.

ഡ്രൈവ്‌ട്രെയിൻ മോട്ടോറുകൾ എത്രത്തോളം ചൂടാണെന്ന് താപനില കാണിക്കുന്നു. ഉയർന്ന താപനില എന്നതിനർത്ഥം മോട്ടോറുകൾ പ്രവർത്തിക്കുമ്പോൾ ചൂടാകുന്നു എന്നാണ്. പൂർണ്ണ പ്രകടനത്തോടെ പ്രവർത്തിക്കാൻ മോട്ടോറുകൾ 55°C-ൽ താഴെയായിരിക്കണം.

മോട്ടോറുകൾ അമിതമായി ചൂടായാൽ, സ്വയം പരിരക്ഷിക്കുന്നതിനായി അവ പരമാവധി കറന്റ് കുറയ്ക്കും. 70°C-ൽ, തണുക്കുന്നത് വരെ മോട്ടോറുകൾ പ്രവർത്തിക്കുന്നത് നിർത്തും.

ആവർത്തിച്ചുള്ള ചലനങ്ങൾ, ദീർഘദൂര ഓട്ടങ്ങൾ, അല്ലെങ്കിൽ ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോൾ ഡ്രൈവ്ട്രെയിൻ അമിതമായി ചൂടാകുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കാം.

Usage:
drivetrain.temperature(units)

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

വിവരണം

units

ഓപ്ഷണൽ. താപനില തിരികെ നൽകേണ്ട യൂണിറ്റ്: TemperatureUnits.CELSIUS (സ്ഥിരസ്ഥിതി) അല്ലെങ്കിൽ TemperatureUnits.FAHRENHEIT.

കൺസ്ട്രക്‌ടർമാർ#

കോഡിൽ DriveTrain ഉം SmartDrive ഒബ്‌ജക്റ്റുകളും സൃഷ്ടിക്കാൻ കൺസ്ട്രക്‌ടറുകൾ ഉപയോഗിക്കുന്നു. ഉപകരണ വിൻഡോ ഉപയോഗിക്കാതെ ഒരു ഡ്രൈവ്‌ട്രെയിൻ കോൺഫിഗർ ചെയ്യുമ്പോൾ ഇത് ഉപയോഗപ്രദമാണ്.

ഒരു ഡ്രൈവ്‌ട്രെയിൻ സൃഷ്ടിക്കുന്നതിന് മുമ്പ് കുറഞ്ഞത് രണ്ട് Motor അല്ലെങ്കിൽ MotorGroup വസ്തുക്കൾ സൃഷ്ടിക്കണം.

DriveTrain#

DriveTrain ഗൈറോ സെൻസർ അല്ലെങ്കിൽ ഇനേർഷ്യൽ സെൻസർ ഇല്ലാതെ ഒരു ഡ്രൈവ്ട്രെയിൻ സൃഷ്ടിക്കുന്നു.

Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

പാരാമീറ്റർ

വിവരണം

lm

ഇടത് മോട്ടോർ അല്ലെങ്കിൽ മോട്ടോർ ഗ്രൂപ്പ്.

rm

വലത് മോട്ടോർ അല്ലെങ്കിൽ മോട്ടോർ ഗ്രൂപ്പ്.

wheelTravel

ഓപ്ഷണൽ. ഡ്രൈവ്ട്രെയിൻ വീലുകളുടെ ചുറ്റളവ്. സ്ഥിരസ്ഥിതിയായി 300 മില്ലിമീറ്ററാണ്.

trackWidth

ഓപ്ഷണൽ. ഇടത്, വലത് ചക്രങ്ങൾക്കിടയിലുള്ള വീതി. സ്ഥിരസ്ഥിതിയായി 320 മില്ലിമീറ്ററാണ്.

wheelBase

ഓപ്ഷണൽ. മുൻ, പിൻ ചക്രങ്ങൾ തമ്മിലുള്ള ദൂരം. സ്ഥിരസ്ഥിതിയായി 320 മില്ലിമീറ്ററാണ്.

units

ഓപ്ഷണൽ. wheelTravel, trackWidth, wheelBase: MM (മില്ലീമീറ്റർ, സ്ഥിരസ്ഥിതി), INCHES, അല്ലെങ്കിൽ DistanceUnits.CM (സെന്റിമീറ്റർ).

externalGearRatio

ഓപ്ഷണൽ. ഗിയറുകൾ ഉപയോഗിക്കുകയാണെങ്കിൽ ഡ്രൈവ് ദൂരങ്ങൾ ക്രമീകരിക്കാൻ ഉപയോഗിക്കുന്ന ഗിയർ അനുപാതം. ഇത് integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float). സ്ഥിരസ്ഥിതി 1.0 ആണ്.

# Create left and right drive motor objects
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT2, 1.0, True)

'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)

# Create two motor group objects for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)

right_motor_a = Motor(Ports.PORT3, 1.0, True)
right_motor_b = Motor(Ports.PORT4, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)

'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)

SmartDrive#

SmartDrive ഗൈറോ സെൻസർ അല്ലെങ്കിൽ ഇനേർഷ്യൽ സെൻസർ ഉള്ള ഒരു ഡ്രൈവ്ട്രെയിൻ സൃഷ്ടിക്കുന്നു.

Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

പാരാമീറ്റർ

വിവരണം

lm

ഇടത് മോട്ടോർ അല്ലെങ്കിൽ മോട്ടോർ ഗ്രൂപ്പ്.

rm

വലത് മോട്ടോർ അല്ലെങ്കിൽ മോട്ടോർ ഗ്രൂപ്പ്.

g

ഡ്രൈവ്‌ട്രെയിൻ ഉപയോഗിക്കുന്ന ഗൈറോ സെൻസർ അല്ലെങ്കിൽ ഇനേർഷ്യൽ സെൻസർ.

wheelTravel

ഓപ്ഷണൽ. ഡ്രൈവ്ട്രെയിൻ വീലുകളുടെ ചുറ്റളവ്. സ്ഥിരസ്ഥിതിയായി 300 മില്ലിമീറ്ററാണ്.

trackWidth

ഓപ്ഷണൽ. ഇടത്, വലത് ചക്രങ്ങൾക്കിടയിലുള്ള വീതി. സ്ഥിരസ്ഥിതിയായി 320 മില്ലിമീറ്ററാണ്.

wheelBase

ഓപ്ഷണൽ. മുൻ, പിൻ ചക്രങ്ങൾ തമ്മിലുള്ള ദൂരം. സ്ഥിരസ്ഥിതിയായി 320 മില്ലിമീറ്ററാണ്.

units

ഓപ്ഷണൽ. wheelTravel, trackWidth, wheelBase: MM (മില്ലീമീറ്റർ, സ്ഥിരസ്ഥിതി), INCHES, അല്ലെങ്കിൽ DistanceUnits.CM (സെന്റിമീറ്റർ).

externalGearRatio

ഓപ്ഷണൽ. ഗിയറുകൾ ഉപയോഗിക്കുകയാണെങ്കിൽ ഡ്രൈവ് ദൂരങ്ങൾ ക്രമീകരിക്കാൻ ഉപയോഗിക്കുന്ന ഗിയർ അനുപാതം. ഇത് integer അല്ലെങ്കിൽ ദശാംശം ആകാം (float). സ്ഥിരസ്ഥിതി 1.0 ആണ്.

# Create the Inertial Sensor
brain_inertial = Inertial()

# Make left and right drive motors
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT6, 1.0, True)

# Create a SmartDrive object with wheelTravel 200
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)

ഒന്നിലധികം മോട്ടോറുകൾ ഉപയോഗിച്ച് ഒരു സ്മാർട്ട് ഡ്രൈവ്‌ട്രെയിൻ നിർമ്മിക്കുകയാണെങ്കിൽ, ഒരു മോട്ടോർ ഗ്രൂപ്പായി ഗ്രൂപ്പുചെയ്യുന്നതിന് മുമ്പ് നിങ്ങൾ മോട്ടോറുകൾ പ്രത്യേകം സൃഷ്ടിക്കേണ്ടതുണ്ട്.

# Create the Inertial Sensor
brain_inertial = Inertial()

# Create two motor groups for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)

right_motor_a = Motor(Ports.PORT5, 1.0, True)
right_motor_b = Motor(Ports.PORT6, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)

# Create a SmartDrive object with wheelTravel 200 mm
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)