ഡ്രൈവ്ട്രെയിൻ#
ആമുഖം#
ഒരു റോബോട്ട് എങ്ങനെ ഓടിക്കണമെന്നും തിരിയണമെന്നും നിയന്ത്രിക്കുന്നത് drivetrain ക്ലാസ് ആണ്. റോബോട്ടിനെ ചലിപ്പിക്കാൻ ഒരുമിച്ച് പ്രവർത്തിക്കുന്ന മോട്ടോറുകളും ചക്രങ്ങളും ചേർന്നതാണ് ഒരു ഡ്രൈവ്ട്രെയിൻ.
ഒരു drivetrain ഹെഡിംഗ് അധിഷ്ഠിത അല്ലെങ്കിൽ റൊട്ടേഷൻ അധിഷ്ഠിത ടേണുകൾക്കായി ഗൈറോ സെൻസർ അല്ലെങ്കിൽ ഇനർഷ്യൽ സെൻസർ ഉപയോഗിക്കുന്നില്ല. ഇതിന് മുന്നോട്ട് ഡ്രൈവ് ചെയ്യാനോ റിവേഴ്സ് ചെയ്യാനോ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിയാനോ കഴിയും, പക്ഷേ ഇതിന് ഒരു പ്രത്യേക ഹെഡിംഗിലേക്കോ റൊട്ടേഷനിലേക്കോ തിരിയാൻ കഴിയില്ല. ഹെഡിംഗ് അധിഷ്ഠിതവും റൊട്ടേഷൻ അധിഷ്ഠിതവുമായ ടേണുകൾക്കായി, smartdrive ക്ലാസ് ഉപയോഗിക്കുക.
ഈ പേജിൽ ഡ്രൈവ്ട്രെയിൻ നാമത്തിന്റെ ഉദാഹരണമായി myDrivetrain ഉപയോഗിക്കുന്നു. ആവശ്യാനുസരണം നിങ്ങളുടെ സ്വന്തം കോൺഫിഗർ ചെയ്ത പേര് ഉപയോഗിച്ച് ഇത് മാറ്റിസ്ഥാപിക്കുക.
ഉരുത്തിരിഞ്ഞ ക്ലാസുകൾ#
drivetrain ക്ലാസ്, താഴെ പറയുന്ന ഡിറൈവ്ഡ് ക്ലാസിനുള്ള അടിസ്ഥാന ക്ലാസായി പ്രവർത്തിക്കുന്നു:
smartdrive- ഗൈറോ സെൻസർ അല്ലെങ്കിൽ ഇനേർഷ്യൽ സെൻസർ പിന്തുണയുള്ള ഒരു ഡ്രൈവ്ട്രെയിൻ സൃഷ്ടിക്കുന്നു.
ക്ലാസ് കൺസ്ട്രക്ടറുകൾ#
1 - ഇടതും വലതും വശങ്ങൾക്കായി നിലവിലുള്ള
motor_groupഒബ്ജക്റ്റുകൾ ഉപയോഗിച്ച് ഒരു ഡ്രൈവ്ട്രെയിൻ സൃഷ്ടിക്കുന്നു.drivetrain( motor_group &l, motor_group &r, double wheelTravel = 320, double trackWidth = 320, double wheelBase = 130, distanceUnits unit = mm, double externalGearRatio = 1.0 );
2 - ഇടതും വലതും വശങ്ങൾക്കായി നിലവിലുള്ള
motorഒബ്ജക്റ്റുകൾ ഉപയോഗിച്ച് ഒരു ഡ്രൈവ്ട്രെയിൻ സൃഷ്ടിക്കുന്നു.drivetrain( motor &l, motor &r, double wheelTravel = 320, double trackWidth = 320, double wheelBase = 130, distanceUnits unit = mm, double externalGearRatio = 1.0 );
ക്ലാസ് ഡിസ്ട്രക്റ്റർ#
drivetrain ഒബ്ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.
virtual ~drivetrain();
പാരാമീറ്ററുകൾ#
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഇടതും വലതും മോട്ടോറുകൾ അല്ലെങ്കിൽ മോട്ടോർ ഗ്രൂപ്പുകൾ. രണ്ട് പാരാമീറ്ററുകളും ഒരേ തരം ഉപയോഗിക്കണം: രണ്ട് |
|
|
ഡ്രൈവ്ട്രെയിൻ ചക്രങ്ങളുടെ ചുറ്റളവ്. സ്ഥിരസ്ഥിതി |
|
|
ഇടത്, വലത് ചക്രങ്ങൾ തമ്മിലുള്ള ദൂരം. സ്ഥിരസ്ഥിതി |
|
|
മുൻ ചക്രങ്ങളും പിൻ ചക്രങ്ങളും തമ്മിലുള്ള ദൂരം. സ്ഥിരസ്ഥിതി |
|
|
|
|
|
ഗിയറുകൾ ഉപയോഗിക്കുമ്പോൾ ഡ്രൈവ് ദൂരം ക്രമീകരിക്കാൻ ഉപയോഗിക്കുന്ന ഗിയർ അനുപാതം. സ്ഥിരസ്ഥിതി |
ഉദാഹരണം#
// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);
// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
leftMotor, // left motor
rightMotor, // right motor
259.34, // wheelTravel
320, // trackWidth
40, // wheelBase
mm, // unit
1.0 ); // externalGearRatio
അംഗ പ്രവർത്തനങ്ങൾ#
drivetrain ക്ലാസിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്ഷനുകൾ ഉൾപ്പെടുന്നു:
പ്രവർത്തനങ്ങൾ - റോബോട്ട് നീക്കി തിരിക്കുക.
drive- റോബോട്ടിനെ മുന്നോട്ട് നീക്കുകയോ എന്നെന്നേക്കുമായി പിന്നോട്ട് നീക്കുകയോ ചെയ്യുന്നു.driveFor- റോബോട്ടിനെ ഒരു പ്രത്യേക ദൂരത്തേക്ക് മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നിലേക്ക് നീക്കുന്നു.turn- റോബോട്ടിനെ എന്നെന്നേക്കുമായി ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു.turnFor- ഒരു നിശ്ചിത എണ്ണം ഡിഗ്രികൾക്കോ പരിക്രമണങ്ങൾക്കോ വേണ്ടി റോബോട്ടിനെ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു.stop- റോബോട്ടിന്റെ ചലനം നിർത്തുന്നു.
ക്രമീകരണങ്ങൾ - ഡ്രൈവ്ട്രെയിൻ ക്രമീകരണങ്ങൾ ക്രമീകരിക്കുക.
setDriveVelocity- റോബോട്ടിനോട് എത്ര വേഗത്തിൽ ഡ്രൈവ് ചെയ്യണമെന്ന് പറയുന്നു.setTurnVelocity- എത്ര വേഗത്തിൽ തിരിയണമെന്ന് റോബോട്ടിനോട് പറയുന്നു.setStopping- റോബോട്ട് എങ്ങനെ നീങ്ങുന്നത് നിർത്തുമെന്ന് പറയുന്നു: ബ്രേക്കിംഗ്, കോസ്റ്റിംഗ് അല്ലെങ്കിൽ ഹോൾഡിംഗ് വഴി.setTimeout- റോബോട്ട് ഒരു ചലനം പൂർത്തിയാക്കാൻ എത്ര സമയം ശ്രമിക്കുമെന്ന് സജ്ജമാക്കുന്നു.
മൂല്യങ്ങൾ - ചലന നില പരിശോധിക്കുക.
isDone- റോബോട്ട് നീക്കുന്നത് പൂർത്തിയായോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.isMoving- റോബോട്ട് ചലിക്കുന്നുണ്ടോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.velocity- റോബോട്ട് എത്ര വേഗത്തിൽ ഡ്രൈവ് ചെയ്യുന്നുവെന്ന് നൽകുന്നു.current- ഡ്രൈവ്ട്രെയിൻ എത്ര വൈദ്യുതി കറന്റ് ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.power- ഡ്രൈവ്ട്രെയിൻ എത്ര വേഗത്തിൽ ഊർജ്ജം ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.torque- ഡ്രൈവ്ട്രെയിൻ എത്ര ടോർക്ക് ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.efficiency- ഡ്രൈവ്ട്രെയിൻ എത്രത്തോളം കാര്യക്ഷമമായി പവർ ഉപയോഗിക്കുന്നുവെന്ന് നൽകുന്നു.temperature- ഡ്രൈവ്ട്രെയിൻ എത്രത്തോളം ചൂടാണെന്ന് നൽകുന്നു.voltage- ഡ്രൈവ്ട്രെയിനിന്റെ വൈദ്യുത വോൾട്ടേജ് തിരികെ നൽകുന്നു.
ഏതെങ്കിലും drivetrain അംഗ ഫംഗ്ഷനുകൾ വിളിക്കുന്നതിന് മുമ്പ്, ഒരു drivetrain ഒബ്ജക്റ്റ് സൃഷ്ടിക്കണം.
/* This constructor is required when using VS Code.
Drivetrain configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);
// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
leftMotor, // left motor
rightMotor, // right motor
259.34, // wheelTravel
320, // trackWidth
40, // wheelBase
mm, // unit
1.0 ); // externalGearRatio
പ്രവർത്തനങ്ങൾ#
ഡ്രൈവ് ചെയ്യുക#
drive റോബോട്ടിനെ എന്നെന്നേക്കുമായി മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നിലേക്ക് നീക്കുന്നു. തിരിയുകയോ നിർത്തുകയോ പോലുള്ള മറ്റൊരു പ്രവർത്തനം നൽകുന്നതുവരെ റോബോട്ട് നീങ്ങുന്നത് തുടരും.
1 - നിലവിലെ ഡ്രൈവ് പ്രവേഗം ഉപയോഗിക്കുന്ന ഡ്രൈവുകൾ.
void drive( directionType dir );
Parameters2 - നിർദ്ദിഷ്ട വേഗതയിൽ ഡ്രൈവ് ചെയ്യുന്നു.
void drive( directionType dir, double velocity, velocityUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
റോബോട്ട് നീങ്ങുന്ന ദിശ: |
|
|
|
|
|
പ്രവേഗ യൂണിറ്റ്: |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Notesdriveകാത്തിരിക്കുന്നില്ല. പ്രോജക്റ്റ് ഉടൻ തന്നെ അടുത്ത കോഡ് വരി പ്രവർത്തിപ്പിക്കും.stopവിളിക്കുന്നതുവരെയോ അല്ലെങ്കിൽ മറ്റൊരു ഡ്രൈവ്ട്രെയിൻ മൂവ്മെന്റ് ഫംഗ്ഷൻ പ്രവർത്തിക്കുന്നതുവരെയോ റോബോട്ട് ചലിക്കുന്നത് തുടരും.isDoneഉംisMovingഉംdriveനൊപ്പം ഉപയോഗിക്കുന്നില്ല, കാരണംdriveന് ലക്ഷ്യ ദൂരം ഇല്ല.
// Drive forward and back.
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
ഡ്രൈവ്ഫോർ#
driveFor റോബോട്ടിനെ ഒരു പ്രത്യേക ദൂരത്തേക്ക് മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നിലേക്ക് നീക്കുന്നു. അടുത്ത കോഡ് വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് റോബോട്ട് നീങ്ങുന്നത് വരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.
1 - നിലവിലെ ഡ്രൈവ് പ്രവേഗം ഉപയോഗിച്ച് നിശ്ചിത ദിശയിൽ ഒരു ദൂരത്തേക്ക് ഡ്രൈവ് ചെയ്യുന്നു.
bool driveFor( directionType dir, double distance, distanceUnits units, bool waitForCompletion = true );
2 - നിലവിലെ ഡ്രൈവ് പ്രവേഗം ഉപയോഗിച്ച് ദൂര മൂല്യത്തെ അടിസ്ഥാനമാക്കി ഒരു ദിശയിലേക്ക് ഡ്രൈവ് ചെയ്യുന്നു.
bool driveFor( double distance, distanceUnits units, bool waitForCompletion = true );
3 - നിർദ്ദിഷ്ട പ്രവേഗത്തിലെ ദൂര മൂല്യത്തെ അടിസ്ഥാനമാക്കി ഒരു ദിശയിലേക്ക് ഡ്രൈവ് ചെയ്യുന്നു.
bool driveFor( double distance, distanceUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters4 - നിർദ്ദിഷ്ട വേഗതയിൽ നിർദ്ദിഷ്ട ദിശയിൽ ഒരു ദൂരം സഞ്ചരിക്കുന്നു.
bool driveFor( directionType dir, double distance, distanceUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
റോബോട്ട് നീങ്ങുന്ന ദിശ: |
|
|
റോബോട്ട് ഓടിക്കുന്ന ദൂരം. |
|
|
ദൂരത്തിന്റെ യൂണിറ്റ്: |
|
|
|
|
|
പ്രവേഗ യൂണിറ്റ്: |
|
|
|
റോബോട്ട് ലക്ഷ്യ ദൂരത്തിൽ എത്തിയോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.
true- റോബോട്ട് ലക്ഷ്യ ദൂരത്തിൽ എത്തി.false- റോബോട്ട് ചലനം പൂർത്തിയാക്കിയില്ല, അല്ലെങ്കിൽwaitForCompletionfalseആയി സജ്ജീകരിച്ചതിനാൽ ചലനം പൂർത്തിയാകുന്നതിന് മുമ്പ് പ്രവർത്തനം തിരിച്ചെത്തി.
driveForപ്രവർത്തിക്കുമ്പോൾ മറ്റൊരു ഡ്രൈവ്ട്രെയിൻ മൂവ്മെന്റ് ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നത് നിലവിലെ ചലനത്തെ തടസ്സപ്പെടുത്തും.driveForഒരു ലക്ഷ്യ ദൂരം ഉപയോഗിക്കുന്നു, അതിനാൽisDoneഉംisMovingഉം ഇതിനൊപ്പം ഉപയോഗിക്കാം.
// Drive 200 mm, then back 200 mm.
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);
തിരിയുക#
turn റോബോട്ടിനെ എന്നെന്നേക്കുമായി ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു. വാഹനമോടിക്കുകയോ നിർത്തുകയോ പോലുള്ള മറ്റൊരു പ്രവർത്തനം നൽകുന്നതുവരെ റോബോട്ട് തിരിയുന്നത് തുടരും.
1 - നിലവിലെ ടേൺ പ്രവേഗം ഉപയോഗിച്ച് തിരിവുകൾ.
void turn( turnType dir );
Parameters2 - നിർദ്ദിഷ്ട വേഗതയിൽ തിരിയുന്നു.
void turn( turnType dir, double velocity, velocityUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
റോബോട്ട് തിരിയുന്ന ദിശ: |
|
|
The velocity to turn with from 0% to 100% when using |
|
|
പ്രവേഗ യൂണിറ്റ്: |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Notesturnനോൺ-വെയ്റ്റിംഗ് ആണ്. പ്രോജക്റ്റ് ഉടൻ തന്നെ അടുത്ത കോഡ് വരി പ്രവർത്തിപ്പിക്കും.stopവിളിക്കുന്നതുവരെയോ അല്ലെങ്കിൽ മറ്റൊരു ഡ്രൈവ്ട്രെയിൻ മൂവ്മെന്റ് ഫംഗ്ഷൻ പ്രവർത്തിക്കുന്നതുവരെയോ റോബോട്ട് കറങ്ങിക്കൊണ്ടിരിക്കും.isDoneഉംisMovingturnൽ ഉപയോഗിക്കുന്നില്ല, കാരണംturnന് ഒരു ലക്ഷ്യ ആംഗിൾ ഇല്ല.
// Turn right, then left, then stop.
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();
ടേൺഫോർ#
turnFor റോബോട്ടിനെ ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിക്കുന്നു, ഒരു നിശ്ചിത എണ്ണം ഡിഗ്രികൾ, പരിക്രമണങ്ങൾ അല്ലെങ്കിൽ അസംസ്കൃത യൂണിറ്റുകൾ. റോബോട്ടിന്റെ നിലവിലെ സ്ഥാനവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ടേൺ വ്യത്യാസപ്പെടുന്നു. കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് റോബോട്ട് തിരിയുന്നത് വരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.
1 - നിലവിലെ ടേൺ പ്രവേഗം ഉപയോഗിച്ച് നിർദ്ദിഷ്ട കോണിലേക്ക് തിരിയുന്നു.
bool turnFor( double angle, rotationUnits units, bool waitForCompletion = true );
2 - നിലവിലെ ടേൺ പ്രവേഗം ഉപയോഗിച്ച് ഒരു കോണിനായി നിർദ്ദിഷ്ട ദിശയിലേക്ക് തിരിയുന്നു.
bool turnFor( turnType dir, double angle, rotationUnits units, bool waitForCompletion = true );
3 - നിർദ്ദിഷ്ട പ്രവേഗത്തിൽ നിർദ്ദിഷ്ട കോണിലേക്ക് തിരിയുന്നു.
bool turnFor( double angle, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters4 - നിർദ്ദിഷ്ട പ്രവേഗത്തിൽ ഒരു കോണിൽ നിർദ്ദിഷ്ട ദിശയിലേക്ക് തിരിയുന്നു.
bool turnFor( turnType dir, double angle, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
റോബോട്ട് തിരിയുന്ന ദിശ: |
|
|
റോബോട്ട് തിരിക്കുന്ന തുക. |
|
|
ടേൺ യൂണിറ്റ്: |
|
|
The velocity to turn with from 0% to 100% when using |
|
|
പ്രവേഗ യൂണിറ്റ്: |
|
|
|
റോബോട്ട് ലക്ഷ്യ കോണിൽ എത്തിയോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു.
true- റോബോട്ട് ലക്ഷ്യ കോണിൽ എത്തി.false- റോബോട്ട് ടേൺ പൂർത്തിയാക്കിയില്ല, അല്ലെങ്കിൽwaitForCompletionfalseആയി സജ്ജീകരിച്ചതിനാൽ ടേൺ പൂർത്തിയാകുന്നതിന് മുമ്പ് ഫംഗ്ഷൻ മടങ്ങി.
turnForപ്രവർത്തിക്കുമ്പോൾ മറ്റൊരു ഡ്രൈവ്ട്രെയിൻ മൂവ്മെന്റ് ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നത് നിലവിലെ ചലനത്തെ തടസ്സപ്പെടുത്തും.turnForഒരു ലക്ഷ്യ ആംഗിൾ ഉപയോഗിക്കുന്നു, അതിനാൽisDoneഉംisMovingഉം ഇതിനൊപ്പം ഉപയോഗിക്കാം.
// Turn right, then left.
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);
നിർത്തുക#
stop റോബോട്ടിന്റെ ചലനം നിർത്തുന്നു. ഒരു സ്റ്റോപ്പിംഗ് മോഡ് നൽകിയിട്ടുണ്ടെങ്കിൽ, ഈ ഫംഗ്ഷൻ കോളിനായി റോബോട്ട് എങ്ങനെ നിർത്തുന്നു എന്നത് ഇത് നിയന്ത്രിക്കുന്നു.
1 - നിലവിലെ സ്റ്റോപ്പിംഗ് മോഡ് ഉപയോഗിച്ച് ഡ്രൈവ്ട്രെയിൻ നിർത്തുന്നു.
void stop();
Parameters2 - നിർദ്ദിഷ്ട സ്റ്റോപ്പിംഗ് മോഡ് ഉപയോഗിച്ച് ഡ്രൈവ്ട്രെയിൻ നിർത്തുന്നു.
void stop( brakeType mode );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
റോബോട്ട് എങ്ങനെ നിർത്തും:
|
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Examples// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);
മ്യൂട്ടേറ്ററുകൾ#
സെറ്റ്ഡ്രൈവ്വെലോസിറ്റി#
setDriveVelocity റോബോട്ടിനോട് എത്ര വേഗത്തിൽ ഡ്രൈവ് ചെയ്യണമെന്ന് പറയുന്നു. ഉയർന്ന ശതമാനം റോബോട്ടിനെ വേഗത്തിലാക്കാനും കുറഞ്ഞ ശതമാനം റോബോട്ടിനെ മന്ദഗതിയിലാക്കാനും സഹായിക്കുന്നു.
എല്ലാ പ്രോജക്റ്റുകളും ആരംഭിക്കുന്നത് റോബോട്ട് സ്വതവേ 50% വേഗതയിൽ ഓടിച്ചാണ്.
കുറിപ്പ്: ഉയർന്ന വേഗത റോബോട്ട് വേഗത്തിൽ ഓടിക്കാൻ സഹായിക്കുന്നു, പക്ഷേ കൃത്യത കുറവായിരിക്കാം. കുറഞ്ഞ വേഗത റോബോട്ട് വേഗത കുറയ്ക്കുന്നു, പക്ഷേ കൂടുതൽ കൃത്യതയുള്ളതാകാം.
Available Functionsvoid setDriveVelocity(
double velocity,
velocityUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
|
|
|
പ്രവേഗ യൂണിറ്റ്: |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Notesഫംഗ്ഷൻ കോളിൽ ഒരു പ്രത്യേക പ്രവേഗം നൽകിയിട്ടില്ലെങ്കിൽ, പിന്നീടുള്ള ഡ്രൈവ്ട്രെയിൻ ചലന ഫംഗ്ഷനുകൾ ഡ്രൈവ് പ്രവേഗം ഉപയോഗിക്കുന്നു.
// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);
സെറ്റ്ടേൺ വെലോസിറ്റി#
setTurnVelocity റോബോട്ടിനോട് എത്ര വേഗത്തിൽ തിരിയണമെന്ന് പറയുന്നു. ഉയർന്ന ശതമാനം റോബോട്ടിനെ വേഗത്തിലാക്കാനും കുറഞ്ഞ ശതമാനം റോബോട്ടിനെ മന്ദഗതിയിലാക്കാനും സഹായിക്കുന്നു.
എല്ലാ പ്രോജക്റ്റുകളും ആരംഭിക്കുന്നത് റോബോട്ട് സ്ഥിരസ്ഥിതിയായി 50% വേഗതയിൽ കറങ്ങുമ്പോഴാണ്.
കുറിപ്പ്: ഉയർന്ന വേഗത റോബോട്ടിനെ വേഗത്തിൽ തിരിയാൻ പ്രേരിപ്പിക്കുന്നു, പക്ഷേ കൃത്യത കുറവായിരിക്കാം. കുറഞ്ഞ വേഗത റോബോട്ടിനെ മന്ദഗതിയിലാക്കുന്നു, പക്ഷേ കൂടുതൽ കൃത്യതയുള്ളതാകാം.
Available Functionsvoid setTurnVelocity(
double velocity,
velocityUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
|
|
|
പ്രവേഗ യൂണിറ്റ്: |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Notesഫംഗ്ഷൻ കോളിൽ ഒരു പ്രത്യേക പ്രവേഗം നൽകിയിട്ടില്ലെങ്കിൽ, പിന്നീടുള്ള ഡ്രൈവ്ട്രെയിൻ ടേണിംഗ് ഫംഗ്ഷനുകൾ ടേൺ പ്രവേഗം ഉപയോഗിക്കുന്നു.
// Try default, slow, then fast.
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(20, percent);
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(100, percent);
myDrivetrain.turnFor(right, 360, degrees);
നിർത്തൽ സജ്ജമാക്കുക#
setStopping റോബോട്ട് എങ്ങനെ നീങ്ങുന്നത് നിർത്തുമെന്ന് സജ്ജമാക്കുന്നു: ബ്രേക്കിംഗ്, കോസ്റ്റിംഗ് അല്ലെങ്കിൽ ഹോൾഡിംഗ് വഴി.
void setStopping(
brakeType mode );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
റോബോട്ട് എങ്ങനെ നിർത്തും:
|
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Notesഫംഗ്ഷൻ കോളിൽ ഒരു പ്രത്യേക സ്റ്റോപ്പിംഗ് മോഡ് നൽകിയിട്ടില്ലെങ്കിൽ, പിന്നീടുള്ള
stopകോളുകൾ സ്റ്റോപ്പിംഗ് മോഡ് ഉപയോഗിക്കുന്നു.ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, നിർത്തുമ്പോൾ റോബോട്ട്
brakeഉപയോഗിക്കും.
സെറ്റ്ടൈമൗട്ട്#
setTimeout എന്നത് റോബോട്ട് ഒരു ചലനം പൂർത്തിയാക്കാൻ എത്ര സമയം ശ്രമിക്കുമെന്ന് സജ്ജമാക്കുന്നു. ആ സമയത്ത് റോബോട്ടിന് പൂർത്തിയാക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, അത് ശ്രമം നിർത്തി അടുത്ത കോഡ് വരിയിലേക്ക് നീങ്ങും. ഇത് റോബോട്ടിനെ ഒരു ചലനത്തിൽ കുടുങ്ങിപ്പോകുന്നത് തടയുന്നു.
void setTimeout(
int32_t time,
timeUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഒരു ചലനം പൂർത്തിയാക്കാൻ റോബോട്ടിന് എത്ര സമയം ശ്രമിക്കാൻ കഴിയും. ഇത് ഒരു പോസിറ്റീവ് പൂർണ്ണ സംഖ്യയായിരിക്കണം. |
|
|
സമയത്തിന്റെ യൂണിറ്റ്: |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
NotesdriveForഉംturnForഉം പോലുള്ള ഒരു ലക്ഷ്യത്തിലേക്ക് നീങ്ങുന്ന ഡ്രൈവ്ട്രെയിൻ ഫംഗ്ഷനുകൾക്ക് മാത്രമേ സമയപരിധി ബാധകമാകൂ.
// Turn right after driving forward.
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);
ഗെറ്ററുകൾ#
കഴിഞ്ഞു#
isDone എന്നത് റോബോട്ട് നീങ്ങുന്നത് അവസാനിച്ചോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു. റോബോട്ടിന്റെ ചലനത്തെ അടിസ്ഥാനമാക്കി മറ്റ് പെരുമാറ്റങ്ങളുടെ സമയം നിയന്ത്രിക്കാൻ ഇത് ഉപയോഗിക്കാം.
bool isDone( void );
ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.
Return Valuestrue- റോബോട്ട് നീങ്ങുന്നത് പൂർത്തിയായി.false- റോബോട്ട് ഇപ്പോഴും നീങ്ങിക്കൊണ്ടിരിക്കുന്നു.
നീങ്ങുന്നു#
isMoving എന്നത് റോബോട്ട് നീങ്ങുന്നുണ്ടോ എന്ന് ഒരു ബൂളിയൻ മൂല്യമായി നൽകുന്നു. റോബോട്ടിന്റെ ചലനത്തെ അടിസ്ഥാനമാക്കി മറ്റ് പെരുമാറ്റങ്ങളുടെ സമയം നിയന്ത്രിക്കാൻ ഇത് ഉപയോഗിക്കാം.
virtual bool isMoving( void );
ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.
Return Valuestrue- റോബോട്ട് നീങ്ങുന്നു.false- റോബോട്ട് നീങ്ങുന്നില്ല.
വേഗത#
velocity റോബോട്ട് എത്ര വേഗത്തിൽ ഓടിക്കുന്നു എന്ന് തിരികെ നൽകുന്നു.
ഇതിന് rpmഅല്ലെങ്കിൽ dpsൽ ഒരു ശതമാനമായി വേഗത തിരികെ നൽകാൻ കഴിയും. ഒരു പോസിറ്റീവ് മൂല്യം റോബോട്ട് മുന്നോട്ട് ഓടിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. ഒരു നെഗറ്റീവ് മൂല്യം റോബോട്ട് വിപരീത ദിശയിൽ ഓടിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്.
double velocity(
velocityUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
പ്രവേഗം തിരികെ നൽകേണ്ട യൂണിറ്റ്: |
തിരഞ്ഞെടുത്ത യൂണിറ്റിൽ ഡ്രൈവ്ട്രെയിൻ പ്രവേഗം double ആയി നൽകുന്നു.
// Show velocity before and during motion.
Brain.Screen.print("Resting: %f", myDrivetrain.velocity(percent));
myDrivetrain.drive(forward, 100, velocityUnits::pct);
wait(1, seconds);
Brain.Screen.newLine();
Brain.Screen.print("Moving: %f", myDrivetrain.velocity(percent));
myDrivetrain.stop();
നിലവിലുള്ളത്#
ഡ്രൈവ്ട്രെയിൻ എത്ര വൈദ്യുതി ഉപയോഗിക്കുന്നു എന്ന് current നൽകുന്നു. ഡ്രൈവ്ട്രെയിനിലൂടെ ഒഴുകുന്ന വൈദ്യുതിയുടെ അളവാണ് കറന്റ്. യൂണിറ്റിനെ ആശ്രയിച്ച് ഇത് ആമ്പുകളിലോ (ആമ്പിയറുകളിലോ) ശതമാനമായോ തിരികെ നൽകാം.
ഉയർന്ന കറന്റ് മൂല്യം എന്നാൽ ഡ്രൈവ്ട്രെയിൻ കൂടുതൽ വൈദ്യുത പ്രവാഹം ഉപയോഗിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. റോബോട്ട് ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോഴോ അത് കുടുങ്ങിക്കിടക്കുമ്പോൾ നീങ്ങാൻ ശ്രമിക്കുമ്പോഴോ ഇത് സംഭവിക്കാം.
ഒരു ചലത്തിനിടയിൽ ഡ്രൈവ്ട്രെയിൻ ബുദ്ധിമുട്ടുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കാം. കറന്റ് ഉയർന്ന നിലയിൽ തുടരുകയാണെങ്കിൽ, ഡ്രൈവ്ട്രെയിൻ ചൂടാകുകയോ പവർ കാര്യക്ഷമമായി കുറയ്ക്കുകയോ ചെയ്തേക്കാം.
Available Functions1 - ഡ്രൈവ്ട്രെയിനിന്റെ വൈദ്യുത പ്രവാഹം ആമ്പുകളിൽ തിരികെ നൽകുന്നു.
double current( currentUnits units = currentUnits::amp );
Parameters2 - ഡ്രൈവ്ട്രെയിനിന്റെ വൈദ്യുത പ്രവാഹം ശതമാനമായി നൽകുന്നു.
double current( percentUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
കറന്റ് തിരികെ നൽകേണ്ട യൂണിറ്റ്: |
|
|
കറന്റ് തിരികെ നൽകേണ്ട യൂണിറ്റ്: |
തിരഞ്ഞെടുത്ത യൂണിറ്റിൽ ഡ്രൈവ്ട്രെയിൻ കറന്റ് double ആയി നൽകുന്നു.
ശക്തി#
power എന്നത് ഡ്രൈവ്ട്രെയിൻ എത്ര പവർ ഉപയോഗിക്കുന്നു എന്ന് വാട്ടുകളിൽ അളക്കുന്നു. പവർ ഡ്രൈവ്ട്രെയിൻ എത്ര വേഗത്തിൽ ഊർജ്ജം ഉപയോഗിക്കുന്നുവെന്ന് കാണിക്കുന്നു.
ഉയർന്ന പവർ മൂല്യം എന്നാൽ ഡ്രൈവ്ട്രെയിൻ വേഗത്തിൽ ഊർജ്ജം ഉപയോഗിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. റോബോട്ട് ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോഴോ അത് കുടുങ്ങിക്കിടക്കുമ്പോൾ നീങ്ങാൻ ശ്രമിക്കുമ്പോഴോ ഇത് സംഭവിക്കാം.
ഇത് ചലനങ്ങൾ താരതമ്യം ചെയ്യാനോ ഡ്രൈവ്ട്രെയിൻ ബുദ്ധിമുട്ടുന്നുണ്ടോ എന്ന് പരിശോധിക്കാനോ ഉപയോഗിക്കാം. പവർ ഉയർന്ന നിലയിൽ തുടരുകയാണെങ്കിൽ, ഡ്രൈവ്ട്രെയിൻ ചൂടാകുകയോ ഊർജ്ജം കാര്യക്ഷമമായി ഉപയോഗിക്കാതിരിക്കുകയോ ചെയ്തേക്കാം.
Available Functionsdouble power(
powerUnits units = powerUnits::watt );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
പവർ യൂണിറ്റ്: |
ഡ്രൈവ്ട്രെയിൻ പവർ വാട്ടുകളിൽ double ആയി തിരികെ നൽകുന്നു.
ടോർക്ക്#
ചക്രങ്ങൾ കറങ്ങുമ്പോൾ ഡ്രൈവ്ട്രെയിനിന് എത്രത്തോളം ശക്തമായി തള്ളാനോ വലിക്കാനോ കഴിയുമെന്ന് ടോർക്ക് കാണിക്കുന്നു.
torque എന്നത് ഡ്രൈവ്ട്രെയിൻ എത്ര ടോർക്ക് ഉപയോഗിക്കുന്നു എന്ന് നൽകുന്നു, ഇത് ന്യൂട്ടൺ-മീറ്ററിൽ (Nm) അല്ലെങ്കിൽ ഇഞ്ച്-പൗണ്ടിൽ (InLb) അളക്കുന്നു.
ഉയർന്ന ടോർക്ക് മൂല്യം എന്നാൽ ഡ്രൈവ്ട്രെയിൻ കൂടുതൽ ശക്തമായി തള്ളുകയോ വലിക്കുകയോ ചെയ്യുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. റോബോട്ട് ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോഴോ അത് കുടുങ്ങിക്കിടക്കുമ്പോൾ ചലിക്കാൻ ശ്രമിക്കുമ്പോഴോ ഇത് സംഭവിക്കാം.
ഡ്രൈവ്ട്രെയിൻ ബുദ്ധിമുട്ടുന്നുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനോ വ്യത്യസ്ത ചലനങ്ങൾക്ക് എത്രമാത്രം പുഷ് ആവശ്യമാണെന്ന് താരതമ്യം ചെയ്യുന്നതിനോ ഇത് ഉപയോഗിക്കാം.
Available Functionsdouble torque(
torqueUnits units = torqueUnits::nm );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ടോർക്ക് തിരികെ നൽകേണ്ട യൂണിറ്റ്: |
തിരഞ്ഞെടുത്ത യൂണിറ്റിൽ ഡ്രൈവ്ട്രെയിൻ ടോർക്ക് double ആയി നൽകുന്നു.
കാര്യക്ഷമത#
0% മുതൽ 100% വരെയുള്ള ശതമാനത്തിൽ, ഡ്രൈവ്ട്രെയിൻ എത്രത്തോളം കാര്യക്ഷമമായി പവർ ഉപയോഗിക്കുന്നുവെന്ന് efficiency നൽകുന്നു.
ഡ്രൈവ്ട്രെയിനിന്റെ പവറിന്റെ എത്രത്തോളം ചലനത്തിനായി ഉപയോഗിക്കപ്പെടുന്നു എന്ന് കാര്യക്ഷമത കാണിക്കുന്നു. ഉയർന്ന കാര്യക്ഷമത മൂല്യം എന്നാൽ ഡ്രൈവ്ട്രെയിനിന്റെ പവറിന്റെ കൂടുതൽ ഭാഗം ചലിക്കാൻ ഉപയോഗിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്. ഡ്രൈവ്ട്രെയിനിന്റെ കഠിനാധ്വാനം ചെയ്യുമ്പോൾ, പക്ഷേ അധികം ചലിക്കാതെ, റോബോട്ട് കുടുങ്ങിക്കിടക്കുമ്പോഴോ ഒരു വസ്തുവിന് നേരെ തള്ളുമ്പോഴോ പോലെ, കുറഞ്ഞ കാര്യക്ഷമത മൂല്യം സംഭവിക്കാം.
ചലനങ്ങൾ താരതമ്യം ചെയ്യുന്നതിനോ ഡ്രൈവ്ട്രെയിൻ ചലനത്തിനായി ഉപയോഗിക്കുന്നതിന് പകരം പവർ പാഴാക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനോ ഇത് ഉപയോഗിക്കാം.
Available Functionsdouble efficiency(
percentUnits units = percentUnits::pct );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
കാര്യക്ഷമത തിരികെ നൽകേണ്ട യൂണിറ്റ്: |
തിരഞ്ഞെടുത്ത യൂണിറ്റിൽ ഡ്രൈവ്ട്രെയിൻ കാര്യക്ഷമത double ആയി തിരികെ നൽകുന്നു.
താപനില#
temperature ഡ്രൈവ്ട്രെയിനിന്റെ ശരാശരി താപനില 0% മുതൽ 100% വരെയുള്ള ശതമാനമായി നൽകുന്നു.
ഡ്രൈവ്ട്രെയിൻ മോട്ടോറുകൾ എത്രത്തോളം ചൂടാണെന്ന് താപനില കാണിക്കുന്നു. ഉയർന്ന താപനില എന്നതിനർത്ഥം മോട്ടോറുകൾ പ്രവർത്തിക്കുമ്പോൾ ചൂടാകുന്നു എന്നാണ്. പൂർണ്ണ പ്രകടനത്തോടെ പ്രവർത്തിക്കാൻ മോട്ടോറുകൾ 55°C-ൽ താഴെയായിരിക്കണം.
മോട്ടോറുകൾ വളരെ ചൂടായാൽ, സ്വയം പരിരക്ഷിക്കുന്നതിനായി അവ പരമാവധി കറന്റ് കുറയ്ക്കും. 70°C-ൽ, തണുക്കുന്നത് വരെ മോട്ടോറുകൾ പ്രവർത്തിക്കുന്നത് നിർത്തും.
ആവർത്തിച്ചുള്ള ചലനങ്ങൾ, ദീർഘദൂര ഓട്ടങ്ങൾ, അല്ലെങ്കിൽ ഒരു വസ്തുവിനെതിരെ തള്ളുമ്പോൾ ഡ്രൈവ്ട്രെയിൻ അമിതമായി ചൂടാകുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കാം.
Available Functionsdouble temperature(
percentUnits units );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
താപനില തിരികെ നൽകേണ്ട യൂണിറ്റ്: |
തിരഞ്ഞെടുത്ത യൂണിറ്റിൽ ശരാശരി ഡ്രൈവ്ട്രെയിൻ താപനില double ആയി നൽകുന്നു.
50%എന്ന റിട്ടേൺ മൂല്യം അർത്ഥമാക്കുന്നത് ശരാശരി മോട്ടോർ താപനില ഏകദേശം45°C(113°F) ആണെന്നാണ്.ഡ്രൈവ്ട്രെയിനിന്റെ സാധാരണ പ്രവർത്തന താപനില പരിധി ഏകദേശം
20°C(68°F) മുതൽ70°C(158°F) വരെയാണ്.
വോൾട്ടേജ്#
voltage ഡ്രൈവ്ട്രെയിനിന്റെ വൈദ്യുത വോൾട്ടേജ് തിരികെ നൽകുന്നു.
ഡ്രൈവ്ട്രെയിൻ മോട്ടോറുകളിലേക്ക് വിതരണം ചെയ്യുന്ന വൈദ്യുത മർദ്ദമാണ് വോൾട്ടേജ്. ഡ്രൈവ്ട്രെയിൻ വൈദ്യുതോർജ്ജം എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ കറന്റ്, പവർ മൂല്യങ്ങൾ ഉപയോഗിച്ച് ഇത് ഉപയോഗിക്കാം.
Available Functionsdouble voltage(
voltageUnits units = voltageUnits::volt );
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
വോൾട്ടേജ് തിരികെ നൽകേണ്ട യൂണിറ്റ്: |
തിരഞ്ഞെടുത്ത യൂണിറ്റിൽ ഡ്രൈവ്ട്രെയിൻ വോൾട്ടേജ് double ആയി നൽകുന്നു.