Visión de IA#
Introducción#
El sensor de visión con IA del robot de codificación VEX AIM detecta y rastrea objetos, colores e identificadores AprilTag. Esto permite al robot analizar su entorno, seguir objetos y reaccionar en función de los datos visuales detectados.
El sensor de visión con IA tiene una resolución de 320 × 240 píxeles. El origen (0, 0) se encuentra en la esquina superior izquierda, lo que sitúa el centro del sensor en (160, 120), como se muestra en el diagrama a continuación:

A continuación se muestra una lista de todos los bloques:
Acciones: Controla la señal de visión artificial y captura los datos de los objetos.
Visor de AI Vision en pantalla — Habilita o deshabilita la transmisión en vivo de AI Vision en la pantalla del robot.
obtener datos del objeto — Captura datos para una firma específica, como un color configurado, un objeto preentrenado o un ID de AprilTag.
Ajustes: Permiten configurar a qué objetos detectados se accede.
establecer elemento de objeto de visión de IA — Selecciona un objeto específico de la lista de objetos detectados.
Valores: Devuelve la presencia, clasificación y propiedades del objeto.
tiene objeto — Comprueba si el robot está sujetando un objeto detectado.
El objeto de visión de IA existe — Informa si se detecta un objeto.
El objeto de visión de IA es — Comprueba si un objeto detectado coincide con una clasificación específica.
El objeto AI Vision es AprilTag ID — Comprueba si un AprilTag ID detectado coincide con un ID específico.
Recuento de objetos de visión por IA — Informa el número de objetos detectados.
Propiedad del objeto AI Vision — Informa detalles como:
centerX y centerY — Coordenadas de posición central en la vista del sensor.
originX y originY — Coordenadas de posición de la esquina superior izquierda en la vista del sensor.
rotación — Orientación del objeto.
rodamiento — Ángulo horizontal relativo al frente del robot.
tagID — Número de identificación de un ID de AprilTag.
Comportamiento#
Visor de visión artificial en pantalla#
El bloque Visor de visión artificial en pantalla habilita o deshabilita la transmisión en vivo de la visión artificial en la pantalla del robot. Cuando está habilitado, la pantalla muestra datos de sensores en tiempo real, impidiendo que aparezcan otras imágenes o texto. Para mostrar otro contenido, utilice este bloque para ocultar la transmisión.
Visor AI Vision [espectáculo v] en pantalla
Parámetros |
Descripción |
|---|---|
estado |
Controla la visualización del flujo de datos en la pantalla del robot: show muestra el flujo de datos, mientras que hide lo oculta de la pantalla. |
Ejemplo
cuando empezó
[View the AI Vision Sensor's feed for five seconds.]
Visor AI Vision [espectáculo v] en pantalla
esperar [5] segundos
Visor AI Vision [esconder v] en pantalla
obtener datos del objeto#
El bloque de pila obtener datos de objeto filtra los datos del fotograma del sensor de visión de IA a una única firma: una descripción guardada de algo que el sensor puede reconocer, como un objeto preentrenado, un ID de AprilTag o un color o código de color configurado.
Los colores y códigos de color deben configurarse primero en AI Vision Utility antes de poder usarse con este bloque.
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 informa de un conjunto de datos vacío si no se detectan objetos coincidentes.
obtener [pelota deportiva v] datos de AI Vision
Parámetro |
Descripción |
|---|---|
firma |
Filtra el conjunto de datos para incluir solo los datos de la firma dada. Las firmas disponibles son:
|
Ejemplo
cuando empezó
[Move forward if a sports ball is detected.]
para siempre
obtener [pelota deportiva v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
mover [adelante v] por [10] [mm v] ▶
Firmas de color#
Una firma de color es un color único que el sensor de visión artificial puede reconocer. Estas firmas permiten al sensor detectar y rastrear objetos según su color. Una vez configurada una firma de color en la utilidad de visión artificial, el sensor puede identificar objetos con ese color específico dentro de su campo de visión.
Las firmas de color se utilizan en el bloque obtener datos del objeto para procesar y detectar objetos coloreados en tiempo real.

Ejemplo
cuando empezó
[Display if any objects matching the Red_Box signature is detected.]
para siempre
Coloque el cursor en la fila [1] columna [1] en la pantalla
Limpiar la fila [1] de la pantalla
[Change the signature to any configured Color Signature.]
obtener [Red_Box v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
imprimir [Color signature detected!] en la pantalla ▶
Códigos de color#
Un código de color es un patrón estructurado compuesto por entre 2 y 4 firmas de color dispuestas en un orden específico. Una vez configurado un código de color en la utilidad de visión artificial, el sensor puede reconocer patrones de colores predefinidos.
Los códigos de color son particularmente útiles para identificar objetos complejos, alinearse con elementos del juego o crear marcadores únicos para la navegación autónoma.

Ejemplo
cuando empezó
[Display if any objects matching the BlueRed code is detected.]
para siempre
Coloque el cursor en la fila [1] columna [1] en la pantalla
Limpiar la fila [1] de la pantalla
[Change the signature to any configured Color Code.]
obtener [BlueRed v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
imprimir [Color code detected!] en la pantalla ▶
Ajustes#
Establecer elemento de objeto de AI Vision#
El bloque de pila establecer elemento de objeto de visión artificial establece qué elemento del conjunto de datos se debe utilizar.
Establezca el elemento del objeto AI Vision en (1)
Parámetros |
Descripción |
|---|---|
artículo |
El número del elemento en el conjunto de datos que se utilizará. |
Ejemplo
cuando empezó
[Display the width of the smallest detected object.]
para siempre
obtener [toda la carga v] datos de AI Vision
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿Existe el objeto AI Vision?> entonces
Establezca el elemento del objeto AI Vision en (Recuento de objetos de AI Vision)
imprimir (Objeto de visión de IA [amplitud v]) en la pantalla ▶
Valores#
tiene objeto#
El bloque booleano has object informa si el robot tiene actualmente un objeto detectado contra su Kicker.
Verdadero — El robot tiene el objeto.
Falso — El robot no tiene el objeto.
<tiene [pelota deportiva v]?>
Parámetro |
Descripción |
|---|---|
objeto |
El objeto a detectar contra el pateador del robot:
|
Ejemplo
cuando empezó
[Kick when the robot has a sports ball.]
para siempre
si <tiene [pelota deportiva v]?> entonces
patear objeto [medio v]
Existe un objeto de visión artificial#
El bloque booleano AI Vision object exists informa si se ha detectado un objeto en el conjunto de datos.
Verdadero — El conjunto de datos incluye un objeto detectado.
Falso — No se detectaron objetos.
<¿Existe el objeto AI Vision?>
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Move forward if a sports ball is detected.]
para siempre
obtener [pelota deportiva v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
mover [adelante v] por [10] [mm v] ▶
El objeto de visión de IA es#
El bloque booleano AI Vision object is informa 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.
<¿El objeto AI Vision es [pelota deportiva v]?>
Parámetro |
Descripción |
|---|---|
objeto |
¿Con qué objeto comparar el artículo?:
|
Ejemplo
cuando empezó
[Display if a sports ball is detected.]
para siempre
obtener [toda la carga v] datos de AI Vision
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿Existe el objeto AI Vision?> entonces
si <¿El objeto AI Vision es [pelota deportiva v]?> entonces
imprimir [Sports ball detected!] en la pantalla ▶
esperar [0.5] segundos
El objeto de AI Vision es AprilTag ID#
El bloque booleano AI Vision object is AprilTag ID informa si un AprilTag ID detectado coincide con un ID específico.
Verdadero — El ID de AprilTag es el número.
Falso — El ID de AprilTag no es el número.
<AI Vision object is AprilTag ID [1] ?>
Parámetros |
Descripción |
|---|---|
ID de etiqueta de abril |
El número que se comparará con el número de identificación AprilTag detectado. |
Recuento de objetos de AI Vision#
El bloque de informe AI Vision object count informa la cantidad de objetos detectados en el conjunto de datos como un número entero.
Recuento de objetos de AI Vision
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Display the amount of sports balls and barrels.]
para siempre
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
obtener [toda la carga v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
imprimir (Recuento de objetos de AI Vision) en la pantalla ▶
fin
esperar [0.5] segundos
Propiedad del objeto AI Vision#
Hay nueve 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.
Objeto de visión de IA [amplitud v]
Todos los valores de las propiedades, excepto tagID, describen la posición, el tamaño, la orientación o el rumbo del objeto detectado en el momento en que se utilizó el bloque obtener datos del objeto. Estos valores se miden en píxeles o grados, según la resolución de 320 x 240 píxeles del sensor.

Parámetro |
Descripción |
|---|---|
propiedad |
¿Qué propiedad del objeto detectado utilizar?: |
ancho#
La propiedad width informa el ancho del objeto detectado en píxeles como un número entero del 1 al 320.
Nota: Los valores de los píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
Objeto de visión de IA [amplitud v]

Ejemplo
cuando empezó
[Move towards a blue barrel until its width is larger than 100 pixels.]
para siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto de visión de IA [amplitud v]) [math_less_than v] [100]> entonces
movimiento [adelante v]
fin
demás
detener todo movimiento
altura#
La propiedad altura informa la altura del objeto detectado en píxeles como un número entero del 1 al 240.
Nota: Los valores de los píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
Objeto de visión de IA [altura v]

Ejemplo
cuando empezó
[Move towards a blue barrel until its height is larger than 100 pixels.]
para siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto de visión de IA [altura v]) [math_less_than v] [100]> entonces
movimiento [adelante v]
fin
demás
detener todo movimiento
centroX#
La propiedad centerX informa la coordenada x del centro del objeto detectado en píxeles como un número entero de 0 a 320.
Nota: Los valores de los píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
Objeto de visión de IA [centroX v]

Ejemplo
cuando empezó
[Turn slowly until a blue barrel is centered in front of the robot.]
establecer la velocidad de giro al [30]%
turno [derecha v]
para siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <[140] [math_less_than v] (Objeto de visión de IA [centroX v]) [math_less_than v] [180]> entonces
detener todo movimiento
centroY#
La propiedad centerY informa la coordenada y del centro del objeto detectado en píxeles como un número entero de 0 a 240.
Nota: Los valores de los píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
Objeto de visión de IA [centroY v]

Ejemplo
cuando empezó
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
para siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto de visión de IA [centroY v]) [math_less_than v] [140]> entonces
movimiento [adelante v]
fin
demás
detener todo movimiento
origenX#
La propiedad originX informa 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.
Nota: Los valores de los píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
Objeto de visión de IA [origenX v]

Ejemplo
cuando empezó
[Display if an orange barrel is to the left or the right.]
para siempre
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
obtener [barril de naranja v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto de visión de IA [origenX v]) [math_less_than v] [160]> entonces
imprimir [To the left!] en la pantalla ▶
demás
imprimir [To the right!] en la pantalla ▶
fin
esperar [0.5] segundos
origenY#
La propiedad originY informa 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.
Nota: Los valores de los píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
Objeto de visión de IA [origenY v]

Ejemplo
cuando empezó
[Display if an orange barrel is close or far from the robot.]
para siempre
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
obtener [barril de naranja v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto de visión de IA [origenY v]) [math_less_than v] [80]> entonces
imprimir [Far!] en la pantalla ▶
demás
imprimir [Close!] en la pantalla ▶
fin
esperar [0.5] segundos
rotación#
La propiedad rotación informa la orientación del ID o código de color AprilTag detectado como un número entero en grados de 0 a 359.
Objeto de visión de IA [rotación v]

Ejemplo
cuando empezó
[Slide left or right depending on how the Color Code is rotated.]
para siempre
obtener [Red_Blue v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <[50] [math_less_than v] (Objeto de visión de IA [rotación v]) [math_less_than v] [100]> entonces
movimiento [derecha v]
de lo contrario si <[270] [math_less_than v] (Objeto de visión de IA [rotación v]) [math_less_than v] [330]> entonces
movimiento [izquierda v]
demás
detener todo movimiento
fin
demás
detener todo movimiento
cojinete#
La propiedad rumbo indica en grados la distancia a la izquierda o a la derecha de un objeto con respecto al centro del campo de visión del sensor de visión artificial. Un valor de 0 significa que está centrado, los valores positivos indican que el objeto está a la derecha y los valores negativos que está a la izquierda.
cuando empezó
[Keep the blue barrel directly in front of the robot.]
establecer la velocidad de giro al [40]%
para siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto de visión de IA [rodamiento v]) [math_greater_than v] [5]> entonces
turno [derecha v]
de lo contrario si <(Objeto de visión de IA [rodamiento v]) [math_less_than v] [-5]> entonces
turno [izquierda v]
demás
detener todo movimiento
ID de etiqueta#
La propiedad tagID informa el número de identificación del ID de AprilTag detectado como un número entero.
Objeto de visión de IA [ID de etiqueta v]
Ejemplo
cuando empezó
[Move forward when AprilTag ID 0 is detected.]
para siempre
obtener [AprilTag ID 0 v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
movimiento [adelante v]
fin
detener todo movimiento