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.
Comportamiento
girar motor – Hace girar el motor o grupo de motores seleccionado indefinidamente.
girar motor durante – Hace girar un motor o grupo durante una distancia específica en grados o vueltas.
girar motor a posición – Gira un motor o grupo de motores a una posición establecida.
detener motor – Detiene el giro de un motor o grupo de motores específico.
Ajustes
establecer velocidad del motor – Establece la velocidad de un motor o grupo de motores como un porcentaje.
establecer tiempo de espera del motor – Limita cuánto tiempo espera un bloque de motor antes de rendirse si el movimiento está bloqueado.
Posición
posición del motor – Devuelve la posición de rotación actual del motor en grados o vueltas.
establecer posición del motor – Establece el valor del codificador de un motor o grupo de motores.
Valores
¿El motor se ha detenido? – Devuelve un valor booleano que indica si el motor ya no está girando.
¿El motor está girando? – Devuelve un valor booleano que indica si el motor está girando actualmente.
velocidad del motor – Devuelve la velocidad actual del motor en %.
Visión por IA: Captura y analiza objetos utilizando el sensor de visión por IA.
Comportamiento
obtener datos del objeto – Captura datos para un tipo de objeto específico, como colores, objetos preentrenados o AprilTags.
Ajustes
establecer elemento de objeto – Selecciona un objeto específico de la lista.
Valores
¿Existe el objeto? – Devuelve si se detectó alguna clasificación.
Clasificación de IA es – Devuelve si se detecta una clasificación.
contador de objetos – Devuelve cuántos objetos se detectaron.
propiedad del objeto – Devuelve detalles como:
Detección: Utilice los diversos sensores del robot.
Óptico
¿El sensor óptico encontró un objeto? – Devuelve si se detectó un objeto.
¿Detección óptica de color? – Devuelve si se detecta un color específico.
Brillo óptico – Devuelve el brillo en %.
Tono óptico – Devuelve el tono del color detectado.
cuando óptico – Ejecuta los bloques adjuntos cuando el sensor óptico detecta o pierde un objeto.
Rotación
establecer posición del sensor de rotación – Establece la posición actual del sensor de rotación a un valor específico.
Ángulo del sensor de rotación – Devuelve el ángulo actual del sensor entre 0 y 359,99 grados.
Posición del sensor de rotación – Devuelve la posición de rotación total en grados o vueltas.
GPS
Posición GPS – Devuelve la posición X o Y del sensor GPS.
Rumbo GPS – Devuelve el rumbo hacia el que apunta actualmente el 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:
|
dirección |
Dirección de giro:
|
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:
|
dirección |
Dirección de giro:
|
distancia |
La cantidad de rotación, como un número entero o decimal. |
unidad |
Unidad de medida:
|
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:
|
posición |
La posición objetivo hacia la que girar. |
unidad |
Unidad de medida:
|
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:
|
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:
|
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:
|
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:
|
unidad |
Unidad de medida:
|
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:
|
posición |
El valor de posición del codificador que se va a configurar. |
unidad |
Unidad de medida:
|
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:
|
¿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:
|
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:
|
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.
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:
|
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.
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.
<[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.
<[AIVision v] object is [MobileGoal v]?>
Parámetro |
Descripción |
|---|---|
objeto |
¿Con qué objeto comparar el elemento?:
|
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.
([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.
([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.
([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.
([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.
([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.
([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.
([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.
([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?:
|
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:

([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:
|
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:
|
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?:
|
unidades |
Unidad para representar la posición:
|
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. |