CTE kar#

Bevezetés#

A arm osztály vezérlést biztosít a CTE Workcellben használt 6 tengelyes karhoz. A VEX V5 C+±ban a 6 tengelyes kar képes egy effektort háromdimenziós térben pozíciókba mozgatni, forgatni az effektort, ellenőrizni, hogy lehetséges-e a mozgás, és vezérelni a csatlakoztatott eszközöket, például a Magnet Pickup Toolt vagy a Pen Holder Toolt.

A 6 tengelyes kar nincs eszközként konfigurálva a VEXcode V5-ben. VEX V5 C++ projektben való használatához manuálisan létre kell hozni egy arm objektumot a kódban azzal a Smart Porttal, amelyhez a 6 tengelyes kar csatlakozik.

Az ezen az oldalon található példák egy kézzel készített, Arm nevű 6 tengelyes kart használnak.

Konstruktorok#

arm#

arm parancs egy 6 tengelyes kar objektumot hoz létre.

Elérhető funkció

arm(int32_t index);

Paraméter

Típus

Leírás

index

int32_t

Az az intelligens port, amelyhez a 6 tengelyes kar csatlakozik, PORTxformában írva, ahol x a port száma. Például: PORT1.

Példa

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

Destruktor#

~arm#

~arm parancs megsemmisíti a arm objektumot, és felszabadítja a hozzá tartozó erőforrásokat.

Elérhető funkció

~arm();

Tagfüggvények#

A arm osztály a következő tagfüggvényeket tartalmazza:

Műveletek — Mozgassa a 6 tengelyes kart a kívánt pozíciókba vagy irányokba.

  • moveTo — A végrehajtó egységet a megadott x, y és z koordinátára mozgatja.

  • moveInc — A megadott távolsággal elmozdítja az effektort az aktuális pozíciójától.

  • moveEndEffectorTo — Elforgatja az effektort egy megadott elfordulási, hengerlési és bólintási irányba.

  • moveEndEffectorInc — Elforgatja az effektort a megadott elfordulás, hengerlés és dőlésszög értékkel.

Mutátorok – Mozgás, eszközök és vezérlési beállítások konfigurálása.

  • setSpeed — Beállítja a 6 tengelyes kar által használt mozgási sebességet.

  • setEndEffectorType — Beállítja a 6 tengelyes karhoz csatlakoztatott effektor típusát.

  • setEndEffectorMagnet — Engedélyezi vagy letiltja a Mágnesfelszedő eszközt.

  • setPenOffset — Beállítja a Tolltartó eszközzel használt z-tengely eltolását.

  • setControlStop — Engedélyezi vagy letiltja a 6 tengelyes kar vezérlésének leállítását.

  • setTimeout — Beállítja a 6 tengelyes kar mozgásfunkciói által használt időtúllépést.

Getterek – Mozgási állapotot, pozíciót, orientációt és csatlakozási értékeket adnak vissza.

  • isDone — Visszaadja, hogy a 6 tengelyes kar mozgása befejeződött-e.

  • isCrashed — Visszaadja, hogy a 6 tengelyes kar mozgás közben összeomlott-e.

  • getX — Visszaadja az effektor végpontjának aktuális x pozícióját.

  • getY — Visszaadja az effektor végpontjának aktuális y pozícióját.

  • getZ — Visszaadja az effektor végpontjának aktuális z pozícióját.

  • getYaw — Visszaadja az effektor aktuális elfordulását.

  • getRoll — Visszaadja az effektor aktuális tekercsét.

  • getPitch — Visszaadja az effektor végpontjának aktuális hangmagasságát.

  • canArmReachTo — Visszaadja, hogy a 6 tengelyes kar eléri-e a megadott pozíciót.

  • canArmReachInc — Visszaadja, hogy a 6 tengelyes kar elmozdulhat-e egy megadott távolságot.

  • canEndEffectorReachTo — Visszaadja, hogy a végrehajtó egység el tud-e érni egy megadott orientációt.

  • canEndEffectorReachInc — Visszaadja, hogy az effektor elforgatható-e egy megadott mértékben.

  • isConnected — Visszaadja, hogy a 6 tengelyes kar csatlakoztatva van-e a V5 Brainhez.

  • timestamp — Visszaadja a 6 tengelyes kartól utoljára fogadott állapotcsomag időbélyegét.

  • installed — Visszaadja, hogy a 6 tengelyes kar csatlakoztatva van-e.

Visszahívások — Függvények futtatása élesítési események bekövetkeztekor.

  • controlStopped — Regisztrál egy függvényt, amely akkor fut, amikor a vezérlés leállítása engedélyezve van.

  • crashed — Regisztrál egy függvényt, amely összeomlás észlelésekor fut.

Műveletek#

moveTo#

moveTo A 6 tengelyes kart a megadott x, y és z koordinátára mozgatja.

Az x, y és z koordináták a végrehajtó egység pozícióját írják le a háromdimenziós térben. Használja a canArmReachTo függvényt a függvény előtt, ha a célpozíció a 6 tengelyes kar elérhető munkaterületén kívül eshet.

Elérhető funkció

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

Paraméter

Típus

Leírás

x

double

A célpozíció x koordinátája milliméterben.

y

double

A célpozíció y koordinátája milliméterben.

z

double

A célpozíció z-koordinátája milliméterben.

waitForCompletion

bool

Opcionális. true (alapértelmezett) megvárja, amíg a mozgás befejeződik, mielőtt folytatná. false elindítja a mozgást, és azonnal folytatja a kód következő sorával.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar elérte a célpozíciót.

  • false — A 6 tengelyes kar nem érte el a célpozíciót, vagy waitForCompletion értéke false volt.

Példák

// 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 A 6 tengelyes kart a jelenlegi pozíciójából a megadott távolsággal elmozdítja az x, y és z tengelyek mentén.

Ezzel a függvénnyel mozgathatod a végrehajtó végpontját ahhoz képest, ahol most éppen van. Használd a canArmReachInc függvényt a függvény előtt, ha a mozgás a 6 tengelyes kart a rendelkezésre álló munkaterületen kívülre helyezheti.

Elérhető funkció

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

Paraméter

Típus

Leírás

x

double

Az x tengely mentén elmozdítandó távolság milliméterben.

y

double

Az y tengely mentén elmozdítandó távolság milliméterben.

z

double

A z tengely mentén elmozdítandó távolság milliméterben.

waitForCompletion

bool

Opcionális. true (alapértelmezett) megvárja, amíg a mozgás befejeződik, mielőtt folytatná. false elindítja a mozgást, és azonnal folytatja a kód következő sorával.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar elérte a kért pozíciót.

  • false — A 6 tengelyes kar nem érte el a kért pozíciót, vagy waitForCompletion értéke false volt.

Példa

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

moveEndEffectorTo#

moveEndEffectorTo hatására a 6 tengelyes kar effektora a megadott elfordulási, gördülési és bólintási irányba forgatható.

Az orientáció leírja, hogyan forog az effektor. yaw a z tengely körül forog, roll az x tengely körül forog, és pitch az y tengely körül forog.

Elérhető funkció

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

Paraméter

Típus

Leírás

yaw

double

A célzott elfordulási szög fokban.

roll

double

Opcionális. A célzott dőlésszög fokban. Az alapértelmezett érték 0.

pitch

double

Opcionális. A cél dőlésszög fokban. Az alapértelmezett érték 0.

waitForCompletion

bool

Opcionális. true (alapértelmezett) megvárja, amíg a mozgás befejeződik, mielőtt folytatná. false elindítja a mozgást, és azonnal folytatja a kód következő sorával.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A végrehajtó egység elérte a céltájolást.

  • false — A végrehajtó egység nem érte el a céltájolást, vagy waitForCompletion értéke false volt.

Példa

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

moveEndEffectorInc#

moveEndEffectorInc A 6 tengelyes kar effektorát a jelenlegi irányából a megadott elfordulás, hengerlés és dőlésszög értékkel forgatja el.

Ezzel a függvényel a végrehajtó eszköz aktuális elfordulásához, hengerléséhez vagy dőléséhez képest forgatható el.

Elérhető funkció

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

Paraméter

Típus

Leírás

yaw

double

Az elfordulás változása fokban.

roll

double

Opcionális. A dőlés változása fokban. Az alapértelmezett érték 0.

pitch

double

Opcionális. A hangmagasság változása fokban. Az alapértelmezett érték 0.

waitForCompletion

bool

Opcionális. true (alapértelmezett) megvárja, amíg a mozgás befejeződik, mielőtt folytatná. false elindítja a mozgást, és azonnal folytatja a kód következő sorával.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A végrehajtó egység elérte a kért tájolást.

  • false — A végrehajtó egység nem érte el a kért orientációt, vagy waitForCompletion értéke false volt.

Példa

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

Mutátorok#

setSpeed#

setSpeed beállítja a 6 tengelyes kar által használt mozgási sebességet.

Elérhető funkció

void setSpeed(uint32_t speed);

Paraméter

Típus

Leírás

speed

uint32_t

A 6 tengelyes kar mozgási sebessége milliméter/másodpercben.

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

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

setEndEffectorType#

setEndEffectorType beállítja a 6 tengelyes karhoz csatlakoztatott effektor típusát.

Amikor a végeffektor típusa megváltozik, a 6 tengelyes kar automatikusan beállítja a z-eltolását, hogy az illeszkedjen a kiválasztott szerszámhoz.

Elérhető funkció

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

Paraméter

Típus

Leírás

type

endEffectorType

A 6 tengelyes karhoz rögzített eszköz: magnet (mágnesfelvevő eszköz) vagy pen (tolltartó eszköz).

waitForCompletion

bool

Opcionális. true (alapértelmezett) megvárja, amíg a módosítás befejeződik, mielőtt folytatná. false elindítja a módosítást, és azonnal folytatja a kód következő sorával.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A kért típus beállítva.

  • false — A kért típus nincs beállítva, vagy waitForCompletion értéke false.

Példa

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

setEndEffectorMagnet#

setEndEffectorMagnet engedélyezi vagy letiltja a Mágnesfelszedő eszközt.

Elérhető funkció

void setEndEffectorMagnet(bool enabled);

Paraméter

Típus

Leírás

enabled

bool

true engedélyezi a mágnest tárgyak felemelésére és megtartására. false letiltja a mágnest és elejti a megtartott tárgyakat.

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

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

setPenOffset#

setPenOffset Beállítja a z-tengely eltolását, amelyet akkor használunk, amikor a tolltartó eszköz a 6 tengelyes karhoz van rögzítve.

A funkció használata előtt állítsa az effektor típusát pen -re. Ha a Tolltartó eszköz nincs kiválasztva, a funkciónak nincs hatása.

A toll eltolás a tolltartó eszköz tetejétől a szárazon törölhető jelölő hegyéig mért távolság. A pozitív z érték felfelé tolja az eltolást az eszköz felfogatási pontjától.

Elérhető funkció

void setPenOffset(double zOffset);

Paraméter

Típus

Leírás

zOffset

double

A toll eltolás értéke milliméterben.

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

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

setControlStop#

setControlStop engedélyezi vagy letiltja a 6 tengelyes kar vezérlésének leállítását.

Amikor a vezérlés leállítása engedélyezve van, a 6 tengelyes kar azonnal leállítja a mozgást, és megakadályozza a további lineáris vagy ízületi mozgásokat.

Elérhető funkció

void setControlStop(bool state = true);

Paraméter

Típus

Leírás

state

bool

Opcionális. true (alapértelmezett) engedélyezi a vezérlés leállítását és megakadályozza a további lineáris vagy ízületi mozgásokat. false letiltja a vezérlés leállítását.

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

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

setTimeout#

setTimeout beállítja az időtúllépési értéket, amely a 6 tengelyes kar mozgatásakor használatos.

Ha egy mozgás nem fejeződik be az időkorlát elérése előtt, a projekt a kód következő sorával folytatódik.

Elérhető funkció

void setTimeout(
  int32_t   timeout,
  timeUnits units
);

Paraméter

Típus

Leírás

timeout

int32_t

Az új időtúllépési érték.

units

timeUnits

Az időegység: sec (másodperc) vagy msec (milliszekundum).

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

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

Getterek#

isDone#

isDone Visszaadja, hogy a 6 tengelyes kar mozgása befejeződött-e.

Ez a függvény egy mozgásfüggvény meghívása után hasznos, ha a waitForCompletion értéke false.

Elérhető funkció

bool isDone();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar mozgása befejeződött.

  • false — A 6 tengelyes kar még mindig mozog.

Példa

// 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 Visszaadja, hogy a 6 tengelyes kar mozgás közben összeomlott-e.

Ütközés észlelésekor a 6 tengelyes kar leállítja a motor mozgását, és úgy tűnhet, mintha ernyedni kezdene. Ez csökkenti a terhelést és segít megvédeni a motorokat a véletlen sérülésektől.

Elérhető funkció

bool isCrashed();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar összeomlott.

  • false — A 6 tengelyes kar nem omlott össze.

Példa

// 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 visszaadja az effektor aktuális x pozícióját milliméterben.

Ezzel a függvénnyel leolvashatja, hogy az effektor jelenleg hol helyezkedik el az x tengely mentén.

Elérhető funkció

float getX();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Visszaad egy float amely az effektor x pozícióját jelöli milliméterben.

Példa

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

getY#

getY függvény visszaadja az effektor aktuális y pozícióját milliméterben.

Ezzel a függvénnyel leolvashatja, hogy az effektor jelenleg hol helyezkedik el az y tengely mentén.

Elérhető funkció

float getY();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Visszaad egy float amely a vég effektor y pozícióját jelöli milliméterben.

Példa

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

getZ#

getZ visszaadja az effektor aktuális z pozícióját milliméterben.

Ezzel a függvénnyel leolvashatja, hogy hol helyezkedik el jelenleg az effektor a z tengely mentén.

Elérhető funkció

float getZ();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Visszaad egy float amely az effektor z pozícióját jelöli milliméterben.

Példa

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

getYaw#

getYaw visszaadja az effektor aktuális elfordulását fokban.

Elérhető funkció

float getYaw();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

float et ad vissza, amely a vég effektor aktuális elfordulását jelenti fokban.

Példa

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

getRoll#

getRoll visszaadja az effektor aktuális elfordulását fokban.

Elérhető funkció

float getRoll();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

float et ad vissza, amely az effektor aktuális elfordulását jelenti fokban.

Példa

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

getPitch#

getPitch visszaadja az effektor aktuális hangmagasságát fokban.

Elérhető funkció

float getPitch();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

float et ad vissza, amely a vég effektor aktuális hangmagasságát jelöli fokban.

Példa

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

canArmReachTo#

canArmReachTo Visszaadja, hogy a 6 tengelyes kar képes-e a megadott x, y és z koordinátára mozgatni a végrehajtó egységet.

Ezzel a függvénnyel ellenőrizheti a célpozíciót a moveTo használata előtt.

Elérhető funkció

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

Paraméter

Típus

Leírás

x

double

A célpozíció x koordinátája milliméterben.

y

double

A célpozíció y koordinátája milliméterben.

z

double

A célpozíció z-koordinátája milliméterben.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar eléri a kért pozíciót.

  • false — A 6 tengelyes kar nem éri el a kért pozíciót.

Példa

// 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 Visszaadja, hogy a 6 tengelyes kar el tudja-e mozgatni az effektort a megadott x, y és z távolsággal az aktuális pozíciójától.

Ezzel a függvénnyel ellenőrizheti a relatív mozgást a moveInc használata előtt.

Elérhető funkció

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

Paraméter

Típus

Leírás

x

double

Az x tengely mentén elmozdítandó távolság milliméterben.

y

double

Az y tengely mentén elmozdítandó távolság milliméterben.

z

double

A z tengely mentén elmozdítandó távolság milliméterben.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar képes elvégezni a kért mozgást.

  • false — A 6 tengelyes kar nem tudja végrehajtani a kért mozgást.

Példa

// 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 Visszaadja, hogy az effektor el tud-e forgatni egy megadott elfordulási, gördülési és bólintási irányba.

Ezzel a függvénnyel ellenőrizheti a célpont tájolását a moveEndEffectorTo használata előtt.

Elérhető funkció

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

Paraméter

Típus

Leírás

yaw

double

A célzott elfordulási szög fokban.

roll

double

Opcionális. A célzott dőlésszög fokban. Az alapértelmezett érték 0.

pitch

double

Opcionális. A cél dőlésszög fokban. Az alapértelmezett érték 0.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A végrehajtó egység elérheti a kért orientációt.

  • false — A végrehajtó egység nem tudja elérni a kért orientációt.

Példa

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

canEndEffectorReachInc#

canEndEffectorReachInc visszaadja, hogy az effektor el tud-e forgatni egy megadott elfordulási, hengerlési és dőlésszög-értékkel az aktuális irányából.

Ezzel a függvénnyel ellenőrizheti a relatív orientációs mozgást a moveEndEffectorInc használata előtt.

Elérhető funkció

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

Paraméter

Típus

Leírás

yaw

double

Az elfordulás változása fokban.

roll

double

Opcionális. A dőlés változása fokban. Az alapértelmezett érték 0.

pitch

double

Opcionális. A hangmagasság változása fokban. Az alapértelmezett érték 0.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A végrehajtó egység elvégezheti a kért forgatást.

  • false — A végrehajtó egység nem tudja végrehajtani a kért forgatást.

Példa

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

isConnected#

isConnected azt adja vissza, hogy a 6 tengelyes kar csatlakoztatva van-e a V5 Brain-hez.

Ez egy kompatibilitási függvény, amely ugyanazt az értéket adja vissza, mint a installed.

Elérhető funkció

bool isConnected();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar a V5 agyhoz van csatlakoztatva.

  • false — A 6 tengelyes kar nincs csatlakoztatva a V5 agyhoz.

Példa

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

timestamp#

timestamp Az 1-es érték a 6 tengelyes kartól utoljára fogadott állapotcsomag időbélyegét adja vissza.

Elérhető funkció

uint32_t timestamp();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Visszaadja az utolsó állapotcsomag időbélyegét uint32_t értékként milliszekundumban.

installed#

installed visszaadja, hogy a 6 tengelyes kar csatlakoztatva van-e.

Elérhető funkció

bool installed();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Logikai értéket ad vissza.

  • true — A 6 tengelyes kar csatlakoztatva van.

  • false — A 6 tengelyes kar nincs csatlakoztatva.

Visszahívások#

controlStopped#

controlStopped Egy olyan függvényt regisztrál, amely akkor fut, amikor a vezérlés leállítása engedélyezve van.

Elérhető funkció

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

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy függvény, amely akkor fut, amikor a vezérlés leállítása engedélyezett.

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

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

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

crashed#

crashed Egy olyan függvényt regisztrál, amely akkor fut le, amikor a 6 tengelyes kar mozgás közben összeomlik.

Ütközés észlelésekor a 6 tengelyes kar leállítja a motor mozgását, és úgy tűnhet, mintha ernyedni kezdene. Ez csökkenti a terhelést és segít megvédeni a motorokat a véletlen sérülésektől.

Elérhető funkció

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

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy függvény, amely akkor fut le, amikor a 6 tengelyes kar mozgás közben összeomlik.

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

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

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