CTE-käsivarsi#
Johdanto#
arm -luokka ohjaa CTE Workcellissä käytettyä 6-akselista vartta. VEX EXP C++:ssa 6-akselinen varsi voi siirtää efektoria kolmiulotteiseen asentoon, kiertää efektoria, tarkistaa, ovatko liikkeet mahdollisia, ja ohjata kiinnitettyjä työkaluja, kuten magneetin nostotyökalua tai kynänpidiketyökalua.
Tämän sivun esimerkeissä käytetään konfiguroitua 6-akselista vartta nimeltä Arm.
Rakentajat#
arm#
arm luo 6-akselisen varsiobjektin.
Käytettävissä oleva toiminto
arm(int32_t index);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Älyportti, johon 6-akselinen varsi on kytketty, kirjoitetaan muodossa |
Esimerkki
// Create a 6-Axis Arm named Arm on Port 1
arm Arm = arm(PORT1);
Tuhoaja#
~arm#
~arm tuhoaa arm -objektin ja vapauttaa siihen liittyvät resurssit.
Käytettävissä oleva toiminto
~arm();
Jäsenten toiminnot#
arm -luokka sisältää seuraavat jäsenfunktiot:
Toiminnot — Siirrä 6-akselista vartta asentoihin tai suuntiin.
moveTo— Siirtää päätelaitteen määritettyyn x-, y- ja z-koordinaattiin.moveInc— Siirtää päätelaitetta määritetyn etäisyyden sen nykyisestä sijainnista.moveEndEffectorTo— Kiertää efektoripäätä määritettyyn kääntö-, rulla- ja kallistuskulmaan.moveEndEffectorInc— Kiertää efektoripäätä määritetyn kääntö-, kallistus- ja kallistuskulman verran.
Mutaattorit — Määritä liike-, työkalu- ja ohjausasetuksia.
setSpeed— Asettaa 6-akselisen varren käyttämän liikenopeuden.setEndEffectorType— Asettaa 6-akseliseen varteen kiinnitetyn pääteefektorin tyypin.setEndEffectorMagnet— Ottaa magneetin poimintatyökalun käyttöön tai poistaa sen käytöstä.setPenOffset— Asettaa kynänpidiketyökalun kanssa käytettävän z-akselin siirtymän.setControlStop— Ottaa käyttöön tai poistaa käytöstä 6-akselisen varren ohjauksen pysäytyksen.setTimeout— Asettaa 6-akselisen varren liiketoimintojen käyttämän aikakatkaisun.
Getterit — Palauttavat liiketilan, sijainnin, suunnan ja yhteysarvot.
isDone— Palauttaa, onko 6-akselinen varsi liikkunut loppuun.isCrashed— Palauttaa, onko 6-akselinen varsi kaatunut liikkuessaan.getX— Palauttaa pääteefektorin nykyisen x-sijainnin.getY— Palauttaa pääteefektorin nykyisen y-sijainnin.getZ— Palauttaa pääteefektorin nykyisen z-sijainnin.getYaw— Palauttaa pääteefektorin nykyisen suunnanmuutoksen.getRoll— Palauttaa pääteefektorin nykyisen rullan.getPitch— Palauttaa pääteefektorin nykyisen äänenkorkeuden.canArmReachTo— Palauttaa, voiko 6-akselinen varsi saavuttaa tietyn asennon.canArmReachInc— Palauttaa, voiko 6-akselinen varsi liikkua määritetyn matkan.canEndEffectorReachTo— Palauttaa, voiko pääteefektori saavuttaa määritetyn suunnan.canEndEffectorReachInc— Palauttaa, voiko pääteefektori kiertyä määritetyn määrän.isConnected— Palauttaa, onko 6-akselinen varsi kytketty EXP Brainiin.timestamp— Palauttaa 6-akselisesta varresta viimeksi vastaanotetun tilapaketin aikaleiman.installed— Palauttaa, onko 6-akselinen varsi kytkettynä.
Takaisinkutsutoiminnot — Suorita funktioita, kun aktivointi tapahtuu.
controlStopped— Rekisteröi funktion suoritettavaksi, kun ohjauksen pysäytys on käytössä.crashed— Rekisteröi funktion suoritettavaksi, kun kaatuminen havaitaan.
Toiminnot#
moveTo#
moveTo siirtää 6-akselisen varren määritettyyn x-, y- ja z-koordinaattiin.
X-, y- ja z-koordinaatit kuvaavat päätyefektorin sijaintia kolmiulotteisessa avaruudessa. Käytä canArmReachTo ennen tätä funktiota, jos kohdesijainti voi olla 6-akselisen varren saavutettavan työtilan ulkopuolella.
Käytettävissä oleva toiminto
bool moveTo(
double x,
double y,
double z,
bool waitForCompletion = true
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kohdepaikan x-koordinaatti millimetreinä. |
|
|
Kohdepaikan y-koordinaatti millimetreinä. |
|
|
Kohdepaikan z-koordinaatti millimetreinä. |
|
|
Valinnainen. |
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi saavutti kohdeasennon.false— 6-akselinen varsi ei saavuttanut kohdeasentoa taiwaitForCompletionoli asetettu arvoonfalse.
Esimerkkejä
// 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 siirtää 6-akselista vartta määritetyn matkan sen nykyisestä sijainnista x-, y- ja z-akseleiden suuntaisesti.
Käytä tätä funktiota liikkuaksesi suhteessa päätelaitteen nykyiseen sijaintiin. Käytä canArmReachInc ennen tätä funktiota, jos liike voi siirtää 6-akselisen varren sen ulottumattomiin työtilaan.
Käytettävissä oleva toiminto
bool moveInc(
double x,
double y,
double z,
bool waitForCompletion = true
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
X-akselin suuntainen liikematka millimetreinä. |
|
|
Y-akselin suuntainen liikkumamatka millimetreinä. |
|
|
Z-akselin suuntainen liikematka millimetreinä. |
|
|
Valinnainen. |
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi on saavuttanut pyydetyn asennon.false— 6-akselinen varsi ei saavuttanut pyydettyä asentoa taiwaitForCompletionoli asetettu arvoonfalse.
Esimerkki
// Move the 6-Axis Arm 100 millimeters along the y-axis
Arm.moveInc(0, 100, 0);
moveEndEffectorTo#
moveEndEffectorTo kiertää 6-akselisen varren pääteefektoria määritettyyn kääntö-, rulla- ja kallistuskulmaan.
Orientaatio kuvaa, miten efektoripäätä kierretään. yaw pyörii z-akselin ympäri, roll pyörii x-akselin ympäri ja pitch pyörii y-akselin ympäri.
Käytettävissä oleva toiminto
bool moveEndEffectorTo(
double yaw,
double roll = 0,
double pitch = 0,
bool waitForCompletion = true
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kohdesuuntainen kallistuskulma asteina. |
|
|
Valinnainen. Tavoitekallistuskulma asteina. Oletusarvo on |
|
|
Valinnainen. Kohdekalibrointikulma asteina. Oletusarvo on |
|
|
Valinnainen. |
Palautusarvo
Palauttaa totuusarvon.
true— Pääteefektori saavutti kohdesuunnan.false— Pääteefektori ei saavuttanut kohdesuuntaa taiwaitForCompletionoli asetettu arvoonfalse.
Esimerkki
// Rotate the end effector to 90 degrees of roll
Arm.moveEndEffectorTo(0, 90, 0);
moveEndEffectorInc#
moveEndEffectorInc kiertää 6-akselisen varren pääteefektoria määritetyn kääntö-, rullaus- ja kallistuskulman verran sen nykyisestä suunnasta.
Käytä tätä funktiota kiertääksesi efektoria senhetkisen kääntö-, rulla- tai kallistuskulman suhteen.
Käytettävissä oleva toiminto
bool moveEndEffectorInc(
double yaw,
double roll = 0,
double pitch = 0,
bool waitForCompletion = true
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kallistuksen muutos asteina. |
|
|
Valinnainen. Kallistuksen muutos asteina. Oletusarvo on |
|
|
Valinnainen. Äänenkorkeuden muutos asteina. Oletusarvo on |
|
|
Valinnainen. |
Palautusarvo
Palauttaa totuusarvon.
true— Pääteefektori saavutti pyydetyn suunnan.false— Pääteefektori ei saavuttanut pyydettyä suuntaa taiwaitForCompletionoli asetettu arvoonfalse.
Esimerkki
// Rotate the end effector -50 degrees in pitch
Arm.moveEndEffectorInc(0, 0, -50);
Mutaattorit#
setSpeed#
setSpeed asettaa 6-akselisen varren käyttämän liikenopeuden.
Käytettävissä oleva toiminto
void setSpeed(uint32_t speed);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Nopeus, jolla 6-akselisen varren tulisi liikkua, millimetreinä sekunnissa. |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Set the 6-Axis Arm movement speed
Arm.setSpeed(100);
setEndEffectorType#
setEndEffectorType asettaa 6-akseliseen varteen kiinnitetyn pääteefektorin tyypin.
Kun päätyefektorin tyyppiä muutetaan, 6-akselinen varsi säätää automaattisesti z-offsettiaan vastaamaan valittua työkalua.
Käytettävissä oleva toiminto
bool setEndEffectorType(
endEffectorType type,
bool waitForCompletion = true
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
6-akseliseen varteen kiinnitetty työkalu: |
|
|
Valinnainen. |
Palautusarvo
Palauttaa totuusarvon.
true— Pyydetty tyyppi on asetettu.false— Pyydettyä tyyppiä ei ole asetettu, taiwaitForCompletionon asetettu arvoonfalse.
Esimerkki
// Set the end effector type to the Magnet Pickup Tool
Arm.setEndEffectorType(magnet);
setEndEffectorMagnet#
setEndEffectorMagnet ottaa magneetin poimintatyökalun käyttöön tai poistaa sen käytöstä.
Käytettävissä oleva toiminto
void setEndEffectorMagnet(bool enabled);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
|
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Pick up objects and then drop them
Arm.setEndEffectorType(magnet);
Arm.setEndEffectorMagnet(true);
wait(2, seconds);
Arm.setEndEffectorMagnet(false);
setPenOffset#
setPenOffset asettaa z-akselin siirtymän, jota käytetään, kun kynänpidiketyökalu on kiinnitetty 6-akseliseen varteen.
Aseta pääteefektorin tyypiksi pen ennen tämän toiminnon käyttöä. Jos kynänpidiketyökalua ei ole valittu, tällä toiminnolla ei ole vaikutusta.
Kynän siirtymä on etäisyys kynänpidiketyökalun yläreunasta kuivapoistotussin kärkeen. Positiivinen z-arvo siirtää siirtymää ylöspäin työkalun kiinnityskohdasta.
Käytettävissä oleva toiminto
void setPenOffset(double zOffset);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kynän siirtymän arvo millimetreinä. |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Set the end effector type to the Pen Holder Tool and set the pen offset
Arm.setEndEffectorType(pen);
Arm.setPenOffset(25);
setControlStop#
setControlStop ottaa käyttöön tai poistaa käytöstä 6-akselisen varren ohjauksen pysäytyksen.
Kun ohjauksen pysäytys on käytössä, 6-akselinen varsi pysäyttää liikkeen välittömästi ja estää lisälineaariset tai nivelliikkeet.
Käytettävissä oleva toiminto
void setControlStop(bool state = true);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Valinnainen. |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Stop the 6-Axis Arm and prevent further movement
Arm.setControlStop();
setTimeout#
setTimeout asettaa aikakatkaisuarvon, jota käytetään 6-akselista vartta liikutettaessa.
Jos liike ei pääty ennen aikarajan saavuttamista, projekti jatkaa seuraavalle koodiriville.
Käytettävissä oleva toiminto
void setTimeout(
int32_t timeout,
timeUnits units
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Uusi aikakatkaisuarvo. |
|
|
Aikayksikkö: |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Set the 6-Axis Arm timeout to 2 seconds
Arm.setTimeout(2, sec);
Getterit#
isDone#
isDone palauttaa, onko 6-akselinen varsi liikkunut loppuun.
Tästä funktiosta on hyötyä sen jälkeen, kun liikefunktiota kutsutaan, kun waitForCompletion on asetettu arvoon false.
Käytettävissä oleva toiminto
bool isDone();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi on liikkunut loppuun.false— 6-akselinen varsi liikkuu edelleen.
Esimerkki
// 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 palauttaa, onko 6-akselinen varsi kaatunut liikkuessaan.
Kun törmäys havaitaan, 6-akselinen varsi pysäyttää moottorin liikkeen ja saattaa näyttää veltolta. Tämä vähentää rasitusta ja auttaa suojaamaan moottoreita vahingossa tapahtuvilta vaurioilta.
Käytettävissä oleva toiminto
bool isCrashed();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi on kaatunut.false— 6-akselinen varsi ei ole kaatunut.
Esimerkki
// 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 Signal Tower and Brain screen
Brain.Screen.print("Crash Detected");
SignalTower6.setColor(signaltower::green, signaltower::off);
SignalTower6.setColor(signaltower::red, signaltower::on);
break;
}
wait(5, msec);
}
getX#
getX palauttaa pääteefektorin nykyisen x-sijainnin millimetreinä.
Käytä tätä funktiota lukeaksesi pääteefektorin nykyisen sijainnin x-akselilla.
Käytettävissä oleva toiminto
float getX();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa arvon float joka edustaa pääteefektorin x-sijaintia millimetreinä.
Esimerkki
// Print the current x position of the 6-Axis Arm
Brain.Screen.print(Arm.getX());
getY#
getY palauttaa päätelaitteen nykyisen y-sijainnin millimetreinä.
Käytä tätä funktiota lukeaksesi pääteefektorin nykyisen sijainnin y-akselilla.
Käytettävissä oleva toiminto
float getY();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa arvon float joka edustaa pääteefektorin y-sijaintia millimetreinä.
Esimerkki
// Print the current y position of the 6-Axis Arm
Brain.Screen.print(Arm.getY());
getZ#
getZ palauttaa pääteefektorin nykyisen z-sijainnin millimetreinä.
Käytä tätä funktiota lukeaksesi pääteefektorin nykyisen sijainnin z-akselilla.
Käytettävissä oleva toiminto
float getZ();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa arvon float joka edustaa pääteefektorin z-sijaintia millimetreinä.
Esimerkki
// Print the current z position of the 6-Axis Arm
Brain.Screen.print(Arm.getZ());
getYaw#
getYaw palauttaa päätelaitteen nykyisen kallistuskulman asteina.
Käytettävissä oleva toiminto
float getYaw();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa arvon float joka edustaa päätelaitteen nykyistä kallistuskulmaa asteina.
Esimerkki
// Print the current yaw of the end effector
Brain.Screen.print(Arm.getYaw());
getRoll#
getRoll palauttaa pääteefektorin nykyisen vierityksen asteina.
Käytettävissä oleva toiminto
float getRoll();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa arvon float joka edustaa päätelaitteen nykyistä vieritystä asteina.
Esimerkki
// Print the current roll of the end effector
Brain.Screen.print(Arm.getRoll());
getPitch#
getPitch palauttaa pääteefektorin nykyisen nousun asteina.
Käytettävissä oleva toiminto
float getPitch();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa arvon float joka edustaa pääteefektorin nykyistä nousua asteina.
Esimerkki
// Print the current pitch of the end effector
Brain.Screen.print(Arm.getPitch());
canArmReachTo#
canArmReachTo palauttaa, voiko 6-akselinen varsi siirtää efektoria määritettyyn x-, y- ja z-koordinaattiin.
Käytä tätä funktiota tarkistaaksesi kohdesijainnin ennen moveTo-funktion käyttöä.
Käytettävissä oleva toiminto
bool canArmReachTo(
double x,
double y,
double z
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kohdepaikan x-koordinaatti millimetreinä. |
|
|
Kohdepaikan y-koordinaatti millimetreinä. |
|
|
Kohdepaikan z-koordinaatti millimetreinä. |
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi voi saavuttaa pyydetyn asennon.false— 6-akselinen varsi ei voi saavuttaa pyydettyä asentoa.
Esimerkki
// 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 palauttaa, voiko 6-akselinen varsi siirtää efektoria määritetyn x-, y- ja z-etäisyyden sen nykyisestä sijainnista.
Käytä tätä funktiota tarkistaaksesi suhteellisen liikkeen ennen moveInc-funktion käyttöä.
Käytettävissä oleva toiminto
bool canArmReachInc(
double x,
double y,
double z
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
X-akselin suuntainen liikematka millimetreinä. |
|
|
Y-akselin suuntainen liikkumamatka millimetreinä. |
|
|
Z-akselin suuntainen liikematka millimetreinä. |
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi voi suorittaa pyydetyn liikkeen.false— 6-akselinen varsi ei pysty suorittamaan pyydettyä liikettä.
Esimerkki
// 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 palauttaa, voiko pääteefektori kiertyä määritettyyn suuntaus-, rullaus- ja kallistussuuntaan.
Käytä tätä funktiota tarkistaaksesi kohteen suunnan ennen moveEndEffectorTo-funktion käyttöä.
Käytettävissä oleva toiminto
bool canEndEffectorReachTo(
double yaw,
double roll = 0,
double pitch = 0
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kohdesuuntainen kallistuskulma asteina. |
|
|
Valinnainen. Tavoitekallistuskulma asteina. Oletusarvo on |
|
|
Valinnainen. Kohdekalibrointikulma asteina. Oletusarvo on |
Palautusarvo
Palauttaa totuusarvon.
true— Pääteefektori voi saavuttaa pyydetyn suunnan.false— Päätelaite ei pysty saavuttamaan pyydettyä suuntaa.
Esimerkki
// Rotate the end effector to 90 degrees of roll if possible
if (Arm.canEndEffectorReachTo(0, 90, 0)) {
Arm.moveEndEffectorTo(0, 90, 0);
}
canEndEffectorReachInc#
canEndEffectorReachInc palauttaa, voiko pääteefektori kiertyä määritetyn suuntaus-, kallistus- ja kallistuskulman verran nykyisestä suunnastaan.
Käytä tätä funktiota tarkistaaksesi suhteellisen suunnan liikkeen ennen moveEndEffectorInc-funktion käyttöä.
Käytettävissä oleva toiminto
bool canEndEffectorReachInc(
double yaw,
double roll = 0,
double pitch = 0
);
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kallistuksen muutos asteina. |
|
|
Valinnainen. Kallistuksen muutos asteina. Oletusarvo on |
|
|
Valinnainen. Äänenkorkeuden muutos asteina. Oletusarvo on |
Palautusarvo
Palauttaa totuusarvon.
true— Päätelaite voi tehdä pyydetyn kierron.false— Päätelaite ei voi tehdä pyydettyä kiertoa.
Esimerkki
// Increment the end effector by 10 degrees of pitch if possible
if (Arm.canEndEffectorReachInc(0, 0, 10)) {
Arm.moveEndEffectorInc(0, 0, 10);
}
isConnected#
isConnected palauttaa, onko 6-akselinen varsi kytketty EXP Brainiin.
Tämä on yhteensopivuusfunktio, joka palauttaa saman arvon kuin installed.
Käytettävissä oleva toiminto
bool isConnected();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi on kytketty EXP-aivoihin.false— 6-akselinen varsi ei ole kytketty EXP-aivoihin.
Esimerkki
// Print whether the 6-Axis Arm is connected
Brain.Screen.print(Arm.isConnected());
timestamp#
timestamp palauttaa 6-akselisesta varresta viimeksi vastaanotetun tilapaketin aikaleiman.
Käytettävissä oleva toiminto
uint32_t timestamp();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa viimeisen tilapaketin aikaleiman millisekunteina muodossa uint32_t.
installed#
installed palauttaa, onko 6-akselinen varsi kytkettynä.
Käytettävissä oleva toiminto
bool installed();
Parametrit
Tällä funktiolla ei ole parametreja.
Palautusarvo
Palauttaa totuusarvon.
true— 6-akselinen varsi on kytketty.false— 6-akselista vartta ei ole kytketty.
Takaisinkutsut#
controlStopped#
controlStopped rekisteröi funktion, joka suoritetaan, kun control stop on käytössä.
Käytettävissä oleva toiminto
void controlStopped(void (* callback)(void));
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Funktio, joka suoritetaan, kun ohjauksen pysäytys on käytössä. |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Called when the 6-Axis Arm is control stopped
void onControlStopped() {
Brain.Screen.print("Arm control stopped");
}
int main() {
vexcodeInit();
Arm.controlStopped(onControlStopped);
}
crashed#
crashed rekisteröi funktion, joka suoritetaan, kun 6-akselinen varsi on kaatunut liikkuessaan.
Kun törmäys havaitaan, 6-akselinen varsi pysäyttää moottorin liikkeen ja saattaa näyttää veltolta. Tämä vähentää rasitusta ja auttaa suojaamaan moottoreita vahingossa tapahtuvilta vaurioilta.
Käytettävissä oleva toiminto
void crashed(void (* callback)(void));
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Toiminto, joka suoritetaan, kun 6-akselinen varsi on kaatunut liikkuessaan. |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
Brain.Screen.print("Crash detected");
SignalTower6.setColor(signaltower::green, signaltower::off);
SignalTower6.setColor(signaltower::red, signaltower::on);
}
int main() {
vexcodeInit();
Arm.crashed(onArmCrashed);
}