Bloques específicos del robot#

Introducción#

The VIQRC 25-26 Mix & Match Playground features blocks exclusive to the build designed for this Playground, including two motor options, IQ AI Vision Sensor, Optical Sensor, and Touch LED.

Todos los bloques VEXcode VR estándar están disponibles para su uso en el patio de juegos VIQRC 25-26 Mix & Match.

A continuación se muestra una lista de todos los bloques específicos de Playground disponibles:

Movimiento: mueve y rastrea los motores del robot.

AI Vision – Capture and analyze objects using the IQ AI Vision Sensor.

Detección: utilice los distintos sensores del robot.

Movimiento#

Actions#

girar#

El bloque spin hace girar un motor o un grupo de motores seleccionado en una dirección específica utilizando la velocidad actual del motor.

girar [ClawMotor v] [abierto v]

Parámetros

Descripción

motor

El motor o grupo de motores a girar:

  • ClawMotor
  • LiftMotor

dirección

La dirección para girar:

    ClawMotor
    • abrir
    • cerrar
    LiftMotor
    • abajo
    • arriba

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

girar para#

El bloque girar para hace girar un motor o un grupo de motores seleccionado durante una cantidad específica de rotación usando la velocidad actual del motor, medida en grados o vueltas.

girar [ClawMotor v] [abierto v] por (90) [grados v] ▶

Parámetros

Descripción

motor

El motor o grupo de motores a girar:

  • ClawMotor
  • LiftMotor

dirección

La dirección para girar:

    ClawMotor
    • abrir
    • cerrar
    LiftMotor
    • abajo
    • arriba

distancia

La cantidad de rotación, como número entero o decimal.

unidad

The unit of measurement representing the distance:

  • degrees
  • turns

flecha expansiva

Por defecto, este es un bloque de espera, por lo que el motor terminará de moverse antes de ejecutar el siguiente bloque. Para que el motor comience a moverse e inmediatamente ejecute el siguiente bloque, expanda el bloque para indicar y no espere.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

girar a la posición#

El bloque girar a posición hace girar un motor o un grupo de motores a una posición absoluta específica utilizando la velocidad del motor y la posición del motor actuales.

girar [ClawMotor v] a la posición (90) [grados v] ▶

Parámetros

Descripción

motor

El motor o grupo de motores a girar:

  • ClawMotor
  • LiftMotor

posición

La posición de destino a la que se debe girar el motor o el grupo de motores.

unidad

The unit of measurement:

  • degrees
  • turns

flecha expansiva

Por defecto, este es un bloque de espera, por lo que el motor terminará de moverse antes de ejecutar el siguiente bloque. Para que el motor comience a moverse e inmediatamente ejecute el siguiente bloque, expanda el bloque para indicar y no espere.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] a la posición [-2] [giros v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

detener el motor#

El bloque detener motor detiene inmediatamente el motor o el grupo de motores seleccionado.

parada [ClawMotor v]

Parámetros

Descripción

motor

El motor o grupo de motores a detener:

  • ClawMotor
  • LiftMotor

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v]
esperar [2] segundos
parada [LiftMotor v]
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

Settings#

establecer la velocidad del motor#

El bloque establecer velocidad del motor establece la velocidad de giro predeterminada de un motor o grupo de motores como un porcentaje para todos los bloques de motor posteriores en el proyecto.

Establezca la velocidad [ClawMotor v] en (50) [% v]

Parámetros

Descripción

motor

El motor o grupo de motores para establecer la velocidad de:

  • ClawMotor
  • LiftMotor

velocidad

Establece la velocidad de movimiento predeterminada de 0 a 100 como porcentaje.

unidad

La unidad que representa la velocidad:

  • %

Ejemplo

cuando empezó
[Place a pin atop another pin.]
Establezca la velocidad [LiftMotor v] en [100] [% v]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

establecer el tiempo de espera del motor#

El bloque establecer tiempo de espera del motor establece un límite de tiempo que un bloque de motor esperará para alcanzar su objetivo. Si el robot no puede completar el movimiento dentro del tiempo establecido, se detendrá automáticamente y continuará con el siguiente bloque.

Nota: El límite de tiempo del motor se utiliza para evitar que los bloques del motor que no alcanzan su posición objetivo detengan la ejecución de otros bloques en la pila.

Establezca el tiempo de espera [ClawMotor v] en (1) segundo

Parámetros

Descripción

motor

El motor o grupo de motores para configurar el tiempo de espera:

  • ClawMotor
  • LiftMotor

tiempo

La cantidad máxima de segundos que un bloque de motor funcionará antes de detenerse y pasar al siguiente bloque.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
Establezca el tiempo de espera [LiftMotor v] en [2] segundo
girar [LiftMotor v] [arriba v] por [5] [giros v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

Position#

posición del motor#

El bloque posición del motor devuelve la distancia total que ha girado el motor o el grupo de motores seleccionado.

([ClawMotor v] posición en [grados v])

Parámetros

Descripción

motor

El motor o grupo de motores para devolver la posición de:

  • ClawMotor
  • LiftMotor

unidad

The unit of measurement:

  • degrees
  • turns

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v]
esperar hasta <[-600] [math_greater_than v] ([LiftMotor v] posición en [grados v])>
parada [LiftMotor v]
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

establecer la posición del motor#

El bloque establecer posición del motor establece un valor de posición específico para un motor o grupo de motores, que actualiza la lectura del codificador.

Establezca la posición [ClawMotor v] en (0) [grados v]

Parámetros

Descripción

motor

El motor o grupo de motores para establecer la posición de:

  • ClawMotor
  • LiftMotor

posición

El valor de posición del codificador a establecer.

unidad

The unit of measurement:

  • degrees
  • turns

Ejemplo

cuando empezó
[Place a pin atop another pin.]
Establezca la posición [LiftMotor v] a [100] grado
girar [LiftMotor v] a la posición [-500] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

Values#

El motor está listo#

El bloque ¿El motor está listo? devuelve un valor booleano que indica si el motor o el grupo de motores no está girando.

  • Verdadero – El motor no gira.

  • Falso – El motor está girando.

<[ClawMotor v] ¿está hecho?>

Parámetros

Descripción

motor

El motor o grupo de motores para comprobar si ha terminado de girar:

  • ClawMotor
  • LiftMotor

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ◀ y no esperes
esperar [0.1] segundos
repetir hasta <[LiftMotor v] ¿está hecho?>
establecer el color [TouchLED v] en [rojo v]
esperar [0.5] segundos
establecer el color [TouchLED v] en [rojo v]
esperar [0.5] segundos
fin
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

¿El motor está girando?#

El bloque ¿el motor está girando? devuelve un valor booleano que indica si el motor está girando.

  • Verdadero – El motor está girando.

  • Falso – El motor no gira.

<[ClawMotor v] esta girando?>

Parámetros

Descripción

motor

El motor o grupo de motores para comprobar si está girando actualmente:

  • ClawMotor
  • LiftMotor

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ◀ y no esperes
esperar [0.1] segundos
mientras <[LiftMotor v] esta girando?>
establecer el color [TouchLED v] en [rojo v]
esperar [0.5] segundos
establecer el color [TouchLED v] en [rojo v]
esperar [0.5] segundos
fin
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

velocidad del motor#

El bloque velocidad del motor devuelve la velocidad de rotación actual del motor o grupo de motores en un rango de -100% a 100%.

([ClawMotor v] velocidad en [% v] :: custom-motion)

Parámetros

Descripción

motor

El motor o grupo de motores para devolver la velocidad de:

  • ClawMotor
  • LiftMotor

unidad

La unidad que representa la velocidad:

  • %

Ejemplo

cuando empezó
[Place a pin atop another pin.]
Establezca la velocidad [LiftMotor v] en [100] [% v]
girar [LiftMotor v] [arriba v] por [600] [grados v] ◀ y no esperes
esperar [0.5] segundos
imprimir ([LiftMotor v] velocidad en [% v] :: custom-motion) ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]

AI Vision#

Actions#

get object data#

The get object data block filters data from the IQ AI Vision Sensor frame. The IQ AI Vision Sensor can detect Game Elements on the field.

The dataset stores objects ordered from largest to smallest by width, starting at index 0. Each object’s properties can be accessed using AI Vision object property block. An empty dataset is returned if no matching objects are detected.

The Get object data stack block.#
obtener [AI Classifications v] datos de [AIVision v]

Parameter

Descripción

signature

Filters the dataset to only include data of the given signature. The only available signature is:

  • AI Classifications – Detects Beams and Blue, Red, and Orange Pins.

Ejemplo

cuando empezó
[Place the Red Pin on the top left Blue Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
girar [izquierda v] por [38] grado ▶
repetir hasta <([AIVision v] objeto [amplitud v]) [math_greater_than v] [48]>
[Move forward until the robot is close to the Pin.]
obtener [AI Classifications v] datos de [AIVision v]
unidad [adelante v]
fin
unidad [adelante v] para [160] [mm v] ▶
girar [ClawMotor v] [abierto v]

Settings#

set object item#

The set object item block sets which item in the dataset to use.

The Set AI Vision object item stack block.#
Establecer el elemento de objeto [AIVision v] en [1]

Parámetros

Descripción

item

The number of the item in the dataset to use.

Ejemplo

cuando empezó
[Find the object index of the nearest Orange Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
establecer de [object_counter v] a [1]
obtener [AI Classifications v] datos de [AIVision v]
[Iterate through all detected objects.]
repetir ([AIVision v] recuento de objetos)
Establecer el elemento de objeto [AIVision v] en (object_counter)
si <[AIVision v] object is [Orange Pin v] ?> entonces
imprimir (unirse [Nearest Orange Pin is ] (object_counter)) ▶
demás
cambiar [object_counter v] por [1]

Values#

object exists?#

The object exists? block returns a Boolean indicating whether any object is detected in the dataset.

  • True – The dataset includes a detected object.

  • False – The dataset does not include any detected objects.

The AI Vision object exists Boolean block.#
<¿Existe el objeto AI Vision?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Raise the Lift until a Pin or Beam is detected.]
repetir hasta <¿Existe [AIVision v] objeto?>
obtener [AI Classifications v] datos de [AIVision v]
girar [LiftMotor v] [arriba v]
fin
parada [LiftMotor v]

object count#

The object count block returns the number of detected objects in the dataset as an integer.

The Set AI Vision object item stack block.#
([AIVision v] recuento de objetos)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Find the object index of the nearest Orange Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
establecer de [object_counter v] a [1]
obtener [AI Classifications v] datos de [AIVision v]
[Iterate through all detected objects.]
repetir ([AIVision v] recuento de objetos)
Establecer el elemento de objeto [AIVision v] en (object_counter)
si <[AIVision v] object is [Orange Pin v] ?> entonces
imprimir (unirse [Nearest Orange Pin is ] (object_counter)) ▶
demás
cambiar [object_counter v] por [1]

object property#

There are six properties that are included with each object (shown below) stored after the get object data block is used.

The AI Vision object property reporter block.#
([AIVision v] objeto [amplitud v])

Some property values are based off of the detected object’s position in the IQ AI Vision Sensor’s view at the time that the get object data block was used. The IQ AI Vision Sensor has a resolution of 320 by 240 pixels.

Parameter

Descripción

property

Which property of the detected object to use:

width#

width returns the width of the detected object in pixels as an integer from 1 to 320.

The AI Vision object property stack block with its parameter set to width.#
([AIVision v] objeto [amplitud v])

Ejemplo

cuando empezó
[Place the Red Pin on the top left Blue Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
girar [izquierda v] por [38] grado ▶
repetir hasta <([AIVision v] objeto [amplitud v]) [math_greater_than v] [48]>
[Move forward until the robot is close to the Pin.]
obtener [AI Classifications v] datos de [AIVision v]
unidad [adelante v]
fin
unidad [adelante v] para [160] [mm v] ▶
girar [ClawMotor v] [abierto v]
height#

height returns the height of the detected object in pixels as an integer from 1 to 240.

The AI Vision object property stack block with its parameter set to height.#
([AIVision v] objeto [altura v])

Ejemplo

cuando empezó
[Place the Red Pin on the top left Blue Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
girar [izquierda v] por [38] grado ▶
repetir hasta <([AIVision v] objeto [altura v]) [math_greater_than v] [68]>
[Move forward until the robot is close to the Pin.]
obtener [AI Classifications v] datos de [AIVision v]
unidad [adelante v]
fin
unidad [adelante v] para [160] [mm v] ▶
girar [ClawMotor v] [abierto v]
centerX#

centerX returns the x-coordinate of the center of the detected object in pixels as an integer from 0 to 320.

The AI Vision object property stack block with its parameter set to centerX.#
([AIVision v] objeto [centroX v])

Ejemplo

cuando empezó
[Place the Red Pin on the bottom left Blue Pin.]
unidad [adelante v] para [50] [mm v] ▶
girar [LiftMotor v] [arriba v] por [450] [grados v] ▶
establecer la velocidad de giro a [10] [% v]
obtener [AI Classifications v] datos de [AIVision v]
repetir hasta <([AIVision v] objeto [centroX v]) [math_less_than v] [190]>
[Turn until the robot is centered on the Blue Pin.]
obtener [AI Classifications v] datos de [AIVision v]
turno [derecha v]
fin
unidad [adelante v] para [350] [mm v] ▶
girar [ClawMotor v] [abierto v]
centerY#

centerY returns the y-coordinate of the center of the detected object in pixels as an integer from 0 to 240.

The AI Vision object property stack block with its parameter set to centerY.#
([AIVision v] objeto [centroY v])

Ejemplo

cuando empezó
[Place the Red Pin on the top left Blue Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
girar [izquierda v] por [38] grado ▶
repetir hasta <([AIVision v] objeto [centroY v]) [math_greater_than v] [210]>
[Move forward until the robot is close to the Pin.]
obtener [AI Classifications v] datos de [AIVision v]
unidad [adelante v]
fin
unidad [adelante v] para [160] [mm v] ▶
girar [ClawMotor v] [abierto v]
originX#

originX returns the x-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 320.

The AI Vision object property stack block with its parameter set to originX.#
([AIVision v] objeto [origenX v])

Ejemplo

cuando empezó
[Place the Red Pin on the bottom left Blue Pin.]
unidad [adelante v] para [50] [mm v] ▶
girar [LiftMotor v] [arriba v] por [450] [grados v] ▶
establecer la velocidad de giro a [10] [% v]
obtener [AI Classifications v] datos de [AIVision v]
repetir hasta <([AIVision v] objeto [centroX v]) [math_less_than v] [160]>
[Turn until the robot is centered on the Blue Pin.]
obtener [AI Classifications v] datos de [AIVision v]
turno [derecha v]
fin
unidad [adelante v] para [350] [mm v] ▶
girar [ClawMotor v] [abierto v]
originY#

originY returns the y-coordinate of the top-left corner of the detected object’s bounding box in pixels as an integer from 0 to 240.

The AI Vision object property stack block with its parameter set to originY.#
([AIVision v] objeto [origenY v])

Ejemplo

cuando empezó
[Place the Red Pin on the top left Blue Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
girar [izquierda v] por [38] grado ▶
repetir hasta <([AIVision v] objeto [origenY v]) [math_greater_than v] [180]>
[Move forward until the robot is close to the Pin.]
obtener [AI Classifications v] datos de [AIVision v]
unidad [adelante v]
fin
unidad [adelante v] para [160] [mm v] ▶
girar [ClawMotor v] [abierto v]

AI Classification is#

The AI Vision object is? block returns a Boolean indicating whether a detected object matches a specific classification.

  • True – The item in the dataset is the specific object.

  • False – The item in the dataset is not the specific object.

The AI Vision AI Classification is object Boolean block.#
<[AIVision] object is [Beam v]?>

Parameter

Descripción

object

Which object to compare the item to:

  • Beam
  • Blue Pin
  • Red Pin
  • Orange Pin

Ejemplo

cuando empezó
[Find the object index of the nearest Orange Pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
establecer de [object_counter v] a [1]
obtener [AI Classifications v] datos de [AIVision v]
[Iterate through all detected objects.]
repetir ([AIVision v] recuento de objetos)
Establecer el elemento de objeto [AIVision v] en (object_counter)
si <[AIVision v] object is [Orange Pin v] ?> entonces
imprimir (unirse [Nearest Orange Pin is ] (object_counter)) ▶
demás
cambiar [object_counter v] por [1]

Detección#

Optical#

¿Objeto óptico encontrado?#

El bloque ¿Objeto óptico encontrado? devuelve un valor booleano que indica si el sensor óptico ha detectado un objeto.

  • Verdadero: el sensor óptico ha detectado un objeto.

  • Falso: el sensor óptico no ha detectado un objeto.

<[Optical v] Encontraste un objeto?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]
esperar hasta <no <[Optical v] Encontraste un objeto?>>
girar [LiftMotor v] a la posición [0] [grados v] ▶

¿La tecnología óptica detecta el color?#

El bloque ¿El sensor óptico detecta color? devuelve un valor booleano que indica si el sensor óptico ha detectado un color específico.

  • Verdadero: el sensor óptico ha detectado el color especificado.

  • Falso: el sensor óptico no ha detectado el color especificado.

<[Optical v] detecta [rojo v]?>

Parámetros

Descripción

color

¿Qué color buscar?:

  • rojo
  • verde
  • azul
  • amarillo
  • naranja
  • morado

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]
esperar hasta <no <[Optical v] detecta [rojo v]?>>
girar [LiftMotor v] a la posición [0] [grados v] ▶

Brillo óptico#

El bloque Brillo óptico devuelve la cantidad de luz detectada por el sensor óptico en un rango de 0% a 100%.

([Optical v] brillo en %)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]
esperar hasta <[30] [math_greater_than v] ([Optical v] brillo en %)>
girar [LiftMotor v] a la posición [0] [grados v] ▶

Tono óptico#

El bloque Tono óptico devuelve el valor de tono del color detectado por el sensor óptico.

Los valores de tono varían de 0 a 359 grados, correspondientes a las posiciones en la rueda de color que se muestran a continuación.

Una rueda de color circular que muestra un espectro completo de tonos etiquetados con valores de grados alrededor del perímetro, que aumentan en incrementos de 30 grados desde 0° en la parte superior hasta 360°.

([Optical v] tono en grados)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]
esperar hasta <([Optical v] tono en grados) [math_greater_than v] [0]>
girar [LiftMotor v] a la posición [0] [grados v] ▶

Cuando óptico#

El bloque cuando es óptico ejecuta su pila cuando el sensor óptico detecta o pierde un objeto. Puedes tener varios bloques cuando es óptico para ejecutar varias pilas de bloques a la vez.

cuando [Optical v] [detects v] un objeto

Parámetros

Descripción

acción

¿Qué acción para activar el bloqueo del sombrero?:

  • detecta
  • pierde

Ejemplo

cuando empezó
[Place a pin atop another pin.]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]
cuando [Optical v] [loses v] un objeto
[Lower the lift when the red pin is not in the claw.]
girar [LiftMotor v] a la posición [0] [grados v] ▶

Touch LED#

Establecer el color del TouchLED#

El bloque establecer color de TouchLED establece el color del LED táctil.

establecer el color [TouchLED v] en [none v]

Parámetros

Descripción

color

Establece el color del LED en:

  • ninguno: apaga el LED táctil
  • rojo
  • verde
  • azul
  • blanco
  • amarillo
  • naranja
  • morado
  • rojo violeta
  • violeta
  • azul violeta
  • azul verde
  • amarillo verde
  • amarillo naranja
  • rojo naranja

Ejemplo

cuando empezó
[Place a pin atop another pin.]
establecer el color [TouchLED v] en [rojo v]
girar [LiftMotor v] [arriba v] por [600] [grados v] ▶
unidad [adelante v] para (140) [mm v] ▶
girar [ClawMotor v] [abierto v]
establecer el color [TouchLED v] en [none v]