brazo#

Inicializando la clase arm#

Un brazo de 6 ejes se crea utilizando el siguiente constructor:

El constructor arm crea un brazo CTE de 6 ejes en el puerto especificado.

Parámetro

Descripción

puerto

Un Puerto inteligente válido al que está conectado el brazo de 6 ejes.

// Construct a 6-Axis arm "Arm" with the
// arm class.
arm Arm = arm(PORT1);

Este objeto “Arm” se utilizará en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a los métodos de la clase arm.

Métodos de clase#

moverA()#

El método moveTo(x, y, z, waitForCompletion) mueve el efector final a la posición absoluta X, Y y Z solicitada.

Este puede ser un método de espera o sin espera dependiendo de si se utiliza el parámetro waitForCompletion.

Parámetros

Descripción

incógnita

La coordenada X a la que moverse, en milímetros.

y

La coordenada Y a la que moverse, en milímetros.

z

La coordenada Z a la que moverse, en milímetros.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: true si el brazo se ha movido a la posición solicitada. false si no lo hizo.

// Move the arm to the (200, 0, 100).
Arm.moveTo(200, 0, 100);

moverInc()#

El método moveInc(x, y, z, waitForCompletion) mueve el efector final según las distancias X, Y y Z solicitadas.

Este puede ser un método de espera o sin espera dependiendo de si se utiliza el parámetro waitForCompletion.

Parámetros

Descripción

incógnita

La distancia en el eje X a recorrer, en milímetros.

y

La distancia a recorrer en el eje Y, en milímetros.

z

La distancia en el eje Z a mover, en milímetros.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: true si el brazo se ha movido a la posición solicitada. false si no lo hizo.

// Move the Arm +100 millimeters on the Y axis.
Arm.moveInc(0, 100, 0);

moverFinEfectorA()#

El método moveEndEffectorTo(yaw, roll, pitch, waitForCompletion) mueve el efector final a la orientación absoluta de guiñada, balanceo y cabeceo solicitada.

Este puede ser un método de espera o sin espera dependiendo de si se utiliza el parámetro waitForCompletion.

Parámetros

Descripción

guiñada

El ángulo alrededor del eje Z al que debe apuntar el efector final, en grados.

rollo

El ángulo alrededor del eje X al que debe apuntar el efector final, en grados.

paso

El ángulo alrededor del eje Y al que debe apuntar el efector final, en grados.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: true si el efector final se ha movido a la orientación solicitada. false si no lo ha hecho.

// Orient the end effector to point towards 
// 90 degrees around the X axis.
Arm.moveEndEffectorTo(0, 90, 0);

moveEndEffectorInc()#

El método moveEndEffectorInc(yaw, roll, pitch, waitForCompletion) mueve el efector final a la orientación relativa de guiñada, balanceo y cabeceo solicitada.

Este puede ser un método de espera o sin espera dependiendo de si se utiliza el parámetro waitForCompletion.

Parámetros

Descripción

guiñada

El ángulo alrededor del eje Z en el que debe cambiar el efector final, en grados.

rollo

El ángulo alrededor del eje X en el que debe cambiar el efector final, en grados.

paso

El ángulo alrededor del eje Y en el que debe cambiar el efector final, en grados.

esperar a que se complete

Determina si el comando bloqueará los comandos subsiguientes (waitForCompletion=true) o permitirá su ejecución inmediata (waitForCompletion=false). Si no se especifica, el valor predeterminado para el parámetro waitForCompletion es waitForCompletion=true.

Devuelve: true si el efector final se ha movido a la orientación solicitada. false si no lo ha hecho.

// Orient the end effector -50 degrees on the Y axis.
Arm.moveEndEffectorInc(0, 0, -50);

establecerVelocidad()#

El método setSpeed(speed) establece la velocidad de los movimientos.

Parámetros

Descripción

velocidad

La velocidad a la que debe moverse el brazo.

Devoluciones: Ninguna.

establecerTipoDeEfectorFinal()#

El método setEndEffectorType(type) establece el tipo de efector final en imán o bolígrafo.

Parámetros

Descripción

tipo

Un [endEffectorType] válido (https://api.vex.com/exp/home/cpp/Enums.html#end-effector-types).

Devuelve: true si se configuró el tipo solicitado. false si no se configuró.

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

setEndEfectorMagnet()#

El método setEndEffectorMagnet(state) establece el imán del efector final como habilitado o deshabilitado.

Parámetros

Descripción

estado

verdadero o falso

Devoluciones: Ninguna.

// Enable the Magnet Pickup Tool.
Arm.setEndEffectorMagnet(true);

establecerDesplazamientoDePluma()#

El método setPenOffset(zOffset) establece el desplazamiento del eje Z del efector final del lápiz.

Parámetros

Descripción

zOffset

El nuevo desplazamiento en mm. Un valor z positivo indica hacia arriba.

Devoluciones: Ninguna.

establecerControlStop()#

El método setControlStop(state) desactiva el brazo y coloca los motores de las articulaciones en modo de freno.

Parámetros

Descripción

estado

true, para deshabilitar más movimientos lineales o conjuntos, o false.

Devoluciones: Ninguna.

controlDetenido()#

El método controlStopped(callback) registra una función que se llamará cuando se habilita el tope de control del brazo.

Parámetros

Descripción

llamar de vuelta

Una función que se llamará cuando se detenga el control del brazo.

Devoluciones: Ninguna.

// Define the whenControlStopped function with a void
// return type, showing it doesn't return a value.
void whenControlStopped() {
  // The brain will print that the arm has been control stopped
  // on the Brain's screen.
  Brain.Screen.print("The arm has been control stopped");
}

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Run whenControlStopped when the the arm is control stopped.
  Arm.controlStopped(whenControlStopped);
}

puedeArmReachTo()#

El método canArmReachTo(x, y, z) verifica si el efector final puede moverse a la posición absoluta X, Y y Z solicitada.

Parámetros

Descripción

incógnita

La coordenada X a la que moverse, en milímetros.

y

La coordenada Y a la que moverse, en milímetros.

z

La coordenada Z a la que moverse, en milímetros.

Devuelve: true si el brazo puede moverse a la posición solicitada. false si no puede.

// Check if the arm can move to the (100, -20, 50).
if (Arm.canArmReachTo(100, -20, 50)){
  // Move the arm to (100, -20, 50).
  Arm.moveTo(100, -20, 50);
}

puedeArmReachInc()#

El método Arm.canArmReachInc(x, y, z) verifica si el efector final puede moverse a la posición relativa X, Y y Z solicitada.

Parámetros

Descripción

incógnita

La distancia en el eje X a recorrer, en milímetros.

y

La distancia a recorrer en el eje Y, en milímetros.

z

La distancia en el eje Z a mover, en milímetros.

Devuelve: true si el brazo puede moverse a la posición solicitada. false si no puede.

// Check if the arm can increment by 100 mm along the x-axis.
if (Arm.canArmReachInc(100, 0, 0)){
  // Increment the arm by 100 mm along the X axis.
  Arm.moveInc(100, 0, 0);
}

puedeFinalizarEfectorAlcanceA()#

El método canEndEffectorReachTo(yaw, roll, pitch) verifica si el efector final puede moverse a la orientación absoluta de guiñada, balanceo y cabeceo solicitada.

Parámetros

Descripción

guiñada

El ángulo alrededor del eje Z al que debe apuntar el efector final, en grados.

rollo

El ángulo alrededor del eje X al que debe apuntar el efector final, en grados.

paso

El ángulo alrededor del eje Y al que debe apuntar el efector final, en grados.

Devuelve: true si el efector final puede moverse a la orientación solicitada. false si no puede.

// Check if the arm can orient 25 degrees around the Z axis.
if (Arm.canEndEffectorReachTo(25, 0, 0)){
  // Orient to 25 degrees around the Z axis.
  Arm.moveEndEffectorTo(25, 0, 0);
}

puedeEndEffectorReachInc()#

El método canEndEffectorReachInc(yaw, roll, pitch) verifica si el efector final puede moverse a la orientación relativa de guiñada, balanceo y cabeceo solicitada.

Parámetros

Descripción

guiñada

El ángulo alrededor del eje Z en el que se moverá el efector final, en grados.

rollo

Este parámetro es opcional. Indica el ángulo en grados que se moverá el efector final alrededor del eje X.

paso

Este es un parámetro opcional. El ángulo alrededor del eje Y que el efector final alcanzará, en grados.

Devuelve: true si el efector final puede moverse a la orientación solicitada. false si no puede.

// Check If the arm can increment its orientation 
// by 10 degrees on the X axis.
if (Arm.canEndEffectorReachInc(0, 10, 0)){
  // Move +10 degrees around the X axis.
  Arm.moveEndEffectorInc(0, 10, 0);
}

estáHecho()#

El método isDone() devuelve el estado del movimiento del brazo.

Devuelve: true si el brazo está realizando actualmente un movimiento. false si no lo está haciendo.

// Move Arm to (-100, 200, 100) and let subsequent methods execute.
Arm.moveTo(-100, 200, 100, false);
// Keep repeating the methods until the Arm is done moving.
while (!Arm.isDone()) {
  // Print the Arm's current Y coordinate on the Brain every .25 seconds.
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

obtenerX()#

El método getX() devuelve la posición X del efector final.

Devuelve: Un flotante que representa la posición X del efector final en “mm”.

// Print the current X position of the Arm in degrees.
Brain.Screen.print(Arm.getX());

obtenerY()#

El método getY() devuelve la posición Y del efector final.

Devuelve: Un flotante que representa la posición Y del efector final en “mm”.

// Print the current Y position of the Arm in degrees.
Brain.Screen.print(Arm.getY());

obtenerZ()#

El método getZ() solicita la posición Z del efector final.

Devuelve: Un flotante que representa la posición Z del efector final en “mm”.

// Print the current Z position of the Arm in degrees.
Brain.Screen.print(Arm.getZ());

obtenerYaw()#

El método getYaw() solicita la guiñada actual del efector final.

Devuelve: Un flotante que representa la guiñada actual del efector final en grados.

// Print the current yaw of the Arm in degrees.
Brain.Screen.print(Arm.getYaw());

obtenerRoll()#

El método getRoll() solicita el giro actual del efector final.

Devuelve: Un flotante que representa el balanceo actual del efector final en grados.

// Print the current roll of the Arm in degrees.
Brain.Screen.print(Arm.getRoll());

obtenerPitch()#

El método getPitch() solicita el tono actual del efector final.

Devuelve: Un flotante que representa el tono actual del efector final en grados.

// Print the current pitch of the Arm in degrees.
Brain.Screen.print(Arm.getPitch());

establecerTiempo de espera()#

El método setTimeout(timeout, units) establece el valor de tiempo de espera utilizado al mover el brazo.

Parámetros

Descripción

se acabó el tiempo

El nuevo valor de tiempo de espera.

unidades

Una unidad de tiempo válida.

Devoluciones: Ninguna.

está conectado()#

El método isConnected() comprueba si el brazo CTE está conectado. Esta función de compatibilidad devuelve el mismo resultado que la función installed().

Devuelve: true si el brazo está conectado al cerebro en el puerto inteligente asociado. false si no lo está.

marca de tiempo()#

El método timestamp() solicita la marca de tiempo del último paquete de estado recibido del Arm.

Devuelve: Marca de tiempo del último paquete de estado como un entero de 32 bits sin signo en milisegundos.

instalado()#

El método installed() regresa si el dispositivo está conectado.

Devuelve: true si el dispositivo está conectado. false si no lo está.