Visión de IA#
Introducción#
El sensor de visión AI del robot de codificación VEX AI detecta y rastrea objetos, colores e ID de 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 AI tiene una resolución de 320×240 píxeles. El origen (0, 0) se encuentra en la esquina superior izquierda, colocando el centro del sensor en (160, 120), como se muestra en el siguiente diagrama:

A continuación se muestra una lista de todos los bloques:
Acciones: controle la alimentación de AI Vision y capture datos de objetos.
Visor de AI Vision en pantalla: habilita o deshabilita la alimentación de AI Vision en vivo en la pantalla del robot.
get object data: captura datos para una firma específica, como un color configurado, un objeto preentrenado o un ID de AprilTag.
Configuración: ajuste a qué objetos detectados se accede.
set AI Vision object item — 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á sosteniendo un objeto detectado.
Existe el objeto AI Vision — Informa si se detecta un objeto.
AI Vision object is — Comprueba si un objeto detectado coincide con una clasificación específica.
AI Vision object is AprilTag ID — Comprueba si un AprilTag ID detectado coincide con un ID específico.
AI Vision object count — Informa el número de objetos detectados.
AI Vision object property — Informa detalles como:
centerX y centerY — Coordenadas de posición del centro 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 a la parte frontal del robot.
tagID — Número de identificación de un ID de AprilTag.
Acciones#
Visor de visión de IA en pantalla#
El bloque de pila Visor de AI Vision en pantalla habilita o deshabilita la alimentación de AI Vision en vivo en la pantalla del robot. Cuando está habilitada, la pantalla muestra los datos del sensor en tiempo real, evitando que aparezcan otras imágenes o texto. Para mostrar otro contenido, use este bloque para ocultar el feed.
[mostrar v] visor de AI Vision en pantalla
Parámetros |
Descripción |
|---|---|
estado |
Controla la visualización del feed de datos en la pantalla del robot: * * show * * muestra el feed de datos, mientras que hide elimina el feed de datos de la pantalla. |
Ejemplo
cuando inicie
[View the AI Vision Sensor's feed for five seconds.]
[mostrar v] visor de AI Vision en pantalla
esperar [5] segundos
[ocultar v] visor de AI Vision en pantalla
obtener datos de objeto#
El bloque de pila * * obtener datos del objeto * * filtra los datos del marco del sensor de visión AI en una sola 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 los códigos de color deben configurarse primero en AI Vision Utility antes de que puedan usarse con este bloque.
El conjunto de datos almacena objetos ordenados de mayor a menor por ancho, comenzando en el índice 0. Se puede acceder a las propiedades de cada objeto utilizando el bloque AI Vision object property. Se informa de un conjunto de datos vacío si no se detectan objetos coincidentes.
obtener datos [pelota deportiva v] 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 inicie
[Move forward if a sports ball is detected.]
por siempre
obtener datos [pelota deportiva v] de AI Vision
si <¿existe objeto de 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 AI puede reconocer. Estas firmas permiten que el sensor detecte y rastree objetos en función de su color. Una vez que se configura una firma de color en AI Vision Utility, el sensor puede identificar objetos con ese color específico en su campo de visión.
Las firmas de color se utilizan en el bloque get object data para procesar y detectar objetos de color en tiempo real.

Ejemplo
cuando inicie
[Display if any objects matching the Red_Box signature is detected.]
por siempre
mover cursor a fila [1] columna [1] en pantalla
limpiar fila [1] en pantalla
[Change the signature to any configured Color Signature.]
obtener datos [Red_Box v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
imprimir [Color signature detected!] en pantalla ▶
Códigos de color#
Un código de color es un patrón estructurado formado por 2 a 4 firmas de color dispuestas en un orden específico. Una vez que se configura un código de color en AI Vision Utility, el sensor puede reconocer patrones predefinidos de colores.
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 inicie
[Display if any objects matching the BlueRed code is detected.]
por siempre
mover cursor a fila [1] columna [1] en pantalla
limpiar fila [1] en pantalla
[Change the signature to any configured Color Code.]
obtener datos [BlueRed v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
imprimir [Color code detected!] en pantalla ▶
Ajustes#
establecer elemento de objeto AI Vision#
El bloque de pila set AI Vision object item establece qué elemento del conjunto de datos usar.
establecer elemento de objeto de AI Vision a (1)
Parámetros |
Descripción |
|---|---|
artículo |
El número del elemento en el conjunto de datos a utilizar. |
Ejemplo
cuando inicie
[Display the width of the smallest detected object.]
por siempre
obtener datos [toda la carga v] de AI Vision
limpiar fila [1] en pantalla
mover cursor a fila [1] columna [1] en pantalla
si <¿existe objeto de AI Vision?> entonces
establecer elemento de objeto de AI Vision a (cantidad de objetos de AI Vision)
imprimir (objeto de AI Vision [ancho v]) en 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]? :: custom-ai-vision>
Parámetro |
Descripción |
|---|---|
objeto |
El objeto a detectar contra el pateador del robot:
|
Ejemplo
cuando inicie
[Kick when the robot has a sports ball.]
por siempre
si <¿tiene [pelota deportiva v]? :: custom-ai-vision> entonces
patear objeto [mediano v]
Existe el objeto AI Vision#
El bloque booleano AI Vision existe informa si se detecta un objeto en el conjunto de datos.
Verdadero: el conjunto de datos incluye un objeto detectado.
Falso — No se detectaron objetos.
<¿existe objeto de AI Vision?>
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Move forward if a sports ball is detected.]
por siempre
obtener datos [pelota deportiva v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
mover [adelante v] por [10] [mm v] ▶
El objeto AI Vision es#
El objeto AI Vision es un bloque booleano que informa si un objeto detectado coincide con una clasificación específica.
Verdadero: el elemento del conjunto de datos es el objeto específico.
Falso: el elemento del conjunto de datos no es el objeto específico.
<¿objeto de AI Vision es [pelota deportiva v]?>
Parámetro |
Descripción |
|---|---|
objeto |
¿Con qué objeto comparar el artículo?:
|
Ejemplo
cuando inicie
[Display if a sports ball is detected.]
por siempre
obtener datos [toda la carga v] de AI Vision
limpiar fila [1] en pantalla
mover cursor a fila [1] columna [1] en pantalla
si <¿existe objeto de AI Vision?> entonces
si <¿objeto de AI Vision es [pelota deportiva v]?> entonces
imprimir [Sports ball detected!] en pantalla ▶
esperar [0.5] segundos
El objeto AI Vision es AprilTag ID#
El objeto AI Vision es AprilTag ID El bloque booleano 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 AprilTag |
El número a comparar con el número de ID de AprilTag detectado. |
Recuento de objetos de AI Vision#
El bloque indicador AI Vision object count informa del número de objetos detectados en el conjunto de datos como un número entero.
cantidad de objetos de AI Vision
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Display the amount of sports balls and barrels.]
por siempre
limpiar fila [1] en pantalla
mover cursor a fila [1] columna [1] en pantalla
obtener datos [toda la carga v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
imprimir (cantidad de objetos de AI Vision) en 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) almacenado después de usar el bloque * * get object data * *.
objeto de AI Vision [ancho v]
Todos los valores de propiedad, 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 get object data * *. Estos valores se miden en píxeles o grados, en función de la resolución de 320 por 240 píxeles del sensor.

Parámetro |
Descripción |
|---|---|
propiedad |
Which property of the detected object to use: |
ancho#
La propiedad * * width * * informa del ancho del objeto detectado en píxeles como un número entero del 1 al 320.
Nota: Los valores de píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
objeto de AI Vision [ancho v]

Ejemplo
cuando inicie
[Move towards a blue barrel until its width is larger than 100 pixels.]
por siempre
obtener datos [barril azul v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <(objeto de AI Vision [ancho v]) [math_less_than v] [100]> entonces
mover [adelante v]
fin
si no
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 píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
objeto de AI Vision [alto v]

Ejemplo
cuando inicie
[Move towards a blue barrel until its height is larger than 100 pixels.]
por siempre
obtener datos [barril azul v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <(objeto de AI Vision [alto v]) [math_less_than v] [100]> entonces
mover [adelante v]
fin
si no
detener todo movimiento
centerX#
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 píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
objeto de AI Vision [centroX v]

Ejemplo
cuando inicie
[Turn slowly until a blue barrel is centered in front of the robot.]
establecer velocidad de giro a [30]%
girar [derecha v]
por siempre
obtener datos [barril azul v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <[140] [math_less_than v] (objeto de AI Vision [centroX v]) [math_less_than v] [180]> entonces
detener todo movimiento
centerY#
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 píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
objeto de AI Vision [centroY v]

Ejemplo
cuando inicie
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
por siempre
obtener datos [barril azul v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <(objeto de AI Vision [centroY v]) [math_less_than v] [140]> entonces
mover [adelante v]
fin
si no
detener todo movimiento
originX#
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 píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
objeto de AI Vision [origenX v]

Ejemplo
cuando inicie
[Display if an orange barrel is to the left or the right.]
por siempre
limpiar fila [1] en pantalla
mover cursor a fila [1] columna [1] en pantalla
obtener datos [barril naranja v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <(objeto de AI Vision [origenX v]) [math_less_than v] [160]> entonces
imprimir [To the left!] en pantalla ▶
si no
imprimir [To the right!] en pantalla ▶
fin
esperar [0.5] segundos
originY#
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 píxeles son relativos al sistema de coordenadas del sensor. Consulte el diagrama en la Introducción como referencia.
objeto de AI Vision [origenY v]

Ejemplo
cuando inicie
[Display if an orange barrel is close or far from the robot.]
por siempre
limpiar fila [1] en pantalla
mover cursor a fila [1] columna [1] en pantalla
obtener datos [barril naranja v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <(objeto de AI Vision [origenY v]) [math_less_than v] [80]> entonces
imprimir [Far!] en pantalla ▶
si no
imprimir [Close!] en 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 AI Vision [rotación v]

Ejemplo
cuando inicie
[Slide left or right depending on how the Color Code is rotated.]
por siempre
obtener datos [Red_Blue v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <[50] [math_less_than v] (objeto de AI Vision [rotación v]) [math_less_than v] [100]> entonces
mover [derecha v]
si no, si <[270] [math_less_than v] (objeto de AI Vision [rotación v]) [math_less_than v] [330]> entonces
mover [izquierda v]
si no
detener todo movimiento
fin
si no
detener todo movimiento
rodamiento#
La propiedad rodamiento informa qué tan lejos está un objeto a la izquierda o derecha del centro de la vista del sensor de visión AI como un grado. Un valor de 0 significa que está centrado, los valores positivos significan que el objeto está a la derecha y los valores negativos significan que el objeto está a la izquierda.
cuando inicie
[Keep the blue barrel directly in front of the robot.]
establecer velocidad de giro a [40]%
por siempre
obtener datos [barril azul v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
si <(objeto de AI Vision [rumbo v]) [math_greater_than v] [5]> entonces
girar [derecha v]
si no, si <(objeto de AI Vision [rumbo v]) [math_less_than v] [-5]> entonces
girar [izquierda v]
si no
detener todo movimiento
tagID#
La propiedad *tagID * informa el número de identificación del ID de AprilTag detectado como un número entero.
objeto de AI Vision [tagID v]
Ejemplo
cuando inicie
[Move forward when AprilTag ID 0 is detected.]
por siempre
obtener datos [AprilTag ID 0 v] de AI Vision
si <¿existe objeto de AI Vision?> entonces
mover [adelante v]
fin
detener todo movimiento