Bloques específicos para robots#

Introducción#

El parque infantil V5RC 24-25 High Stakes incluye bloques exclusivos diseñados para este modelo, entre los que se incluyen dos opciones de motor, sensor de visión con IA, sensor óptico, sensor de rotación y sensor de sistema de posicionamiento de juego (GPS).

Todos los bloques VEXcode VR estándar están disponibles para su uso en el parque infantil V5RC 25-26 Push Back.

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

Movimiento: Mueve y rastrea los motores del robot.

Visión por IA: Captura y analiza objetos utilizando el sensor de visión por IA.

Detección: Utilice los diversos sensores del robot.

Los ejemplos de esta página utilizan la posición de inicio predeterminada del Playground.

Movimiento#

Comportamiento#

motor de giro#

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

girar [ArmMotor v] [arriba v]

Parámetros

Descripción

motor

Grupo de motores para girar:

  • Motor del brazo
  • Motor del empujador

dirección

Dirección de giro:

  • Motor del brazo
    • arriba
    • abajo
  • Motor del empujador
    • abajo
    • arriba

Ejemplo

cuando empezó
[Lift the Arm before moving to a Mobile Goal.]
girar [ArmMotor v] [arriba v]
esperar (1) segundos
parada [ArmMotor v]

motor de giro para#

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

spin [ArmMotor v] [up v] for (90) [degrees v] ▶

Parámetros

Descripción

motor

Grupo de motores para girar:

  • Motor del brazo
  • Motor del empujador

dirección

Dirección de giro:

  • Motor del brazo
    • arriba
    • abajo
  • Motor del empujador
    • abajo
    • arriba

distancia

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

unidad

Unidad de medida:

  • grados
  • vueltas

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 y ejecute inmediatamente el siguiente bloque, expanda el bloque para que diga y no espere.

Ejemplo

cuando empezó
[Lift the Arm.]
spin [ArmMotor v] [up v] for [200] [degrees v] ▶

motor de giro para posicionar#

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

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

Parámetros

Descripción

motor

Grupo de motores para girar:

  • Motor del brazo
  • Motor del empujador

posición

La posición objetivo hacia la que girar.

unidad

Unidad de medida:

  • grados
  • vueltas

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 y ejecute inmediatamente el siguiente bloque, expanda el bloque para que diga y no espere.

Ejemplo

cuando empezó
[Lift the Arm.]
spin [ArmMotor v] to position [350] [degrees v] ▶

motor de parada#

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

parada [ArmMotor v]

Parámetros

Descripción

motor

Grupo de motores a detener:

  • Motor del brazo
  • Motor del empujador

Ejemplo

cuando empezó
girar [ArmMotor v] [arriba v]
esperar (1) segundos
parada [ArmMotor v]

Ajustes#

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 Motor subsiguientes en el proyecto.

set [ArmMotor v] velocity to [50] [% v]

Parámetros

Descripción

motor

Grupo de motores a configurar:

  • Motor del brazo
  • Motor del empujador

velocidad

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

unidad

La unidad que representa la velocidad:

  • %

Ejemplo

cuando empezó
set [ArmMotor v] velocity to [100] [% v]
spin [ArmMotor v] [up v] for [200] [degrees v] ▶

establecer tiempo de espera del motor#

El bloque set motor timeout establece un límite de tiempo para que un bloque Motor espere hasta 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 [ArmMotor v] en [1] segundo

Parámetros

Descripción

motor

Grupo de motores a configurar:

  • Motor del brazo
  • Motor del empujador

tiempo

El número máximo de segundos que un bloque de motor funcionará antes de detenerse y pasar al siguiente bloque.

Ejemplo

cuando empezó
Establezca el tiempo de espera [ArmMotor v] en [1] segundo
spin [ArmMotor v] [up v] for [5] [turns v] ▶

Posición#

posición del motor#

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

([ArmMotor v] position in [degrees v])

Parámetros

Descripción

motor

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

  • Motor del brazo
  • Motor del empujador

unidad

Unidad de medida:

  • grados
  • vueltas

establecer la posición del motor#

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

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

Parámetros

Descripción

motor

Grupo de motores para establecer la posición de:

  • Motor del brazo
  • Motor del empujador

posición

El valor de posición del codificador que se va a configurar.

unidad

Unidad de medida:

  • grados
  • vueltas

Valores#

El motor está terminado#

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

  • Cierto: el motor no está girando.

  • Falso: el motor está girando.

<[ArmMotor v] ¿está hecho?>

Parámetros

Descripción

motor

Grupo de motores a comprobar si no gira:

  • Motor del brazo
  • Motor del empujador

¿El motor está girando?#

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

  • Cierto: el motor está girando.

  • Falso: el motor no está girando.

<[ArmMotor v] esta girando?>

Parámetros

Descripción

motor

Grupo de motores para comprobar si está girando:

  • Motor del brazo
  • Motor del empujador

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%.

([ArmMotor v] velocity in [% v] :: custom-motion)

Parámetros

Descripción

motor

El grupo de motores para devolver la velocidad de:

  • Motor del brazo
  • Motor del empujador

unidad

La unidad que representa la velocidad:

  • %

Visión por IA#

Comportamiento#

obtener datos del objeto#

El bloque obtener datos de objeto filtra los datos del marco del sensor de visión de IA. El sensor de visión de IA puede detectar elementos del juego en el campo.

El conjunto de datos almacena objetos ordenados de mayor a menor ancho, comenzando en el índice 0. Se puede acceder a las propiedades de cada objeto mediante el bloque Propiedad del objeto AI Vision. Se devuelve un conjunto de datos vacío si no se detectan objetos coincidentes.

El bloque de pila Obtener datos del objeto.#
get [AI Classifications v] data from [AIVision v]

Parámetro

Descripción

firma

Filtra el conjunto de datos para incluir solo datos de la firma dada. La única firma disponible es:

  • Clasificaciones de IA: detecta goles móviles, anillos rojos y anillos azules

Ejemplo

cuando empezó
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
spin [ArmMotor v] [up v] for [270] [degrees v] ▶
get [AI Classifications v] data from [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
if <[AIVision v] object exists?> then
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
print [Largest object's width:] ▶
print ([AIVision v] object [width v]) ◀ and set cursor to next row
fin

Ajustes#

elemento de objeto de conjunto#

El bloque establecer elemento de objeto establece qué elemento del conjunto de datos se debe utilizar.

El bloque de pila de elementos del objeto Set AI Vision.#
set [AIVision v] object item to [1]

Parámetros

Descripción

artículo

El número del elemento del conjunto de datos que se va a utilizar.

Ejemplo

cuando empezó
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
spin [ArmMotor v] [up v] for [270] [degrees v] ▶
get [AI Classifications v] data from [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
if <[AIVision v] object exists?> then
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
if <[AIVision v] AI Classification is [MobileGoal v]?> then
print [Mobile Goal is detected.] ▶
demás
print [Mobile Goal is not detected.] ▶
fin
fin

Valores#

¿Existe el objeto?#

El bloque ¿Existe algún objeto? devuelve un valor booleano que indica si se ha detectado algún objeto en el conjunto de datos.

  • Verdadero: el conjunto de datos incluye un objeto detectado.

  • Falso: el conjunto de datos no incluye ningún objeto detectado.

El objeto AI Vision existe como bloque booleano.#
<[AIVision v] object exists?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
spin [ArmMotor v] [up v] for [270] [degrees v] ▶
get [AI Classifications v] data from [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
if <[AIVision v] object exists?> then
print ([AIVision v] object count) ◀ and set cursor to next row
fin

La clasificación de IA es#

El bloque ¿El objeto de AI Vision es? devuelve un valor booleano que indica si un objeto detectado coincide con una clasificación específica.

  • Verdadero: el elemento en el conjunto de datos es el objeto específico.

  • Falso: el elemento en el conjunto de datos no es el objeto específico.

La clasificación de IA de visión artificial es un bloque booleano de objetos.#
<[AIVision v] object is [MobileGoal v]?>

Parámetro

Descripción

objeto

¿Con qué objeto comparar el elemento?:

  • MobileGoal
  • RedRing
  • BlueRing

Ejemplo

cuando empezó
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
spin [ArmMotor v] [up v] for [270] [degrees v] ▶
get [AI Classifications v] data from [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
if <[AIVision v] object exists?> then
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
if <[AIVision v] AI Classification is [MobileGoal v]?> then
print [Mobile Goal is detected.] ▶
demás
print [Mobile Goal is not detected.] ▶
fin
fin

recuento de objetos#

El bloque conteo de objetos devuelve el número de objetos detectados en el conjunto de datos como un número entero.

El bloque de pila de elementos del objeto Set AI Vision.#
([AIVision] object count)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
spin [ArmMotor v] [up v] for [270] [degrees v] ▶
get [AI Classifications v] data from [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
if <[AIVision v] object exists?> then
print ([AIVision v] object count) ◀ and set cursor to next row
fin

propiedad del objeto#

Hay seis propiedades que se incluyen con cada objeto (que se muestra a continuación) almacenadas después de que se utiliza el bloque obtener datos del objeto.

El bloque de informe de propiedades del objeto AI Vision.#
([AIVision v] object [width v])

Algunos valores de propiedad se basan en la posición del objeto detectado en la vista del sensor de visión artificial en el momento en que se utilizó el bloque obtener datos del objeto. El sensor de visión artificial tiene una resolución de 320 x 240 píxeles.

Parámetro

Descripción

propiedad

¿Qué propiedad del objeto detectado utilizar?:

ancho#

El parámetro width devuelve el ancho del objeto detectado en píxeles como un número entero entre 1 y 320.

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en ancho.#
([AIVision v] object [width v])

Ejemplo

cuando empezó
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
spin [ArmMotor v] [up v] for [270] [degrees v] ▶
get [AI Classifications v] data from [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
if <[AIVision v] object exists?> then
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
print [Largest object's width:] ▶
print ([AIVision v] object [width v]) ◀ and set cursor to next row
fin
altura#

La función height devuelve la altura del objeto detectado en píxeles como un número entero entre 1 y 240.

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en altura.#
([AIVision v] object [height v])
centroX#

centerX devuelve la coordenada x del centro del objeto detectado en píxeles como un número entero entre 0 y 320.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en centerX.#
([AIVision v] object [centerX v])
centroY#

centerY devuelve la coordenada y del centro del objeto detectado en píxeles como un número entero entre 0 y 240.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en centerY.#
([AIVision v] object [centerY v])
origenX#

originX devuelve la coordenada x de la esquina superior izquierda del cuadro delimitador del objeto detectado en píxeles como un número entero de 0 a 320.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en originX.#
([AIVision v] object [originX v])
origenY#

originY devuelve la coordenada y de la esquina superior izquierda del cuadro delimitador del objeto detectado en píxeles como un número entero de 0 a 240.

El bloque de la pila de propiedades del objeto AI Vision con su parámetro establecido en originY.#
([AIVision v] object [originY v])

Detección#

Óptico#

¿El sistema óptico detectó algún objeto?#

El bloque ¿El sensor óptico ha detectado un objeto? devuelve un valor booleano que indica si el sensor está detectando un objeto.

  • Cierto: el sensor óptico está detectando un objeto.

  • Falso: el sensor óptico no detecta ningún objeto.

<[FrontOptical v] found an object?>

Parámetros

Descripción

Este bloque no tiene parámetros.

¿Detecta el color mediante tecnología óptica?#

El bloque ¿Detección óptica de color? devuelve un valor booleano que indica si el sensor está detectando un color específico.

  • Verdadero: el sensor óptico está detectando el color especificado.

  • Falso: el sensor óptico no detecta el color especificado.

Nota: El sensor óptico busca rangos de tonalidad que coincidan con el color especificado. Para detectar rangos de tonalidad específicos, consulte el bloque Tonalidad óptica.

<[FrontOptical v] detects [red v]?>

Parámetros

Descripción

color

¿Qué color buscar?:

  • rojo – Un valor de tono detectado entre 340° y 20°.
  • verde – Un valor de tono detectado entre 80° y 140°.
  • azul – Un valor de tono detectado entre 200° y 240°.
  • amarillo – Un valor de tono detectado entre 40° y 60°.
  • naranja – Un valor de tono detectado entre 20° y 40°.
  • púrpura – Un valor de tono detectado entre 240° y 280°.
  • cian – Un valor de tono detectado entre 140° y 200°.

Brillo óptico#

El bloque Brillo óptico devuelve la cantidad de luz reflejada por el objeto como un porcentaje.

([FrontOptical v] brightness in %)

Parámetros

Descripción

Este bloque no tiene parámetros.

Tonalidad óptica#

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

Este valor oscila entre 0 y 359 grados, lo que se correlaciona con la rueda de colores:

La rueda de colores VEX que muestra los grados de los colores alrededor de un círculo, con el rojo en 0 grados y haciendo la transición a través del arco iris a medida que aumenta el valor.

([FrontOptical v] hue in degrees)

Parámetros

Descripción

Este bloque no tiene parámetros.

cuando óptico#

El bloque when Optical ejecuta la pila adjunta cada vez que el sensor óptico detecta o pierde un objeto.

when [FrontOptical v] [detects v] an object :: hat events

Parámetros

Descripción

estado

Cuando se ejecute la pila de bloques adjunta:

  • detecta: un objeto no detectado ahora es detectado
  • pierde: un objeto detectado ya no es detectado

Rotación#

Establecer la posición del sensor de rotación#

El bloque establecer posición del sensor de rotación establece la posición actual del sensor de rotación a un valor en grados.

set [PusherRotation v] position to [0] degrees

Parámetros

Descripción

posición

La posición en la que se debe colocar el sensor de rotación.

Ejemplos

cuando empezó
[Make lower Pusher position the new 0 degrees rotation position.]
spin [PusherMotor v] [lower v] for [270] [degrees v] ▶
set [PusherRotation v] position to [0] degrees

Ángulo del sensor de rotación#

El bloque Ángulo del sensor de rotación devuelve el ángulo actual del sensor, que oscila entre 0 y 359,99 grados.

([PusherRotation v] angle in degrees)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplos

cuando empezó
[Make lower Pusher position the new 0 degrees rotation position.]
spin [PusherMotor v] [lower v] for [270] [degrees v] ▶
print ([PusherRotation v] angle in degrees) ▶

Posición del sensor de rotación#

El bloque Posición del sensor de rotación devuelve la posición de rotación total en grados o vueltas.

([PusherRotation v] position in [degrees v] :: custom-sensing)

Parámetros

Descripción

unidades

Unidad de medida:

  • grados
  • vueltas

Ejemplos

cuando empezó
[Make lower Pusher position the new 0 degrees rotation position.]
spin [PusherMotor v] [lower v] for [270] [degrees v] ▶
print ([PusherRotation v] position in [degrees v] :: custom-sensing) ▶

GPS#

posición GPS#

El bloque Posición GPS devuelve el desplazamiento posicional del punto de referencia de giro del robot desde el centro de un campo con el sensor GPS (Game Positioning System™).

([GPS v] position [X v] in [mm v])

Parámetros

Descripción

eje

¿Qué eje reportar?:

  • X
  • Y

unidades

Unidad para representar la posición:

  • mm
  • pulgadas

rumbo GPS#

El bloque rumbo GPS devuelve el rumbo hacia el que apunta actualmente el robot en función de las lecturas del sensor GPS (Game Positioning System™) del código de campo GPS VEX, desde 0,00 hasta 359,99 grados.

([GPS v] heading in degrees)

Parámetros

Descripción

Este bloque no tiene parámetros.