CTE ranka#
Įvadas#
arm klasė suteikia valdymą 6 ašių svirčiai, naudojamai CTE Workcell. VEX V5 C++ sistemoje 6 ašių svirtis gali perkelti galinį efektorių į pozicijas trimatėje erdvėje, pasukti galinį efektorių, patikrinti, ar galimi judesiai, ir valdyti prijungtus įrankius, tokius kaip magneto paėmimo įrankis arba rašiklio laikiklio įrankis.
6 ašių svirtis nėra sukonfigūruota kaip įrenginys „VEXcode V5“. Norėdami ją naudoti „VEX V5 C++“ projekte, rankiniu būdu sukurkite „ arm “ objektą kode su išmaniuoju prievadu, prie kurio prijungta 6 ašių svirtis.
Šio puslapio pavyzdžiuose naudojama rankiniu būdu sukonstruota 6 ašių svirtis, pavadinta Arm.
Konstruktoriai#
arm#
arm sukuria 6 ašių rankos objektą.
Galima funkcija
arm(int32_t index);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Išmanusis prievadas, prie kurio prijungta 6 ašių svirtis, užrašomas kaip |
Pavyzdys
// Create a 6-Axis Arm named Arm on Port 1
arm Arm = arm(PORT1);
Naikintojas#
~arm#
~arm sunaikina arm objektą ir išlaisvina susijusius išteklius.
Galima funkcija
~arm();
Narių funkcijos#
arm klasė apima šias narines funkcijas:
Veiksmai – perkelkite 6 ašių svirtį į norimas padėtis arba kryptis.
moveTo— Perkelia galinį efektorių į nurodytas x, y ir z koordinates.moveInc— Perkelia galinį efektorių nurodytu atstumu nuo jo dabartinės padėties.moveEndEffectorTo— Pasuka galinį efektorių į nurodytą posūkio, sukimosi ir žingsnio orientaciją.moveEndEffectorInc— Pasuka galinį efektorių nurodytu posūkio, sukimosi ir žingsnio dydžiu.
Mutatoriai – konfigūruokite judėjimą, įrankius ir valdymo nustatymus.
setSpeed— Nustato 6 ašių svirties judėjimo greitį.setEndEffectorType— Nustato prie 6 ašių svirties pritvirtinto galinio efektoriaus tipą.setEndEffectorMagnet— Įjungia arba išjungia magneto paėmimo įrankį.setPenOffset— Nustato z ašies poslinkį, naudojamą su rašiklio laikiklio įrankiu.setControlStop— Įjungia arba išjungia 6 ašių svirties valdymo sustabdymą.setTimeout— Nustato 6 ašių svirties judėjimo funkcijų naudojamą skirtąjį laiką.
Getteriai – grąžina judėjimo būseną, padėtį, orientaciją ir ryšio reikšmes.
isDone— Grąžina, ar 6 ašių svirtis baigė judėti.isCrashed— Grąžina, ar 6 ašių svirtis sugedo judėdama.getX— Grąžina dabartinę galinio efektoriaus x poziciją.getY— Grąžina dabartinę galinio efektoriaus y padėtį.getZ— Grąžina dabartinę galinio efektoriaus z padėtį.getYaw— Grąžina dabartinį galinio efektoriaus posūkio kampą.getRoll— Grąžina dabartinį galinio efektoriaus sukimosi greitį.getPitch— Grąžina dabartinį galinio efektoriaus garso aukštį.canArmReachTo— Grąžina, ar 6 ašių svirtis gali pasiekti nurodytą padėtį.canArmReachInc— Grąžina, ar 6 ašių svirtis gali judėti nurodytu atstumu.canEndEffectorReachTo— Grąžina, ar galinis efektorius gali pasiekti nurodytą orientaciją.canEndEffectorReachInc— Grąžina, ar galinis efektorius gali pasisukti nurodytu kiekiu.isConnected— Grąžina, ar 6 ašių svirtis yra prijungta prie V5 smegenų.timestamp— Grąžina paskutinio iš 6 ašių svirties gauto būsenos paketo laiko žymą.installed— Grąžina, ar prijungta 6 ašių svirtis.
Atgaliniai iškvietimai – vykdyti funkcijas, kai įvyksta įjungimo įvykiai.
controlStopped— Registruoja funkciją, kuri bus vykdoma, kai įjungtas valdymo sustabdymas.crashed— Registruoja funkciją, kuri bus vykdoma aptikus gedimą.
Veiksmai#
moveTo#
moveTo perkelia 6 ašių svirtį į nurodytas x, y ir z koordinates.
X, y ir z koordinatės apibūdina galinio efektoriaus padėtį trimatėje erdvėje. Prieš šią funkciją naudokite canArmReachTo, jei tikslinė padėtis gali būti už 6 ašių svirties pasiekiamos darbo srities ribų.
Galima funkcija
bool moveTo(
double x,
double y,
double z,
bool waitForCompletion = true
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Tikslinės padėties x koordinatė milimetrais. |
|
|
Tikslinės padėties y koordinatė milimetrais. |
|
|
Tikslinės padėties z koordinatė milimetrais. |
|
|
Pasirinktinai. |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis pasiekė tikslinę padėtį.false— 6 ašių svirtis nepasiekė tikslinės padėties arbawaitForCompletionbuvo nustatyta kaipfalse.
Pavyzdžiai
// 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 perkelia 6 ašių svirtį nurodytu atstumu nuo dabartinės jos padėties išilgai x, y ir z ašių.
Naudokite šią funkciją, norėdami judėti pagal dabartinę galinio efektoriaus buvimo vietą. Prieš šią funkciją naudokite canArmReachInc, jei judėjimas gali perkelti 6 ašių svirtį už jos pasiekiamos darbo srities ribų.
Galima funkcija
bool moveInc(
double x,
double y,
double z,
bool waitForCompletion = true
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Atstumas, kurį reikia judėti išilgai x ašies, milimetrais. |
|
|
Atstumas, kurį reikia judėti išilgai y ašies, milimetrais. |
|
|
Atstumas, kurį reikia judėti z ašimi, milimetrais. |
|
|
Pasirinktinai. |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis pasiekė pageidaujamą padėtį.false— 6 ašių svirtis nepasiekė prašomos padėties arbawaitForCompletionbuvo nustatyta kaipfalse.
Pavyzdys
// Move the 6-Axis Arm 100 millimeters along the y-axis
Arm.moveInc(0, 100, 0);
moveEndEffectorTo#
moveEndEffectorTo pasuka 6 ašių svirties galinį efektorių į nurodytą posūkio, riedėjimo ir žingsnio orientaciją.
Orientacija apibūdina, kaip sukamas galinis efektorius. yaw sukasi aplink z ašį, roll sukasi aplink x ašį, o pitch sukasi aplink y ašį.
Galima funkcija
bool moveEndEffectorTo(
double yaw,
double roll = 0,
double pitch = 0,
bool waitForCompletion = true
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Tikslinis posūkio kampas laipsniais. |
|
|
Pasirinktinai. Tikslinis riedėjimo kampas laipsniais. Numatytoji reikšmė yra |
|
|
Pasirinktinai. Tikslinis polinkio kampas laipsniais. Numatytoji reikšmė yra |
|
|
Pasirinktinai. |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— Galutinis efektorius pasiekė tikslinę orientaciją.false— Galutinis efektorius nepasiekė tikslinės orientacijos arbawaitForCompletionbuvo nustatytas įfalse.
Pavyzdys
// Rotate the end effector to 90 degrees of roll
Arm.moveEndEffectorTo(0, 90, 0);
moveEndEffectorInc#
moveEndEffectorInc pasuka 6 ašių svirties galinį efektorių nurodytu posūkio, riedėjimo ir žingsnio dydžiu nuo dabartinės jo orientacijos.
Naudokite šią funkciją, norėdami pasukti, atsižvelgiant į galinio efektoriaus dabartinį posūkio, riedėjimo ar žingsnio kampą.
Galima funkcija
bool moveEndEffectorInc(
double yaw,
double roll = 0,
double pitch = 0,
bool waitForCompletion = true
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Posūkio pokytis laipsniais. |
|
|
Pasirinktinai. Pasvirimo pokytis laipsniais. Numatytoji reikšmė yra |
|
|
Pasirinktinai. Tono pokytis laipsniais. Numatytoji reikšmė yra |
|
|
Pasirinktinai. |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— Galinis efektorius pasiekė pageidaujamą orientaciją.false— Galinis efektorius nepasiekė prašomos orientacijos arbawaitForCompletionbuvo nustatytas įfalse.
Pavyzdys
// Rotate the end effector -50 degrees in pitch
Arm.moveEndEffectorInc(0, 0, -50);
Mutatoriai#
setSpeed#
setSpeed nustato 6 ašių svirties judėjimo greitį.
Galima funkcija
void setSpeed(uint32_t speed);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Greitis, kuriuo turėtų judėti 6 ašių svirtis, milimetrais per sekundę. |
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Set the 6-Axis Arm movement speed
Arm.setSpeed(100);
setEndEffectorType#
setEndEffectorType nustato prie 6 ašių svirties pritvirtinto galinio efektoriaus tipą.
Kai pakeičiamas galinio efektoriaus tipas, 6 ašių svirtis automatiškai pakoreguoja savo z poslinkį, kad jis atitiktų pasirinktą įrankį.
Galima funkcija
bool setEndEffectorType(
endEffectorType type,
bool waitForCompletion = true
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Prie 6 ašių svirties pritvirtintas įrankis: |
|
|
Pasirinktinai. |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— Prašomas tipas nustatytas.false— Prašomas tipas nebuvo nustatytas arbawaitForCompletionbuvo nustatytas įfalse.
Pavyzdys
// Set the end effector type to the Magnet Pickup Tool
Arm.setEndEffectorType(magnet);
setEndEffectorMagnet#
setEndEffectorMagnet įjungia arba išjungia magneto paėmimo įrankį.
Galima funkcija
void setEndEffectorMagnet(bool enabled);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
|
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Pick up objects and then drop them
Arm.setEndEffectorType(magnet);
Arm.setEndEffectorMagnet(true);
wait(2, seconds);
Arm.setEndEffectorMagnet(false);
setPenOffset#
setPenOffset nustato z ašies poslinkį, naudojamą, kai rašiklio laikiklio įrankis pritvirtintas prie 6 ašių svirties.
Prieš naudodami šią funkciją, nustatykite galinio efektoriaus tipą į pen Jei rašiklio laikiklio įrankis nepasirinktas, ši funkcija neturi jokio poveikio.
Rašiklio poslinkis yra atstumas nuo rašiklio laikiklio įrankio viršaus iki sauso trinkimo žymeklio galiuko. Teigiama z reikšmė perkelia poslinkį aukštyn nuo įrankio tvirtinimo taško.
Galima funkcija
void setPenOffset(double zOffset);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rašiklio poslinkio vertė milimetrais. |
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Set the end effector type to the Pen Holder Tool and set the pen offset
Arm.setEndEffectorType(pen);
Arm.setPenOffset(25);
setControlStop#
setControlStop įjungia arba išjungia 6 ašių svirties valdymo sustabdymą.
Įjungus valdymo stabdymą, 6 ašių svirtis nedelsiant sustabdo judėjimą ir neleidžia toliau judėti tiesiškai ar jungtimis.
Galima funkcija
void setControlStop(bool state = true);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pasirinktinai. |
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Stop the 6-Axis Arm and prevent further movement
Arm.setControlStop();
setTimeout#
setTimeout nustato skirtojo laiko reikšmę, naudojamą judinant 6 ašių svirtį.
Jei judėjimas nebaigia iki skirtojo laiko pabaigos, projektas tęsia darbą su kita kodo eilute.
Galima funkcija
void setTimeout(
int32_t timeout,
timeUnits units
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Nauja skirtojo laiko reikšmė. |
|
|
Laiko vienetas: |
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Set the 6-Axis Arm timeout to 2 seconds
Arm.setTimeout(2, sec);
Getteriai#
isDone#
isDone grąžina, ar 6 ašių svirtis baigė judėti.
Ši funkcija naudinga iškvietus judėjimo funkciją su waitForCompletion nustatyta į false.
Galima funkcija
bool isDone();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis baigė judėti.false— 6 ašių svirtis vis dar juda.
Pavyzdys
// 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 grąžina, ar 6 ašių svirtis sugedo judėdama.
Aptikus avariją, 6 ašių svirtis sustabdo variklio judėjimą ir gali atrodyti, kad variklis nustoja veikti. Tai sumažina įtampą ir padeda apsaugoti variklius nuo atsitiktinio pažeidimo.
Galima funkcija
bool isCrashed();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis sugedo.false— 6 ašių svirtis nesugedo.
Pavyzdys
// 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 grąžina dabartinę galinio efektoriaus x padėtį milimetrais.
Naudokite šią funkciją, norėdami nuskaityti, kur šiuo metu yra galinis efektorius išilgai x ašies.
Galima funkcija
float getX();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina float reikšmę, nurodančią galinio efektoriaus x padėtį milimetrais.
Pavyzdys
// Print the current x position of the 6-Axis Arm
Brain.Screen.print(Arm.getX());
getY#
getY grąžina dabartinę galinio efektoriaus y padėtį milimetrais.
Naudokite šią funkciją, norėdami nuskaityti, kur šiuo metu yra galinis efektorius išilgai y ašies.
Galima funkcija
float getY();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina float reikšmę, nurodančią galinio efektoriaus y padėtį milimetrais.
Pavyzdys
// Print the current y position of the 6-Axis Arm
Brain.Screen.print(Arm.getY());
getZ#
getZ grąžina dabartinę galinio efektoriaus z padėtį milimetrais.
Naudokite šią funkciją, norėdami nuskaityti, kur šiuo metu yra galinis efektorius išilgai z ašies.
Galima funkcija
float getZ();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina float reikšmę, nurodančią galinio efektoriaus z padėtį milimetrais.
Pavyzdys
// Print the current z position of the 6-Axis Arm
Brain.Screen.print(Arm.getZ());
getYaw#
getYaw grąžina dabartinį galinio efektoriaus posūkio kampą laipsniais.
Galima funkcija
float getYaw();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina float , rodantį dabartinį galinio efektoriaus posūkio kampą laipsniais.
Pavyzdys
// Print the current yaw of the end effector
Brain.Screen.print(Arm.getYaw());
getRoll#
getRoll grąžina dabartinį galinio efektoriaus posūkį laipsniais.
Galima funkcija
float getRoll();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina float , rodantį dabartinį galinio efektoriaus riedėjimą laipsniais.
Pavyzdys
// Print the current roll of the end effector
Brain.Screen.print(Arm.getRoll());
getPitch#
getPitch grąžina dabartinį galinio efektoriaus žingsnį laipsniais.
Galima funkcija
float getPitch();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina float , rodantį dabartinį galinio efektoriaus aukštį laipsniais.
Pavyzdys
// Print the current pitch of the end effector
Brain.Screen.print(Arm.getPitch());
canArmReachTo#
canArmReachTo grąžina, ar 6 ašių svirtis gali perkelti galinį efektorių į nurodytas x, y ir z koordinates.
Naudokite šią funkciją, norėdami patikrinti tikslinę padėtį prieš naudodami moveTo.
Galima funkcija
bool canArmReachTo(
double x,
double y,
double z
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Tikslinės padėties x koordinatė milimetrais. |
|
|
Tikslinės padėties y koordinatė milimetrais. |
|
|
Tikslinės padėties z koordinatė milimetrais. |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis gali pasiekti pageidaujamą padėtį.false— 6 ašių svirtis negali pasiekti prašomos padėties.
Pavyzdys
// 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 grąžina, ar 6 ašių svirtis gali perkelti galinį efektorių nurodytu x, y ir z atstumu nuo jo dabartinės padėties.
Naudokite šią funkciją, norėdami patikrinti santykinį judėjimą prieš naudodami moveInc.
Galima funkcija
bool canArmReachInc(
double x,
double y,
double z
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Atstumas, kurį reikia judėti išilgai x ašies, milimetrais. |
|
|
Atstumas, kurį reikia judėti išilgai y ašies, milimetrais. |
|
|
Atstumas, kurį reikia judėti z ašimi, milimetrais. |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis gali atlikti pageidaujamą judesį.false— 6 ašių svirtis negali atlikti prašomo judesio.
Pavyzdys
// 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 grąžina, ar galinis efektorius gali pasisukti į nurodytą posūkio, riedėjimo ir žingsnio orientaciją.
Naudokite šią funkciją, norėdami patikrinti tikslinę orientaciją prieš naudodami moveEndEffectorTo.
Galima funkcija
bool canEndEffectorReachTo(
double yaw,
double roll = 0,
double pitch = 0
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Tikslinis posūkio kampas laipsniais. |
|
|
Pasirinktinai. Tikslinis riedėjimo kampas laipsniais. Numatytoji reikšmė yra |
|
|
Pasirinktinai. Tikslinis polinkio kampas laipsniais. Numatytoji reikšmė yra |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— Galutinis efektorius gali pasiekti pageidaujamą orientaciją.false— Galinis efektorius negali pasiekti prašomos orientacijos.
Pavyzdys
// Rotate the end effector to 90 degrees of roll if possible
if (Arm.canEndEffectorReachTo(0, 90, 0)) {
Arm.moveEndEffectorTo(0, 90, 0);
}
canEndEffectorReachInc#
canEndEffectorReachInc grąžina, ar galinis efektorius gali pasisukti nurodytu posūkio, riedėjimo ir žingsnio dydžiu nuo dabartinės orientacijos.
Naudokite šią funkciją, norėdami patikrinti santykinį orientacijos judėjimą prieš naudodami moveEndEffectorInc.
Galima funkcija
bool canEndEffectorReachInc(
double yaw,
double roll = 0,
double pitch = 0
);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Posūkio pokytis laipsniais. |
|
|
Pasirinktinai. Pasvirimo pokytis laipsniais. Numatytoji reikšmė yra |
|
|
Pasirinktinai. Tono pokytis laipsniais. Numatytoji reikšmė yra |
Grąžinimo vertė
Grąžina loginę reikšmę.
true— Galinis efektorius gali atlikti prašomą sukimąsi.false— Galinis efektorius negali atlikti prašomo sukimosi.
Pavyzdys
// Increment the end effector by 10 degrees of pitch if possible
if (Arm.canEndEffectorReachInc(0, 0, 10)) {
Arm.moveEndEffectorInc(0, 0, 10);
}
isConnected#
isConnected grąžina, ar 6 ašių svirtis yra prijungta prie V5 smegenų.
Tai suderinamumo funkcija, kuri grąžina tokią pačią reikšmę kaip ir installed.
Galima funkcija
bool isConnected();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis prijungta prie V5 smegenų.false— 6 ašių svirtis neprijungta prie V5 smegenų.
Pavyzdys
// Print whether the 6-Axis Arm is connected
Brain.Screen.print(Arm.isConnected());
timestamp#
timestamp grąžina paskutinio iš 6 ašių svirties gauto būsenos paketo laiko žymą.
Galima funkcija
uint32_t timestamp();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina paskutinio būsenos paketo laiko žymą kaip uint32_t milisekundėmis.
installed#
installed grąžina, ar prijungta 6 ašių svirtis.
Galima funkcija
bool installed();
Parametrai
Ši funkcija neturi parametrų.
Grąžinimo vertė
Grąžina loginę reikšmę.
true— 6 ašių svirtis prijungta.false— 6 ašių svirtis neprijungta.
Atgaliniai skambučiai#
controlStopped#
controlStopped užregistruoja funkciją, kuri vykdoma, kai įjungtas valdymo sustabdymas.
Galima funkcija
void controlStopped(void (* callback)(void));
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Funkcija, kuri veikia, kai įjungtas valdymo stabdymas. |
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Called when the 6-Axis Arm is control stopped
void onControlStopped() {
Brain.Screen.print("Arm control stopped");
}
int main() {
Arm.controlStopped(onControlStopped);
}
crashed#
crashed užregistruoja funkciją, kuri paleidžiama, kai 6 ašių svirtis sugenda judėdama.
Aptikus avariją, 6 ašių svirtis sustabdo variklio judėjimą ir gali atrodyti, kad variklis nustoja veikti. Tai sumažina įtampą ir padeda apsaugoti variklius nuo atsitiktinio pažeidimo.
Galima funkcija
void crashed(void (* callback)(void));
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Funkcija, kuri paleidžiama, kai 6 ašių svirtis sugenda judėdama. |
Grąžinimo vertė
Ši funkcija negrąžina reikšmės.
Pavyzdys
// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
Brain.Screen.print("Crash detected");
}
int main() {
Arm.crashed(onArmCrashed);
}