CTE ആം#

ആമുഖം#

CTE വർക്ക്സെല്ലിൽ ഉപയോഗിക്കുന്ന 6-ആക്സിസ് ആമിന് arm ക്ലാസ് നിയന്ത്രണം നൽകുന്നു. VEX V5 C+±ൽ, 6-ആക്സിസ് ആമിന് ഒരു എൻഡ് ഇഫക്ടറിനെ ത്രിമാന സ്ഥലത്തെ സ്ഥാനങ്ങളിലേക്ക് നീക്കാനും, എൻഡ് ഇഫക്ടറിനെ തിരിക്കാനും, ചലനങ്ങൾ സാധ്യമാണോ എന്ന് പരിശോധിക്കാനും, മാഗ്നെറ്റ് പിക്കപ്പ് ടൂൾ അല്ലെങ്കിൽ പെൻ ഹോൾഡർ ടൂൾ പോലുള്ള അറ്റാച്ച് ചെയ്ത ടൂളുകളെ നിയന്ത്രിക്കാനും കഴിയും.

VEXcode V5-ൽ 6-Axis Arm ഒരു ഉപകരണമായി കോൺഫിഗർ ചെയ്തിട്ടില്ല. ഒരു VEX V5 C++ പ്രോജക്റ്റിൽ ഇത് ഉപയോഗിക്കാൻ, 6-Axis Arm ബന്ധിപ്പിച്ചിരിക്കുന്ന സ്മാർട്ട് പോർട്ടിനൊപ്പം കോഡിൽ ഒരു arm ഒബ്‌ജക്റ്റ് സ്വമേധയാ സൃഷ്ടിക്കുക.

ഈ പേജിലെ ഉദാഹരണങ്ങൾ Arm എന്ന് പേരുള്ള ഒരു മാനുവൽ നിർമ്മിച്ച 6-Axis Arm ഉപയോഗിക്കുന്നു.

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

arm#

arm ഒരു 6-ആക്സിസ് ഭുജ വസ്തുവിനെ സൃഷ്ടിക്കുന്നു.

ലഭ്യമായ പ്രവർത്തനം

arm(int32_t index);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

index

int32_t

6-ആക്സിസ് ആം ബന്ധിപ്പിച്ചിരിക്കുന്ന സ്മാർട്ട് പോർട്ട്, PORTxഎന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ x എന്നത് പോർട്ട് നമ്പറാണ്. ഉദാഹരണത്തിന്, PORT1.

ഉദാഹരണം

// Create a 6-Axis Arm named Arm on Port 1
arm Arm = arm(PORT1);

ഡിസ്ട്രക്ടർ#

~arm#

~arm arm വസ്തുവിനെ നശിപ്പിക്കുകയും അനുബന്ധ വിഭവങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

ലഭ്യമായ പ്രവർത്തനം

~arm();

അംഗ പ്രവർത്തനങ്ങൾ#

arm ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്‌ഷനുകൾ ഉൾപ്പെടുന്നു:

പ്രവർത്തനങ്ങൾ — 6-ആക്സിസ് ആം സ്ഥാനങ്ങളിലേക്കോ ഓറിയന്റേഷനുകളിലേക്കോ നീക്കുക.

  • moveTo — എൻഡ് ഇഫക്റ്ററിനെ ഒരു നിർദ്ദിഷ്ട x, y, z കോർഡിനേറ്റിലേക്ക് നീക്കുന്നു.

  • moveInc — എൻഡ് ഇഫക്റ്ററിനെ അതിന്റെ നിലവിലെ സ്ഥാനത്ത് നിന്ന് ഒരു നിശ്ചിത ദൂരം നീക്കുന്നു.

  • moveEndEffectorTo — എൻഡ് ഇഫക്റ്ററിനെ ഒരു നിർദ്ദിഷ്ട യാവ്, റോൾ, പിച്ച് ഓറിയന്റേഷനിലേക്ക് തിരിക്കുന്നു.

  • moveEndEffectorInc — ഒരു നിശ്ചിത യാവ്, റോൾ, പിച്ച് തുക ഉപയോഗിച്ച് എൻഡ് ഇഫക്റ്ററിനെ തിരിക്കുന്നു.

മ്യൂട്ടേറ്ററുകൾ — ചലനം, ഉപകരണങ്ങൾ, നിയന്ത്രണ ക്രമീകരണങ്ങൾ എന്നിവ കോൺഫിഗർ ചെയ്യുക.

  • setSpeed — 6-ആക്സിസ് ആം ഉപയോഗിക്കുന്ന ചലന വേഗത സജ്ജമാക്കുന്നു.

  • setEndEffectorType — 6-ആക്സിസ് ആം ഘടിപ്പിച്ചിരിക്കുന്ന എൻഡ് ഇഫക്ടറിന്റെ തരം സജ്ജമാക്കുന്നു.

  • setEndEffectorMagnet — മാഗ്നെറ്റ് പിക്കപ്പ് ടൂൾ പ്രാപ്തമാക്കുന്നു അല്ലെങ്കിൽ അപ്രാപ്തമാക്കുന്നു.

  • setPenOffset — പെൻ ഹോൾഡർ ടൂളിനൊപ്പം ഉപയോഗിക്കുന്ന z-ആക്സിസ് ഓഫ്‌സെറ്റ് സജ്ജമാക്കുന്നു.

  • setControlStop — 6-ആക്സിസ് ആം-നുള്ള കൺട്രോൾ സ്റ്റോപ്പ് പ്രാപ്തമാക്കുന്നു അല്ലെങ്കിൽ അപ്രാപ്തമാക്കുന്നു.

  • setTimeout — 6-ആക്സിസ് ആം മൂവ്മെന്റ് ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്ന ടൈംഔട്ട് സജ്ജമാക്കുന്നു.

ഗെറ്ററുകൾ — ചലന നില, സ്ഥാനം, ഓറിയന്റേഷൻ, കണക്ഷൻ മൂല്യങ്ങൾ എന്നിവ തിരികെ നൽകുക.

  • isDone — 6-ആക്സിസ് ഭുജം ചലിക്കുന്നത് അവസാനിച്ചോ എന്ന് നൽകുന്നു.

  • isCrashed — ചലിക്കുമ്പോൾ 6-ആക്സിസ് ആം തകർന്നോ എന്ന് നൽകുന്നു.

  • getX — എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ x സ്ഥാനം നൽകുന്നു.

  • getY — എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ y സ്ഥാനം നൽകുന്നു.

  • getZ — എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ z സ്ഥാനം നൽകുന്നു.

  • getYaw — എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ യാവ് നൽകുന്നു.

  • getRoll — എൻഡ് ഇഫക്ടറിന്റെ നിലവിലെ റോൾ തിരികെ നൽകുന്നു.

  • getPitch — എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ പിച്ച് നൽകുന്നു.

  • canArmReachTo — 6-ആക്സിസ് ആം ഒരു നിർദ്ദിഷ്ട സ്ഥാനത്ത് എത്താൻ കഴിയുമോ എന്ന് നൽകുന്നു.

  • canArmReachInc — 6-ആക്സിസ് ആം ഒരു നിശ്ചിത ദൂരം നീങ്ങാൻ കഴിയുമോ എന്ന് നൽകുന്നു.

  • canEndEffectorReachTo — എൻഡ് ഇഫക്റ്ററിന് ഒരു നിർദ്ദിഷ്ട ഓറിയന്റേഷനിൽ എത്താൻ കഴിയുമോ എന്ന് നൽകുന്നു.

  • canEndEffectorReachInc — എൻഡ് ഇഫക്റ്ററിന് ഒരു നിശ്ചിത അളവിൽ തിരിക്കാൻ കഴിയുമോ എന്ന് നൽകുന്നു.

  • isConnected — 6-ആക്സിസ് ആം V5 ബ്രെയിനുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

  • timestamp — 6-ആക്സിസ് ആമിൽ നിന്ന് അവസാനം ലഭിച്ച സ്റ്റാറ്റസ് പാക്കറ്റിന്റെ ടൈംസ്റ്റാമ്പ് നൽകുന്നു.

  • installed — 6-ആക്സിസ് ആം ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

കോൾബാക്കുകൾ — ആം ഇവന്റുകൾ സംഭവിക്കുമ്പോൾ ഫംഗ്ഷനുകൾ പ്രവർത്തിപ്പിക്കുക.

  • controlStopped — കൺട്രോൾ സ്റ്റോപ്പ് പ്രാപ്തമാക്കിയിരിക്കുമ്പോൾ പ്രവർത്തിപ്പിക്കുന്നതിനായി ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • crashed — ഒരു ക്രാഷ് കണ്ടെത്തുമ്പോൾ പ്രവർത്തിപ്പിക്കുന്നതിനായി ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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

moveTo#

moveTo 6-ആക്സിസ് ആർമിനെ ഒരു നിശ്ചിത x, y, z കോർഡിനേറ്റിലേക്ക് നീക്കുന്നു.

x, y, z എന്നീ കോർഡിനേറ്റുകൾ ത്രിമാന സ്ഥലത്ത് എൻഡ് ഇഫക്റ്ററിന്റെ സ്ഥാനം വിവരിക്കുന്നു. ലക്ഷ്യ സ്ഥാനം 6-ആക്സിസ് ആമിന്റെ എത്തിച്ചേരാവുന്ന വർക്ക്‌സ്‌പെയ്‌സിന് പുറത്താണെങ്കിൽ ഈ ഫംഗ്‌ഷന് മുമ്പ് canArmReachTo ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

bool moveTo(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

x

double

ലക്ഷ്യ സ്ഥാനത്തിന്റെ x-കോർഡിനേറ്റ് മില്ലിമീറ്ററിൽ.

y

double

ലക്ഷ്യ സ്ഥാനത്തിന്റെ y-കോർഡിനേറ്റ് മില്ലിമീറ്ററിൽ.

z

double

ലക്ഷ്യ സ്ഥാനത്തിന്റെ z-കോർഡിനേറ്റ് മില്ലിമീറ്ററിൽ.

waitForCompletion

bool

ഓപ്ഷണൽ. true (ഡിഫോൾട്ട്) ചലനം പൂർത്തിയാകുന്നതുവരെ കാത്തിരുന്ന് തുടരും. false ചലനം ആരംഭിച്ച് ഉടൻ തന്നെ അടുത്ത കോഡ് വരിയിലേക്ക് പോകുന്നു.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ആം ലക്ഷ്യ സ്ഥാനത്ത് എത്തി.

  • false — 6-Axis Arm ലക്ഷ്യ സ്ഥാനത്ത് എത്തിയില്ല, അല്ലെങ്കിൽ waitForCompletion false ആയി സജ്ജീകരിച്ചു.

ഉദാഹരണങ്ങൾ

// Move the 6-Axis Arm to (200, 0, 100)
Arm.moveTo(200, 0, 100);

// Start moving, then print the y-position while the arm moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

moveInc#

moveInc 6-ആക്സിസ് ഭുജത്തെ അതിന്റെ നിലവിലെ സ്ഥാനത്ത് നിന്ന് x, y, z അക്ഷങ്ങളിലൂടെ ഒരു നിശ്ചിത ദൂരം നീക്കുന്നു.

എൻഡ് ഇഫക്റ്റർ ഇപ്പോൾ എവിടെയാണോ അവിടെ നിന്ന് ആപേക്ഷികമായി നീങ്ങാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക. ചലനം 6-ആക്സിസ് ആം അതിന്റെ എത്തിച്ചേരാവുന്ന വർക്ക്‌സ്‌പെയ്‌സിന് പുറത്ത് സ്ഥാപിക്കാൻ സാധ്യതയുണ്ടെങ്കിൽ, ഈ ഫംഗ്‌ഷന് മുമ്പ് canArmReachInc ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

bool moveInc(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

x

double

x-അക്ഷത്തിലൂടെ സഞ്ചരിക്കേണ്ട ദൂരം മില്ലിമീറ്ററിൽ.

y

double

y-അക്ഷത്തിലൂടെ സഞ്ചരിക്കേണ്ട ദൂരം മില്ലിമീറ്ററിൽ.

z

double

z-അക്ഷത്തിലൂടെ സഞ്ചരിക്കേണ്ട ദൂരം മില്ലിമീറ്ററിൽ.

waitForCompletion

bool

ഓപ്ഷണൽ. true (ഡിഫോൾട്ട്) ചലനം പൂർത്തിയാകുന്നതുവരെ കാത്തിരുന്ന് തുടരും. false ചലനം ആരംഭിച്ച് ഉടൻ തന്നെ അടുത്ത കോഡ് വരിയിലേക്ക് പോകുന്നു.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ആം ആവശ്യപ്പെട്ട സ്ഥാനത്ത് എത്തി.

  • false — 6-Axis Arm അഭ്യർത്ഥിച്ച സ്ഥാനത്ത് എത്തിയില്ല, അല്ലെങ്കിൽ waitForCompletion false ആയി സജ്ജീകരിച്ചു.

ഉദാഹരണം

// Move the 6-Axis Arm 100 millimeters along the y-axis
Arm.moveInc(0, 100, 0);

moveEndEffectorTo#

moveEndEffectorTo 6-ആക്സിസ് ആമിന്റെ എൻഡ് ഇഫക്റ്ററിനെ ഒരു നിർദ്ദിഷ്ട യാവ്, റോൾ, പിച്ച് ഓറിയന്റേഷനിലേക്ക് തിരിക്കുന്നു.

ഓറിയന്റേഷൻ എൻഡ് ഇഫക്റ്റർ എങ്ങനെ തിരിക്കുന്നുവെന്ന് വിവരിക്കുന്നു. yaw z-അക്ഷത്തിന് ചുറ്റും കറങ്ങുന്നു, roll x-അക്ഷത്തിന് ചുറ്റും കറങ്ങുന്നു, pitch y-അക്ഷത്തിന് ചുറ്റും കറങ്ങുന്നു.

ലഭ്യമായ പ്രവർത്തനം

bool moveEndEffectorTo(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

yaw

double

ലക്ഷ്യ യോ ആംഗിൾ ഡിഗ്രികളിൽ.

roll

double

ഓപ്ഷണൽ. ടാർഗെറ്റ് റോൾ ആംഗിൾ ഡിഗ്രിയിൽ. ഡിഫോൾട്ട് 0 ആണ്.

pitch

double

ഓപ്ഷണൽ. ടാർഗെറ്റ് പിച്ച് ആംഗിൾ ഡിഗ്രിയിൽ. ഡിഫോൾട്ട് 0 ആണ്.

waitForCompletion

bool

ഓപ്ഷണൽ. true (ഡിഫോൾട്ട്) ചലനം പൂർത്തിയാകുന്നതുവരെ കാത്തിരുന്ന് തുടരും. false ചലനം ആരംഭിച്ച് ഉടൻ തന്നെ അടുത്ത കോഡ് വരിയിലേക്ക് പോകുന്നു.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — എൻഡ് ഇഫക്റ്റർ ലക്ഷ്യ ഓറിയന്റേഷനിൽ എത്തി.

  • false — എൻഡ് ഇഫക്റ്റർ ലക്ഷ്യ ഓറിയന്റേഷനിൽ എത്തിയില്ല, അല്ലെങ്കിൽ waitForCompletion എന്നത് false ആയി സജ്ജീകരിച്ചു.

ഉദാഹരണം

// Rotate the end effector to 90 degrees of roll
Arm.moveEndEffectorTo(0, 90, 0);

moveEndEffectorInc#

moveEndEffectorInc , 6-ആക്സിസ് ആമിന്റെ എൻഡ് ഇഫക്റ്ററിനെ അതിന്റെ നിലവിലെ ഓറിയന്റേഷനിൽ നിന്ന് ഒരു നിശ്ചിത യാവ്, റോൾ, പിച്ച് തുക ഉപയോഗിച്ച് തിരിക്കുന്നു.

എൻഡ് ഇഫക്റ്ററിന്റെ കറന്റ് യാവ്, റോൾ അല്ലെങ്കിൽ പിച്ചിന് ആപേക്ഷികമായി തിരിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

bool moveEndEffectorInc(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

yaw

double

യാവിലെ മാറ്റം, ഡിഗ്രികളിൽ.

roll

double

ഓപ്ഷണൽ. റോളിലെ മാറ്റം, ഡിഗ്രികളിൽ. ഡിഫോൾട്ട് 0 ആണ്.

pitch

double

ഓപ്ഷണൽ. പിച്ചിലെ മാറ്റം, ഡിഗ്രികളിൽ. സ്ഥിരസ്ഥിതി 0 ആണ്.

waitForCompletion

bool

ഓപ്ഷണൽ. true (ഡിഫോൾട്ട്) ചലനം പൂർത്തിയാകുന്നതുവരെ കാത്തിരുന്ന് തുടരും. false ചലനം ആരംഭിച്ച് ഉടൻ തന്നെ അടുത്ത കോഡ് വരിയിലേക്ക് പോകുന്നു.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — എൻഡ് ഇഫക്റ്റർ അഭ്യർത്ഥിച്ച ഓറിയന്റേഷനിൽ എത്തി.

  • false — എൻഡ് ഇഫക്റ്റർ അഭ്യർത്ഥിച്ച ഓറിയന്റേഷനിൽ എത്തിയില്ല, അല്ലെങ്കിൽ waitForCompletion എന്നത് false ആയി സജ്ജീകരിച്ചു.

ഉദാഹരണം

// Rotate the end effector -50 degrees in pitch
Arm.moveEndEffectorInc(0, 0, -50);

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

setSpeed#

setSpeed 6-ആക്സിസ് ആം ഉപയോഗിക്കുന്ന ചലന വേഗത സജ്ജമാക്കുന്നു.

ലഭ്യമായ പ്രവർത്തനം

void setSpeed(uint32_t speed);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

speed

uint32_t

6-ആക്സിസ് ഭുജം ചലിക്കേണ്ട വേഗത, സെക്കൻഡിൽ മില്ലിമീറ്ററിൽ.

റിട്ടേൺ മൂല്യം

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

ഉദാഹരണം

// Set the 6-Axis Arm movement speed
Arm.setSpeed(100);

setEndEffectorType#

setEndEffectorType , 6-ആക്സിസ് ആമിൽ ഘടിപ്പിച്ചിരിക്കുന്ന എൻഡ് ഇഫക്ടറിന്റെ തരം സജ്ജമാക്കുന്നു.

എൻഡ് ഇഫക്റ്റർ തരം മാറ്റുമ്പോൾ, തിരഞ്ഞെടുത്ത ടൂളുമായി പൊരുത്തപ്പെടുന്നതിന് 6-ആക്സിസ് ആം അതിന്റെ z-ഓഫ്‌സെറ്റ് യാന്ത്രികമായി ക്രമീകരിക്കുന്നു.

ലഭ്യമായ പ്രവർത്തനം

bool setEndEffectorType(
  endEffectorType type,
  bool            waitForCompletion = true
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

type

endEffectorType

6-ആക്സിസ് ആംമിൽ ഘടിപ്പിച്ചിരിക്കുന്ന ഉപകരണം: magnet (മാഗ്നറ്റ് പിക്കപ്പ് ടൂൾ) അല്ലെങ്കിൽ pen (പെൻ ഹോൾഡർ ടൂൾ).

waitForCompletion

bool

ഓപ്ഷണൽ. true (ഡിഫോൾട്ട്) മാറ്റം പൂർത്തിയാകുന്നതുവരെ കാത്തിരുന്ന് തുടരും. false മാറ്റം ആരംഭിച്ച് ഉടൻ തന്നെ കോഡിന്റെ അടുത്ത വരിയിലേക്ക് പോകുന്നു.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — അഭ്യർത്ഥിച്ച തരം സജ്ജമാക്കി.

  • false — അഭ്യർത്ഥിച്ച തരം സജ്ജീകരിച്ചിട്ടില്ല, അല്ലെങ്കിൽ waitForCompletion false ആയി സജ്ജീകരിച്ചു.

ഉദാഹരണം

// Set the end effector type to the Magnet Pickup Tool
Arm.setEndEffectorType(magnet);

setEndEffectorMagnet#

setEndEffectorMagnet മാഗ്നെറ്റ് പിക്കപ്പ് ടൂൾ പ്രാപ്തമാക്കുന്നു അല്ലെങ്കിൽ പ്രവർത്തനരഹിതമാക്കുന്നു.

ലഭ്യമായ പ്രവർത്തനം

void setEndEffectorMagnet(bool enabled);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

enabled

bool

true കാന്തത്തെ വസ്തുക്കളെ എടുക്കാനും പിടിക്കാനും പ്രാപ്തമാക്കുന്നു. false കാന്തത്തെ പ്രവർത്തനരഹിതമാക്കുകയും പിടിച്ചിരിക്കുന്ന ഏതൊരു വസ്തുവിനെയും താഴെയിടുകയും ചെയ്യുന്നു.

റിട്ടേൺ മൂല്യം

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

ഉദാഹരണം

// Pick up objects and then drop them
Arm.setEndEffectorType(magnet);
Arm.setEndEffectorMagnet(true);
wait(2, seconds);
Arm.setEndEffectorMagnet(false);

setPenOffset#

setPenOffset പെൻ ഹോൾഡർ ടൂൾ 6-ആക്സിസ് ആമിൽ ഘടിപ്പിക്കുമ്പോൾ ഉപയോഗിക്കുന്ന z-ആക്സിസ് ഓഫ്‌സെറ്റ് സജ്ജമാക്കുന്നു.

ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുന്നതിന് മുമ്പ് എൻഡ് ഇഫക്റ്റർ തരം pen ആയി സജ്ജമാക്കുക. പെൻ ഹോൾഡർ ടൂൾ തിരഞ്ഞെടുത്തിട്ടില്ലെങ്കിൽ, ഈ ഫംഗ്ഷന് ഒരു ഫലവുമില്ല.

പെൻ ഹോൾഡർ ടൂളിന്റെ മുകളിൽ നിന്ന് ഡ്രൈ-ഇറേസ് മാർക്കറിന്റെ അഗ്രത്തിലേക്കുള്ള ദൂരമാണ് പെൻ ഓഫ്‌സെറ്റ്. ഒരു പോസിറ്റീവ് z മൂല്യം ഓഫ്‌സെറ്റിനെ ടൂൾ മൌണ്ട് പോയിന്റിൽ നിന്ന് മുകളിലേക്ക് നീക്കുന്നു.

ലഭ്യമായ പ്രവർത്തനം

void setPenOffset(double zOffset);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

zOffset

double

പെൻ ഓഫ്‌സെറ്റ് മൂല്യം മില്ലിമീറ്ററിൽ.

റിട്ടേൺ മൂല്യം

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

ഉദാഹരണം

// Set the end effector type to the Pen Holder Tool and set the pen offset
Arm.setEndEffectorType(pen);
Arm.setPenOffset(25);

setControlStop#

setControlStop 6-Axis Arm-നുള്ള കൺട്രോൾ സ്റ്റോപ്പ് പ്രവർത്തനക്ഷമമാക്കുന്നു അല്ലെങ്കിൽ പ്രവർത്തനരഹിതമാക്കുന്നു.

കൺട്രോൾ സ്റ്റോപ്പ് പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ, 6-ആക്സിസ് ആം ഉടനടി ചലനം നിർത്തുകയും കൂടുതൽ രേഖീയ അല്ലെങ്കിൽ സംയുക്ത ചലനങ്ങളെ തടയുകയും ചെയ്യുന്നു.

ലഭ്യമായ പ്രവർത്തനം

void setControlStop(bool state = true);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

state

bool

ഓപ്ഷണൽ. true (ഡിഫോൾട്ട്) കൺട്രോൾ സ്റ്റോപ്പ് പ്രാപ്തമാക്കുകയും കൂടുതൽ രേഖീയ അല്ലെങ്കിൽ ജോയിന്റ് ചലനങ്ങളെ തടയുകയും ചെയ്യുന്നു. false കൺട്രോൾ സ്റ്റോപ്പ് പ്രവർത്തനരഹിതമാക്കുന്നു.

റിട്ടേൺ മൂല്യം

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

ഉദാഹരണം

// Stop the 6-Axis Arm and prevent further movement
Arm.setControlStop();

setTimeout#

setTimeout , 6-Axis Arm നീക്കുമ്പോൾ ഉപയോഗിക്കുന്ന ടൈംഔട്ട് മൂല്യം സജ്ജമാക്കുന്നു.

സമയപരിധി എത്തുന്നതിനുമുമ്പ് ഒരു ചലനം പൂർത്തിയായില്ലെങ്കിൽ, പ്രോജക്റ്റ് അടുത്ത കോഡ് വരിയിലേക്ക് തുടരും.

ലഭ്യമായ പ്രവർത്തനം

void setTimeout(
  int32_t   timeout,
  timeUnits units
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

timeout

int32_t

പുതിയ ടൈംഔട്ട് മൂല്യം.

units

timeUnits

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

റിട്ടേൺ മൂല്യം

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

ഉദാഹരണം

// Set the 6-Axis Arm timeout to 2 seconds
Arm.setTimeout(2, sec);

ഗെറ്ററുകൾ#

isDone#

isDone എന്നത് 6-ആക്സിസ് ആം ചലനം അവസാനിച്ചോ എന്ന് നൽകുന്നു.

waitForCompletion ഉപയോഗിച്ച് false ആയി സജ്ജീകരിച്ച ഒരു മൂവ്മെന്റ് ഫംഗ്ഷൻ വിളിക്കപ്പെട്ടതിന് ശേഷം ഈ ഫംഗ്ഷൻ ഉപയോഗപ്രദമാകും.

ലഭ്യമായ പ്രവർത്തനം

bool isDone();

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

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

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ഭുജം നീങ്ങുന്നത് അവസാനിച്ചു.

  • false — 6-ആക്സിസ് ഭുജം ഇപ്പോഴും ചലിച്ചുകൊണ്ടിരിക്കുന്നു.

ഉദാഹരണം

// Display the 6-Axis Arm's y-position while it moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

isCrashed#

isCrashed എന്നത് ചലിക്കുമ്പോൾ 6-Axis Arm തകർന്നോ എന്ന് നൽകുന്നു.

ഒരു ക്രാഷ് കണ്ടെത്തുമ്പോൾ, 6-ആക്സിസ് ആം മോട്ടോർ ചലനം നിർത്തുകയും അത് തളരുന്നതായി തോന്നുകയും ചെയ്യും. ഇത് ആയാസം കുറയ്ക്കുകയും മോട്ടോറുകളെ ആകസ്മികമായ കേടുപാടുകളിൽ നിന്ന് സംരക്ഷിക്കാൻ സഹായിക്കുകയും ചെയ്യുന്നു.

ലഭ്യമായ പ്രവർത്തനം

bool isCrashed();

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

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

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ആം തകർന്നു.

  • false — 6-ആക്സിസ് ആം തകർന്നിട്ടില്ല.

ഉദാഹരണം

// Quickly move to a new location
Arm.setSpeed(100);
Arm.moveTo(-40, 250, 40, false);

// While moving, check for a crash
while (true) {
  if (Arm.isCrashed()) {
    // Indicate a crash with the Brain screen
    Brain.Screen.print("Crash Detected");
    break;
  }

  wait(5, msec);
}

getX#

getX എൻഡ് ഇഫക്ടറിന്റെ നിലവിലെ x സ്ഥാനം മില്ലിമീറ്ററിൽ നൽകുന്നു.

x-അക്ഷത്തിൽ എൻഡ് ഇഫക്റ്റർ നിലവിൽ എവിടെയാണെന്ന് വായിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

float getX();

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

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

റിട്ടേൺ മൂല്യം

മില്ലിമീറ്ററിൽ എൻഡ് ഇഫക്റ്ററിന്റെ x സ്ഥാനത്തെ പ്രതിനിധീകരിക്കുന്ന float നൽകുന്നു.

ഉദാഹരണം

// Print the current x position of the 6-Axis Arm
Brain.Screen.print(Arm.getX());

getY#

getY എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ y സ്ഥാനം മില്ലിമീറ്ററിൽ നൽകുന്നു.

y-അക്ഷത്തിൽ എൻഡ് ഇഫക്റ്റർ നിലവിൽ എവിടെയാണെന്ന് വായിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

float getY();

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

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

റിട്ടേൺ മൂല്യം

മില്ലിമീറ്ററിൽ എൻഡ് ഇഫക്റ്ററിന്റെ y സ്ഥാനത്തെ പ്രതിനിധീകരിക്കുന്ന float നൽകുന്നു.

ഉദാഹരണം

// Print the current y position of the 6-Axis Arm
Brain.Screen.print(Arm.getY());

getZ#

getZ എൻഡ് ഇഫക്ടറിന്റെ നിലവിലെ z സ്ഥാനം മില്ലിമീറ്ററിൽ നൽകുന്നു.

z-അക്ഷത്തിൽ എൻഡ് ഇഫക്റ്റർ നിലവിൽ എവിടെയാണെന്ന് വായിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

float getZ();

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

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

റിട്ടേൺ മൂല്യം

എൻഡ് ഇഫക്റ്ററിന്റെ z സ്ഥാനത്തെ മില്ലിമീറ്ററിൽ പ്രതിനിധീകരിക്കുന്ന float നൽകുന്നു.

ഉദാഹരണം

// Print the current z position of the 6-Axis Arm
Brain.Screen.print(Arm.getZ());

getYaw#

getYaw എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ യാവ് ഡിഗ്രികളിൽ നൽകുന്നു.

ലഭ്യമായ പ്രവർത്തനം

float getYaw();

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

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

റിട്ടേൺ മൂല്യം

എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ യാവിനെ ഡിഗ്രികളിൽ പ്രതിനിധീകരിക്കുന്ന float നൽകുന്നു.

ഉദാഹരണം

// Print the current yaw of the end effector
Brain.Screen.print(Arm.getYaw());

getRoll#

getRoll എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ റോൾ ഡിഗ്രികളിൽ നൽകുന്നു.

ലഭ്യമായ പ്രവർത്തനം

float getRoll();

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

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

റിട്ടേൺ മൂല്യം

എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ റോളിനെ ഡിഗ്രിയിൽ പ്രതിനിധീകരിക്കുന്ന float നൽകുന്നു.

ഉദാഹരണം

// Print the current roll of the end effector
Brain.Screen.print(Arm.getRoll());

getPitch#

getPitch എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ പിച്ച് ഡിഗ്രികളിൽ നൽകുന്നു.

ലഭ്യമായ പ്രവർത്തനം

float getPitch();

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

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

റിട്ടേൺ മൂല്യം

ഡിഗ്രികളിൽ എൻഡ് ഇഫക്റ്ററിന്റെ നിലവിലെ പിച്ച് പ്രതിനിധീകരിക്കുന്ന float നൽകുന്നു.

ഉദാഹരണം

// Print the current pitch of the end effector
Brain.Screen.print(Arm.getPitch());

canArmReachTo#

canArmReachTo , 6-Axis Arm ന് എൻഡ് ഇഫക്റ്ററിനെ ഒരു നിർദ്ദിഷ്ട x, y, z കോർഡിനേറ്റിലേക്ക് നീക്കാൻ കഴിയുമോ എന്ന് നൽകുന്നു.

moveTo ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഒരു ലക്ഷ്യ സ്ഥാനം പരിശോധിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

bool canArmReachTo(
  double x,
  double y,
  double z
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

x

double

ലക്ഷ്യ സ്ഥാനത്തിന്റെ x-കോർഡിനേറ്റ് മില്ലിമീറ്ററിൽ.

y

double

ലക്ഷ്യ സ്ഥാനത്തിന്റെ y-കോർഡിനേറ്റ് മില്ലിമീറ്ററിൽ.

z

double

ലക്ഷ്യ സ്ഥാനത്തിന്റെ z-കോർഡിനേറ്റ് മില്ലിമീറ്ററിൽ.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ആം അഭ്യർത്ഥിച്ച സ്ഥാനത്ത് എത്താൻ കഴിയും.

  • false — 6-ആക്സിസ് ആം അഭ്യർത്ഥിച്ച സ്ഥാനത്ത് എത്താൻ കഴിയില്ല.

ഉദാഹരണം

// Move the 6-Axis Arm to (100, -20, 50) if it can reach
if (Arm.canArmReachTo(100, -20, 50)) {
  Arm.moveTo(100, -20, 50);
}

canArmReachInc#

canArmReachInc , 6-Axis Arm ന് അതിന്റെ നിലവിലെ സ്ഥാനത്ത് നിന്ന് ഒരു നിശ്ചിത x, y, z ദൂരം ഉപയോഗിച്ച് എൻഡ് ഇഫക്റ്ററിനെ നീക്കാൻ കഴിയുമോ എന്ന് നൽകുന്നു.

moveInc ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഒരു ആപേക്ഷിക ചലനം പരിശോധിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

bool canArmReachInc(
  double x,
  double y,
  double z
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

x

double

x-അക്ഷത്തിലൂടെ സഞ്ചരിക്കേണ്ട ദൂരം മില്ലിമീറ്ററിൽ.

y

double

y-അക്ഷത്തിലൂടെ സഞ്ചരിക്കേണ്ട ദൂരം മില്ലിമീറ്ററിൽ.

z

double

z-അക്ഷത്തിലൂടെ സഞ്ചരിക്കേണ്ട ദൂരം മില്ലിമീറ്ററിൽ.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ഭുജത്തിന് അഭ്യർത്ഥിച്ച ചലനം നടത്താൻ കഴിയും.

  • false — 6-ആക്സിസ് ആം അഭ്യർത്ഥിച്ച ചലനം നടത്താൻ കഴിയില്ല.

ഉദാഹരണം

// Increment the 6-Axis Arm 100 mm along the x-axis if possible
if (Arm.canArmReachInc(100, 0, 0)) {
  Arm.moveInc(100, 0, 0);
}

canEndEffectorReachTo#

canEndEffectorReachTo , എൻഡ് ഇഫക്റ്ററിന് ഒരു നിർദ്ദിഷ്ട യാവ്, റോൾ, പിച്ച് ഓറിയന്റേഷനിലേക്ക് തിരിക്കാൻ കഴിയുമോ എന്ന് നൽകുന്നു.

moveEndEffectorTo ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഒരു ലക്ഷ്യ ഓറിയന്റേഷൻ പരിശോധിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

bool canEndEffectorReachTo(
  double yaw,
  double roll = 0,
  double pitch = 0
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

yaw

double

ലക്ഷ്യ യോ ആംഗിൾ ഡിഗ്രികളിൽ.

roll

double

ഓപ്ഷണൽ. ടാർഗെറ്റ് റോൾ ആംഗിൾ ഡിഗ്രിയിൽ. ഡിഫോൾട്ട് 0 ആണ്.

pitch

double

ഓപ്ഷണൽ. ടാർഗെറ്റ് പിച്ച് ആംഗിൾ ഡിഗ്രിയിൽ. ഡിഫോൾട്ട് 0 ആണ്.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — എൻഡ് ഇഫക്റ്ററിന് അഭ്യർത്ഥിച്ച ഓറിയന്റേഷനിൽ എത്താൻ കഴിയും.

  • false — എൻഡ് ഇഫക്റ്ററിന് അഭ്യർത്ഥിച്ച ഓറിയന്റേഷനിൽ എത്താൻ കഴിയില്ല.

ഉദാഹരണം

// Rotate the end effector to 90 degrees of roll if possible
if (Arm.canEndEffectorReachTo(0, 90, 0)) {
  Arm.moveEndEffectorTo(0, 90, 0);
}

canEndEffectorReachInc#

canEndEffectorReachInc , എൻഡ് ഇഫക്റ്ററിന് അതിന്റെ നിലവിലെ ഓറിയന്റേഷനിൽ നിന്ന് ഒരു നിശ്ചിത യാവ്, റോൾ, പിച്ച് തുക ഉപയോഗിച്ച് തിരിക്കാൻ കഴിയുമോ എന്ന് നൽകുന്നു.

moveEndEffectorInc ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഒരു ആപേക്ഷിക ഓറിയന്റേഷൻ ചലനം പരിശോധിക്കാൻ ഈ ഫംഗ്ഷൻ ഉപയോഗിക്കുക.

ലഭ്യമായ പ്രവർത്തനം

bool canEndEffectorReachInc(
  double yaw,
  double roll = 0,
  double pitch = 0
);

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

yaw

double

യാവിലെ മാറ്റം, ഡിഗ്രികളിൽ.

roll

double

ഓപ്ഷണൽ. റോളിലെ മാറ്റം, ഡിഗ്രികളിൽ. ഡിഫോൾട്ട് 0 ആണ്.

pitch

double

ഓപ്ഷണൽ. പിച്ചിലെ മാറ്റം, ഡിഗ്രികളിൽ. സ്ഥിരസ്ഥിതി 0 ആണ്.

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — എൻഡ് ഇഫക്റ്ററിന് അഭ്യർത്ഥിച്ച റൊട്ടേഷൻ നടത്താൻ കഴിയും.

  • false — എൻഡ് ഇഫക്റ്ററിന് അഭ്യർത്ഥിച്ച റൊട്ടേഷൻ നടത്താൻ കഴിയില്ല.

ഉദാഹരണം

// Increment the end effector by 10 degrees of pitch if possible
if (Arm.canEndEffectorReachInc(0, 0, 10)) {
  Arm.moveEndEffectorInc(0, 0, 10);
}

isConnected#

isConnected എന്നത് 6-ആക്സിസ് ആം V5 ബ്രെയിനുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

ഇത് installed എന്നതിന് സമാനമായ മൂല്യം നൽകുന്ന ഒരു അനുയോജ്യതാ ഫംഗ്ഷനാണ്.

ലഭ്യമായ പ്രവർത്തനം

bool isConnected();

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

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

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ആം V5 ബ്രെയിനുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു.

  • false — 6-ആക്സിസ് ആം V5 ബ്രെയിനുമായി ബന്ധിപ്പിച്ചിട്ടില്ല.

ഉദാഹരണം

// Print whether the 6-Axis Arm is connected
Brain.Screen.print(Arm.isConnected());

timestamp#

timestamp 6-ആക്സിസ് ആമിൽ നിന്ന് അവസാനം ലഭിച്ച സ്റ്റാറ്റസ് പാക്കറ്റിന്റെ ടൈംസ്റ്റാമ്പ് നൽകുന്നു.

ലഭ്യമായ പ്രവർത്തനം

uint32_t timestamp();

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

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

റിട്ടേൺ മൂല്യം

അവസാന സ്റ്റാറ്റസ് പാക്കറ്റിന്റെ ടൈംസ്റ്റാമ്പ് മില്ലിസെക്കൻഡിൽ uint32_t ആയി നൽകുന്നു.

installed#

installed 6-ആക്സിസ് ആം ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

ലഭ്യമായ പ്രവർത്തനം

bool installed();

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

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

റിട്ടേൺ മൂല്യം

ഒരു ബൂളിയൻ മൂല്യം നൽകുന്നു.

  • true — 6-ആക്സിസ് ആം ബന്ധിപ്പിച്ചിരിക്കുന്നു.

  • false — 6-ആക്സിസ് ആം ബന്ധിപ്പിച്ചിട്ടില്ല.

കോൾബാക്കുകൾ#

controlStopped#

controlStopped രജിസ്റ്റർ ചെയ്യുന്നു.

ലഭ്യമായ പ്രവർത്തനം

void controlStopped(void (* callback)(void));

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

കൺട്രോൾ സ്റ്റോപ്പ് പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു ഫംഗ്ഷൻ.

റിട്ടേൺ മൂല്യം

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

ഉദാഹരണം

// Called when the 6-Axis Arm is control stopped
void onControlStopped() {
  Brain.Screen.print("Arm control stopped");
}

int main() {
  Arm.controlStopped(onControlStopped);
}

crashed#

crashed ചലിക്കുമ്പോൾ 6-ആക്സിസ് ആം ക്രാഷ് ആകുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

ഒരു ക്രാഷ് കണ്ടെത്തുമ്പോൾ, 6-ആക്സിസ് ആം മോട്ടോർ ചലനം നിർത്തുകയും അത് തളരുന്നതായി തോന്നുകയും ചെയ്യും. ഇത് ആയാസം കുറയ്ക്കുകയും മോട്ടോറുകളെ ആകസ്മികമായ കേടുപാടുകളിൽ നിന്ന് സംരക്ഷിക്കാൻ സഹായിക്കുകയും ചെയ്യുന്നു.

ലഭ്യമായ പ്രവർത്തനം

void crashed(void (* callback)(void));

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

ചലിക്കുമ്പോൾ 6-ആക്സിസ് ആം ക്രാഷ് ആകുമ്പോൾ പ്രവർത്തിക്കുന്ന ഒരു ഫംഗ്ഷൻ.

റിട്ടേൺ മൂല്യം

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

ഉദാഹരണം

// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
  Brain.Screen.print("Crash detected");
}

int main() {
  Arm.crashed(onArmCrashed);
}