Visión de IA#

Introducción#

The VEX AIM Coding Robot’s AI Vision Sensor detects and tracks objects, colors, and AprilTag IDs. This allows the robot to analyze its surroundings, follow objects, and react based on detected visual data.

Below is a list of all blocks:

Actions — Control the AI Vision feed and capture object data.

  • AI Vision viewer — Enables or disables the live AI Vision feed on the robot’s screen.

  • get object data — Captures data for a specific object type, such as colors, pre-trained objects, or AprilTag IDs.

Settings — Adjust which detected objects are accessed.

Values — Return object presence, classification, and properties.

Comportamiento#

Visor de AI Vision#

El bloque Visor de Visión de IA activa o desactiva la transmisión en vivo de Visión de IA en la pantalla del robot. Al activarse, la pantalla muestra datos del sensor en tiempo real, lo que impide que aparezcan otras imágenes o texto. Para mostrar otro contenido, utilice este bloque para ocultar la transmisión.

El bloque de pila del panel de control de AI Vision para mostrar u ocultar.#
Visor AI Vision [espectáculo v] en pantalla

Parámetros

Descripción

estado

Controls the display of the data feed on the robot’s screen:

  • show — Displays the data feed.
  • hide — Removes the data feed from the screen.

Ejemplo

Una pila de bloques que comienza con un bloque “Cuándo se inició”, seguido de un bloque de comentario que indica “Ver la fuente del sensor de visión de IA durante cinco segundos”. Un bloque “Mostrar panel de AI Vision” muestra la fuente; luego, un bloque “Esperar” pausa la ejecución durante cinco segundos. Tras la espera, un bloque “Ocultar panel de AI Vision” elimina la fuente de la vista.#
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#

The get object data block filters data from the AI Vision Sensor frame. The AI Vision Sensor can detect signatures that include pre-trained objects, AprilTag IDs, or configured colors and color codes.

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 por ancho, comenzando en el índice 0. Se puede acceder a las propiedades de cada objeto mediante el bloque AI Vision object property. Si no se detectan objetos coincidentes, se devuelve un conjunto de datos vacío.

El bloque de pila Obtener datos del objeto.#
obtener [pelota deportiva v] datos de AI Vision

Parámetro

Descripción

firma

Filters the dataset to only include data of the given signature. Available signatures are:

  • sports ball
  • orange barrel
  • blue barrel
  • AIM robot
  • AprilTag ID 0
  • AprilTag ID 1
  • AprilTag ID 2
  • AprilTag ID 3
  • AprilTag ID 4
  • all cargo — Sports balls and all barrels
  • NAME — A color or color code where NAME is the name configured in the AI Vision Utility

Ejemplo

Una pila de bloques que comienza con un bloque “Cuando se inició”, seguido de un bloque de comentario que indica “Avanzar si se detecta un balón deportivo”. Un bloque “Tomar una instantánea de AI Vision” captura la imagen de un balón deportivo. Un bloque “Si” comprueba si existe un objeto de AI Vision. Si es verdadero, un bloque “Avanzar” mueve el robot 10 milímetros hacia adelante.#
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#

A Color Signature is a unique color that the AI Vision Sensor can recognize. These signatures allow the sensor to detect and track objects based on their color. Once a Color Signature is configured in the AI Vision Utility, the sensor can identify objects with that specific color in its field of view.

Color Signatures are used in the get object data block to process and detect colored objects in real-time.

AI Vision Utility muestra un sensor de visión conectado que detecta dos objetos de colores. El lado izquierdo muestra una transmisión de cámara en vivo con un cuadro azul a la izquierda y un cuadro rojo a la derecha, cada uno delineado con cuadros delimitadores blancos. Las etiquetas negras muestran sus respectivos nombres, coordenadas y dimensiones. El lado derecho contiene la configuración de la firma de color, con controles deslizantes para el tono y el rango de saturación para los cuadros rojo y azul. Los botones para añadir colores, congelar vídeo, copiar y guardar la imagen se encuentran en la parte inferior, junto con un botón de cierre en la esquina inferior derecha.

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#

A Color Code is a structured pattern made up of 2 to 4 Color Signatures arranged in a specific order. Once a Color Code is configured in the AI Vision Utility, the sensor can recognize predefined patterns of colors.

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.

La interfaz de AI Vision Utility muestra un sensor de visión conectado que detecta dos objetos adyacentes, un cuadro azul a la izquierda y un cuadro rojo a la derecha, agrupados en un solo cuadro delimitador blanco etiquetado como BlueRed. La información de detección incluye el ángulo (A:11°), las coordenadas (X:143, Y:103), el ancho (W:233) y la altura (H:108). En el panel derecho, se muestran tres firmas de color: Red_Box, Blue_Box y BlueRed, con rangos de tonalidad y saturación ajustables. La firma BlueRed combina Blue_Box y Red_Box. Debajo de la fuente de vídeo hay botones etiquetados como Congelar vídeo, Copiar imagen, Guardar imagen y Cerrar.

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 establecer elemento de objeto de AI Vision establece qué elemento del conjunto de datos utilizar.

El bloque de pila de elementos del objeto Establecer visión de IA.#
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

A stack of blocks that begins with a when started block, followed by a comment block reading Display the largest detected AprilTag ID. Inside a forever loop, a take a AI Vision snapshot block captures an image of AprilTag IDs. An if block checks if an AI Vision object exists. If true, a set AI Vision object item block assigns the object count to a variable, and a print block displays the tag ID of the detected object on the screen.#
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?#

The has object block returns a Boolean indicating whether the robot currently has a detected object against its Kicker.

  • True — The robot has the object.

  • False — The robot does not have the object.

El bloque de pila del panel de control de AI Vision para mostrar u ocultar.#
<tiene [pelota deportiva v]?>

Parámetro

Descripción

objeto

El objeto a detectar contra el pateador del robot:

  • pelota deportiva
  • cualquier barril
  • barril naranja
  • barril azul

Ejemplo

Una pila de bloques que comienza con un bloque “cuando se inició”, seguido de un bloque de comentario que indica “Patear” cuando el robot tiene una pelota. Dentro de un bucle infinito, un bloque “si” comprueba si el robot tiene una pelota deportiva. Si es verdadero, un bloque de objeto “patear” se ejecuta con potencia media.#
cuando empezó
[Kick when the robot has a sports ball.]
para siempre
si <tiene [pelota deportiva v]?> entonces
patear objeto [medio v]

¿Existe el objeto AI Vision?#

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

  • True — The dataset includes a detected object.

  • False — No objects were detected.

El objeto AI Vision existe en el bloque booleano.#
<¿Existe el objeto AI Vision?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Una pila de bloques que comienza con un bloque “Cuando se inició”, seguido de un bloque de comentario que indica “Avanzar si se detecta una pelota”. Un bloque “Tomar una instantánea de AI Vision” captura la imagen de una pelota deportiva. Un bloque “Si” comprueba si existe un objeto de AI Vision. Si es verdadero, un bloque “Avanzar” mueve el robot 10 milímetros hacia adelante.#
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] ▶

¿Qué es el objeto de AI Vision?#

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

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

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

La clasificación de IA de AI Vision es un bloque booleano de objetos.#
<¿El objeto AI Vision es [pelota deportiva v]?>

Parámetro

Descripción

objeto

¿Con qué objeto comparar el artículo?

  • Pelota deportiva
  • Barril naranja
  • Barril azul
  • Robot AIM

Ejemplo

Una pila de bloques que comienza con un bloque “cuando se inició”, seguido de un bloque de comentario que indica “Mostrar si se detecta un balón deportivo”. Dentro de un bucle infinito, un bloque “tomar una instantánea de AI Vision” captura una imagen usando Clasificaciones de IA. La pantalla se borra y el cursor se coloca en la fila 1, columna 1. Un bloque “si” comprueba si existe un objeto de AI Vision y, si es verdadero, otro bloque “si” verifica si la clasificación corresponde a un balón deportivo. De ser así, un bloque de impresión muestra “¡Balón detectado!” en la pantalla, seguido de un bloque de espera que se detiene durante 0,5 segundos antes de repetir el proceso.#
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 AI Vision es AprilTag ID?#

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

  • True — The AprilTag ID is the number.

  • False — The AprilTag ID is not the number.

The AI Vision detected AprilTag ID is Boolean block.#
<¿El objeto AI Vision es AprilTag [1]?>

Parámetros

Descripción

AprilTag ID

El número que se comparará con el número de identificación de AprilTag detectado.

Recuento de objetos de AI Vision#

El bloque Recuento de objetos de AI Vision devuelve la cantidad de objetos detectados en el conjunto de datos como un entero.

El bloque de pila de elementos del objeto Establecer visión de IA.#
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) almacenado después de que se utiliza el bloque obtener datos del objeto.

El bloque informador de propiedades de objetos de AI Vision.#
Objeto de visión de IA [amplitud v]

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

Un barril azul con una franja naranja está centrado en el marco, rodeado por un cuadro delimitador negro.

Parámetro

Descripción

propiedad

¿Qué propiedad del objeto detectado utilizar?

ancho#

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

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en ancho.#
Objeto de visión de IA [amplitud v]

Un barril azul con una raya naranja está centrado en el marco, rodeado por un recuadro negro. Dos líneas verticales rojas discontinuas se extienden desde la parte superior del cuadro hasta los bordes izquierdo y derecho del cuadro delimitador. Una flecha negra de dos puntas entre estas líneas indica la medida del ancho.

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#

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

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en altura.#
Objeto de visión de IA [altura v]

Un barril azul con una raya naranja está centrado en el marco, rodeado por un recuadro negro. Dos líneas discontinuas rojas horizontales se extienden desde el lado izquierdo del marco hasta los bordes superior e inferior del cuadro delimitador. Una flecha negra de dos puntas entre estas líneas indica la medición de la altura.

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#

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

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en centerX.#
Objeto de visión de IA [centroX v]

Un barril azul con una franja naranja está centrado en el marco, rodeado por un recuadro negro. Una línea discontinua roja vertical se extiende desde la parte superior del marco hasta el centro del cuadro delimitador, indicando la coordenada X del centro.

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#

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

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en centerY.#
Objeto de visión de IA [centroY v]

Un barril azul con una franja naranja está centrado en el marco, rodeado por un recuadro negro. Una línea discontinua roja horizontal se extiende desde el lado izquierdo del marco hasta el centro del cuadro delimitador, indicando la coordenada Y del centro.

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#

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.

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en originX.#
Objeto de visión de IA [origenX v]

Un barril azul con una raya naranja está centrado en el marco, rodeado por un recuadro negro. Una línea discontinua roja vertical se extiende desde la parte superior del marco hasta el borde izquierdo del cuadro delimitador, indicando la coordenada X del origen del cuadro delimitador.

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#

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.

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en originY.#
Objeto de visión de IA [origenY v]

Un barril azul con una raya naranja está centrado en el marco, rodeado por un recuadro negro. Una línea discontinua roja horizontal se extiende desde el lado izquierdo del marco hasta el borde superior del cuadro delimitador, indicando la coordenada Y del origen del cuadro delimitador.

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#

rotation returns the orientation of the detected AprilTag ID or Color Code as an integer in degrees from 0 to 359.

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en rotación.#
Objeto de visión de IA [rotación v]

Una interfaz de cámara muestra un objeto apilado verticalmente con una mitad superior azul y una mitad inferior roja, centradas en el marco. Una etiqueta debajo del objeto dice Red_Blue A:270° CX:185 CY:81 W: 93 H:150, indicando el nombre del objeto, el ángulo de rotación, las coordenadas X e Y del centro, el ancho y la altura. Las líneas de cuadrícula y los ejes numéricos marcan las dimensiones de la imagen, con X que van de 0 a 320 e Y de 0 a 240.

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#

bearing returns how far an object is to the left or right of the center of the AI Vision Sensor’s view as a degree. A value of 0 means it’s centered, positive values mean the object is to the right, and negative values mean the object is to the left.

settings settings
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#

tagID returns the identification number of the detected AprilTag ID as an integer.

El bloque de pila de propiedades del objeto AI Vision con su parámetro establecido en tagID.#
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