Python específico para robots#

Todos los comandos VR estándar de VEXcode están disponibles para su uso en el patio de juegos VIQRC Virtual Skills - Rapid Relay.

Movimiento#

motor.spin()#

El comando motor.spin(direction) se utiliza para girar un motor indefinidamente.

Este es un comando sin espera y permite que cualquier comando posterior se ejecute sin demora.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.spin(direction).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

dirección

La dirección en la que debe moverse el motor: “ADELANTE” o “ATRÁS”.

Devoluciones: Ninguna.

# Spin the Intake Motor to bring a Ball onto the Catapult.
intake_motor.spin(FORWARD)

wait(2, SECONDS)
intake_motor.stop

motor.spin_for()#

El comando motor.spin_for(direction, distance, units, wait) se utiliza para girar un motor una cantidad determinada de grados o vueltas.

Este puede ser un comando sin espera o en espera dependiendo de si se utiliza el parámetro wait.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.spin_for(direction, distance, units, wait).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

dirección

La dirección en la que debe moverse el motor: “ADELANTE” o “ATRÁS”.

distancia

La distancia que debe recorrer el motor, expresada en un número entero.

unidades

Las unidades que utilizará el motor: GRADOS o VUELTAS.

esperar

Opcional. El parámetro wait determina si el comando bloqueará los comandos subsiguientes (wait=True) o permitirá su ejecución inmediata (wait=False). Si no se especifica, el valor predeterminado para el parámetro wait es wait=True.

Devoluciones: Ninguna.

# Launch the Ball currently loaded on the Catapult.
catapult_group.spin_for(REVERSE, 5, DEGREES)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_for(FORWARD, 1350, DEGREES)

motor.giro_a_posición()#

El comando motor.spin_to(angle, units, wait) se utiliza para girar un motor a una posición determinada.

Este puede ser un comando sin espera o en espera dependiendo de si se utiliza el parámetro wait.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.spin_for(angle, units, wait).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

ángulo

El ángulo específico o número de vueltas que dará el motor.

unidades

Las unidades que utilizará el motor: GRADOS o VUELTAS.

esperar

Opcional. El parámetro wait determina si el comando bloqueará los comandos subsiguientes (wait=True) o permitirá su ejecución inmediata (wait=False). Si no se especifica, el valor predeterminado para el parámetro wait es wait=True.

Devoluciones: Ninguna.

# Launch the Ball currently loaded on the Catapult.
catapult_group.spin_to_position(-90, DEGREES)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_to_position(1260, DEGREES)

motor.stop()#

El comando motor.stop() se utiliza para detener un motor.

Este es un comando sin espera y permite que cualquier comando posterior se ejecute sin demora.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.stop().

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Devoluciones: Ninguna.

# Spin the Intake Motor to bring a Ball onto the Catapult.
intake_motor.spin(FORWARD)

wait(2, SECONDS)
intake_motor.stop

motor.set_position()#

El comando motor.set_position(position, units) se utiliza para establecer la posición del codificador de un motor en el valor de posición dado.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.set_position(position, units).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

posición

El entero específico que se debe configurar para el codificador del motor.

unidades

Las unidades que utilizará el motor: “GRADOS” o “VUELTAS”.

Devoluciones: Ninguna.

# Launch the Ball currently loaded on the Catapult.
catapult_group.spin_for(REVERSE, 5, DEGREES)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_to_position(1260, DEGREES)

# Set the new Catapult position to be 0 degrees.
catapult_group.set_position(0, DEGREES)

motor.set_velocity()#

El comando motor.set_velocity(velocity, units) se utiliza para establecer la velocidad de un motor.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.set_velocity(velocity, units).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

velocidad

La velocidad a la que girará el motor, que varía entre -100 y 100.

unidades

La unidad de velocidad del motor, “PORCENTAJE”.

Devoluciones: Ninguna.

# Start spinning the Intake Motor to prepare
# for picking up a Ball.
intake_motor.set_velocity(100, PERCENT)
intake_motor.spin(FORWARD)

motor.set_timeout()#

El comando motor.set_timeout(value, units) se utiliza para establecer un límite de tiempo para los comandos de movimiento de un motor.

Esto evita que los comandos de movimiento que no llegan a su posición prevista impidan la ejecución de los comandos posteriores.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.set_timeout(value, units).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

valor

La cantidad de tiempo que el motor esperará antes de detenerse.

unidades

La unidad del temporizador del motor, “SEGUNDOS”.

Devoluciones: Ninguna.

catapult_group.set_timeout(2, SECONDS)

# Lower the Catapult to prepare to load another Ball.
catapult_group.spin_for(6, TURNS)

Eventos#

objeto_óptico_de_entrada_detectado()#

intake_optical.object_detected(callback) es el mismo comando que eye.object_detected(callback).

El comando solo utiliza el sensor óptico de Swish intake_optical para reemplazar eye en el comando estándar.

Para obtener información sobre cómo utilizar el comando eye.object_detected(callback), vaya a su documentación API aquí.

objeto_óptico_de_entrada_perdido()#

intake_optical.object_lost(callback) es el mismo comando que eye.object_lost(callback).

El comando solo utiliza el sensor óptico de Swish intake_optical para reemplazar eye en el comando estándar.

Para obtener información sobre cómo utilizar el comando eye.object_lost(callback), vaya a su documentación API aquí.

Detección#

motor.is_done()#

El comando motor.is_done() se utiliza para devolver un valor Verdadero o Falso si el motor seleccionado ha completado su movimiento.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.is_done().

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Devuelve: Esto devuelve un valor booleano.

motor.está_girando()#

El comando motor.is_spinning() se utiliza para devolver un valor Verdadero o Falso si el motor seleccionado se está moviendo.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.is_spinning().

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Devuelve: Esto devuelve un valor booleano.

motor.posición()#

El comando motor.position(units) se utiliza para devolver la posición rotacional actual del motor seleccionado.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.position(units).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

unidades

La unidad del valor devuelto, GRADOS o VUELTAS.

Devuelve: Esto devuelve un valor numérico.

# Lower the Catapult to prepare to load another Ball.
while not catapult_group.position(DEGREES) == 1260:
    catapult_group.spin(FORWARD)

motor.velocidad()#

El comando motor.velocity(units) se utiliza para devolver la velocidad actual del motor seleccionado.

Para utilizar este comando, reemplace motor con el motor o grupo de motores deseado, por ejemplo: intake_motor.velocity(units).

Objetos

Descripción

motor de admisión

Hace girar la toma de Swish para recoger bolas y colocarlas en su catapulta.

grupo catapulta

Sube o baja la catapulta de Swish para lanzar bolas.

Parámetros

Descripción

unidades

La unidad de velocidad del motor, “PORCENTAJE”.

Devuelve: Esto devuelve un valor numérico.

brain.screen.print(catapult_group.velocity(PERCENT))

la entrada óptica está cerca del objeto#

El comando intake_optical.near_object() se utiliza para informar un valor booleano si el sensor óptico está lo suficientemente cerca de una pelota para detectarla.

Este es un comando sin espera y permite que cualquier comando posterior se ejecute sin demora.

Devuelve: Esto informa un valor booleano.

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.is_near_object():
    catapult_group.spin_for(REVERSE, 5, DEGREES)

ingesta_óptica.color()#

El comando intake_optical.color() se utiliza para devolver el color detectado por el sensor óptico de admisión.

Los siguientes colores se pueden utilizar como comparación con el color detectado:

  • ROJO

  • VERDE

  • AZUL

  • AMARILLO

  • NARANJA

  • PÚRPURA

  • CIAN

Devuelve: Esto devuelve el nombre del color detectado como una cadena.

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.color() == YELLOW:
    catapult_group.spin_for(REVERSE, 5, DEGREES)

ingesta_óptica.brillo()#

El comando intake_optical.brightness() se utiliza para informar la cantidad de luz detectada por un sensor óptico dentro de un rango de 0 a 100 por ciento.

Devuelve: Esto devuelve un valor numérico.

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.brightness() > 0:
    catapult_group.spin_for(REVERSE, 5, DEGREES)

ingesta_óptica.hue()#

El comando intake_optical.brightness() se utiliza para informar el tono del objeto detectado por un sensor óptico dentro de un rango de 0 a 359. Este número representa la ubicación del color detectado en una rueda de colores.

Devuelve: Esto devuelve un valor numérico.

# Launch a loaded Ball once the Intake Optical Sensor
# detects a Ball in the Intake.
if intake_optical.hue() > 100:
    catapult_group.spin_for(REVERSE, 5, DEGREES)