Visión de IA#
Introducción#
El sensor de visión de IA del robot de codificación VEX AIM detecta y rastrea objetos, colores y AprilTags. Esto le permite analizar su entorno, seguir objetos y reaccionar según los datos visuales detectados. A continuación, se muestra una lista de todos los bloques disponibles:
Acciones: controla la alimentación de AI Vision y captura datos de objetos.
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 AprilTags.
Configuración: ajusta a qué objetos detectados se accede.
set AI Vision object item – Selects a specific object from the detected object list.
Valores – Devuelve la presencia, clasificación y propiedades del objeto.
has object? – Checks if the robot is holding a detected object.
AI Vision object exists? – Returns whether an object is detected.
AI Vision object is? – Checks if a detected object matches a specific classification.
AI Vision object is AprilTag ID? – Checks if a detected AprilTag matches a specific ID.
AI Vision object count – Returns the number of detected objects.
AI Vision object property – Returns details such as:
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.
[mostrar v] Visor de visión de IA en pantalla
Parámetros |
Descripción |
---|---|
estado |
Controls the display of the data feed on the robot’s screen:
|
Ejemplo
cuando empieza :: hat events
[Vea la transmisión del sensor de visión de inteligencia artificial durante cinco segundos.]
[mostrar v] Visor de visión de IA en pantalla
esperar [5] segundos
[ocultar v] Visor de visión de IA en pantalla
obtener datos del objeto#
El bloque obtener datos de objeto filtra los datos del marco del sensor de visión de IA. Este puede detectar firmas que incluyen objetos preentrenados, AprilTags o colores y códigos de color configurados.
Los colores y códigos de color deben configurarse primero en AI Vision Utility antes de poder usarse con este método.
The dataset stores objects ordered from largest to smallest by width, starting at index 0. Each object’s properties can be accessed using AI Vision object property block. An empty dataset is returned if no matching objects are detected.
obtener [balón deportivo v] datos de AI Vision
Parámetro |
Descripción |
---|---|
firma |
Filters the dataset to only include data of the given signature. Available signatures are:
|
Ejemplo
cuando empieza :: hat events
[Avanzar si se detecta un balón deportivo.]
por siempre
obtener [balón deportivo v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
mover [adelante v] para [10] [mm v] ▶
Firmas de color#
Una Firma de Color es un color único que el Sensor de Visión con IA puede reconocer. Estas firmas permiten al sensor detectar y rastrear objetos según su color. Una vez configurada una Firma de Color, el sensor puede identificar objetos con ese color específico en su campo de visión.
Color Signatures are used in the Get object data block to process and detect colored objects in real-time.
La Utilidad de Visión con IA muestra un sensor de visión conectado que detecta dos objetos de color. El lado izquierdo muestra la transmisión de una cámara en vivo con un recuadro azul a la izquierda y uno rojo a la derecha, cada uno delimitado por cuadros 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 la saturación de los recuadros rojo y azul. Los botones para agregar colores, congelar el video, copiar y guardar la imagen se encuentran en la parte inferior, junto con un botón/_static/img/AiVision/color_signatures.pngcierre en la esquina inferior derecha.
Ejemplo
cuando empieza :: hat events
[Se detecta la visualización de un objeto que coincide con la firma de Red Box.]
por siempre
establecer cursor a [1] columna de fila [1] en pantalla
borrar fila [1] en pantalla
[Cambie la firma a cualquier Firma de color configurada.]
obtener [Red_Box v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
imprimir [¡Firma de color detectada!] en pantalla ▶
Códigos de color#
Un código de color es un patrón estructurado compuesto por de 2 a 4 firmas de color, dispuestas en un orden específico. Estos códigos permiten al sensor de visión con IA 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.
La interfaz de la Utilidad de Visión IA 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 único cuadro delimitador blanco denominado AzulRojo. 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 listan tres firmas de color: Cuadro Rojo, Cuadro Azul y AzulRojo, con rangos/_static/img/AiVision/color_code.pngtono y saturación ajustables. La firma AzulRojo combina el Cuadro Azul y el Cuadro Rojo. Debajo de la señal de video se encuentran los botones Congelar Video, Copiar Imagen, Guardar Imagen y Cerrar.
Ejemplo
cuando empieza :: hat events
[Se detecta la visualización de un objeto que coincide con el código Azul Rojo.]
por siempre
establecer cursor a [1] columna de fila [1] en pantalla
borrar fila [1] en pantalla
[Cambie la firma a cualquier código de color configurado.]
obtener [BlueRed v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
imprimir [Código de color detectado!] en 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.
establecer el elemento de 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 empieza :: hat events
[Mostrar el ID de AprilTag más grande detectado.]
por siempre
obtener [abrilEtiquetas v] datos de AI Vision
borrar fila [1] en pantalla
establecer cursor a [1] columna de fila [1] en pantalla
si <¿Existe el objeto AI Vision?> entonces
establecer el elemento de objeto AI Vision en (Recuento de objetos de AI Vision)
imprimir (Objeto AI Vision [ID de etiqueta v]) en pantalla ▶
Valores#
¿tiene objeto?#
El bloque tiene objeto devuelve un valor booleano que indica si el robot tiene actualmente un objeto detectado contra su Kicker.
True – The robot has the object.
False – The robot does not have the object.
<tiene [balón deportivo v] ?>
Parámetro |
Descripción |
---|---|
objeto |
The object to detect against the robot’s kicker:
|
Ejemplo
cuando empieza :: hat events
[Patea cuando el robot tiene una pelota deportiva.]
por siempre
si <tiene [balón deportivo v] ?> entonces
patear objeto [mediano v]
¿Existe el objeto AI Vision?#
El objeto AI Vision existe devuelve un valor booleano que indica si se detecta algún objeto en el conjunto de datos.
True – The dataset includes a detected object.
False – The dataset does not include any detected objects.
<¿Existe el objeto AI Vision?>
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empieza :: hat events
[Avanzar si se detecta un balón deportivo.]
por siempre
obtener [balón deportivo v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
mover [adelante v] para [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.
<¿El objeto AI Vision es [balón deportivo v] ?>
Parámetro |
Descripción |
---|---|
objeto |
Which object to compare the item to:
|
Ejemplo
cuando empieza :: hat events
[Mostrar si se detecta un balón deportivo.]
por siempre
obtener [toda la carga v] datos de AI Vision
borrar fila [1] en pantalla
establecer cursor a [1] columna de fila [1] en pantalla
si <¿Existe el objeto AI Vision?> entonces
si <¿El objeto AI Vision es [balón deportivo v] ?> entonces
imprimir [Balón deportivo detectado!] en pantalla ▶
esperar [0.5] segundos
¿El objeto AI Vision es AprilTag ID?#
El bloque ¿El objeto AI Vision es AprilTag ID? devuelve un valor booleano que indica si un AprilTag detectado coincide con un ID específico.
True – The AprilTag ID is the number.
False – The AprilTag ID is not the number.
<¿El objeto AI Vision es AprilTag [1] ?>
Parámetros |
Descripción |
---|---|
Número de etiqueta de abril |
El número que se comparará con el número de identificación de AprilTag detectado. |
cuando empieza :: hat events
[Informar si se detecta el ID 3 de AprilTag.]
por siempre
borrar pantalla
establecer cursor a [1] columna de fila [1] en pantalla
obtener [abrilEtiquetas v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <¿El objeto AI Vision es AprilTag [3] ?> entonces
imprimir [Eso es 3!] en pantalla ▶
si no
imprimir [Eso no es 3!] en pantalla ▶
fin
fin
esperar [0.1] segundos
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.
Recuento de objetos de AI Vision
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empieza :: hat events
[Muestra la cantidad de pelotas deportivas y barriles.]
por siempre
borrar fila [1] en pantalla
establecer cursor a [1] columna de fila [1] en 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 pantalla ▶
fin
esperar [0.5] segundos
Propiedad del objeto AI Vision#
There are nine properties that are included with each object (shown below) stored after the Get object data block is used.
Objeto AI Vision [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 240 x 320 píxeles.
Parámetro |
Descripción |
---|---|
propiedad |
Which property of the detected object to use: |
ancho#
width returns the width of the detected object in pixels as an integer from 1 to 320.
Objeto AI Vision [amplitud v]
Un barril azul con una franja naranja está centrado en el marco, rodeado por un cuadro delimitador negro. Dos líneas discontinuas rojas verticales se extienden desde la parte superior del marco hasta los bordes/_static/img/AiVision/VisionSensor-Barrel-Width.pngy derecho del cuadro delimitador. Una flecha negra de dos puntas entre estas líneas indica la medida del ancho.
Ejemplo
cuando empieza :: hat events
[Muévete hacia un barril azul hasta que su ancho sea mayor a 100 píxeles.]
por siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto AI Vision [amplitud v]) [math_less_than v] [100]> entonces
mover [adelante v]
fin
si no
detener todo movimiento
altura#
height returns the height of the detected object in pixels as an integer from 1 to 240.
Objeto AI Vision [altura v]
Un barril azul con una franja naranja está centrado en el marco, rodeado por un cuadro delimitador negro. Dos líneas discontinuas rojas horizontales se extienden desde el lado izquierdo del marco hasta los bordes superior e inferior del cuadro delimitador/_static/img/AiVision/VisionSensor-Barrel-Height.pngUna flecha negra de dos puntas entre estas líneas indica la altura.
Ejemplo
cuando empieza :: hat events
[Muévete hacia un barril azul hasta que su altura sea mayor a 100 píxeles.]
por siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto AI Vision [altura v]) [math_less_than v] [100]> entonces
mover [adelante v]
fin
si no
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.
Objeto AI Vision [centroX v]
Un barril azul con una franja naranja está centrado en el marco, rodeado por un cuadro delimitador negro. Una línea discontinua roja vertical se extiende desde la parte superior del marco hasta el centro del cuadro delimitador,/_static/img/AiVision/VisionSensor-Barrel-CenterX.pngla coordenada X del centro.
Ejemplo
cuando empieza :: hat events
[Gire lentamente hasta que un barril azul esté centrado frente al robot.]
establecer la velocidad de giro [30] en %
giro [derecha v]
por siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <[140] [math_less_than v] (Objeto AI Vision [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.
Objeto AI Vision [centroY v]
Un barril azul con una franja naranja está centrado en el marco, rodeado por un cuadro delimitador negro. Una línea discontinua roja horizontal se extiende desde el lado izquierdo del marco hasta el centro del cuadro delimitador,/_static/img/AiVision/VisionSensor-Barrel-CenterY.pngla coordenada Y del centro.
Ejemplo
cuando empieza :: hat events
[Muévase hacia un barril azul hasta que su coordenada y central sea mayor a 140 píxeles.]
por siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto AI Vision [centroX v]) [math_less_than v] [140]> entonces
mover [adelante v]
fin
si no
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.
Objeto AI Vision [origenX v]
Un barril azul con una franja naranja está centrado en el marco, rodeado por un cuadro delimitador 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/_static/img/AiVision/VisionSensor-Barrel-OriginX.pngdel origen del cuadro delimitador.
Ejemplo
cuando empieza :: hat events
[Muestra si un barril naranja está a la izquierda o a la derecha.]
por siempre
borrar fila [1] en pantalla
establecer cursor a [1] columna de fila [1] en pantalla
obtener [barril de naranja v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto AI Vision [origenX v]) [math_less_than v] [160]> entonces
imprimir [A la izquierda!] en pantalla ▶
si no
imprimir [A la derecha!] en 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.
Objeto AI Vision [origenY v]
Un barril azul con una franja naranja está centrado en el marco, rodeado por un cuadro delimitador negro. Una línea discontinua roja horizontal se extiende desde el lado/_static/img/AiVision/VisionSensor-Barrel-OriginY.pngdel marco hasta el borde superior del cuadro delimitador, indicando la coordenada Y del origen del cuadro delimitador.
Ejemplo
cuando empieza :: hat events
[Mostrar si un barril naranja está cerca o lejos del robot.]
por siempre
borrar fila [1] en pantalla
establecer cursor a [1] columna de fila [1] en pantalla
obtener [barril de naranja v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto AI Vision [origenY v]) [math_less_than v] [80]> entonces
imprimir [Lejos!] en pantalla ▶
si no
imprimir [Cerca!] en pantalla ▶
fin
esperar [0.5] segundos
rotación#
rotation returns the orientation of the detected AprilTag or Color Code as an integer in degrees from 0 to 359.
Objeto AI Vision [rotación v]
Una interfaz de cámara muestra un objeto apilado verticalmente con una mitad superior azul y una inferior roja, centrado en el marco. Una etiqueta debajo del objeto indica Red_Blue A:270° CX:185 CY:81 W:93 H:150, indicando el nombre del objeto, el ángulo de rotación, las coordenadas centrales X e Y, el ancho y la altura. Las líneas de cuadrícula y los ejes numéricos marcan las dimensiones de la imagen, con X de 0 a 320 e Y de 0 a 240/_static/img/AiVision/rotation.png
Ejemplo
cuando empieza :: hat events
[Deslice hacia la izquierda o hacia la derecha según cómo gire el código de color.]
por siempre
obtener [Red_Blue v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <[50] [math_less_than v] (Objeto AI Vision [rotación v]) [math_less_than v] [100]> entonces
mover [derecha v]
de lo contrario si <[270] [math_less_than v] (Objeto 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
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.
cuando empieza :: hat events
[Mantenga el barril azul directamente frente al robot..]
establecer la velocidad de giro [40] en %
por siempre
obtener [barril azul v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto AI Vision [rodamiento v]) [math_greater_than v] [5]> entonces
giro [derecha v]
de lo contrario si <(Objeto AI Vision [rodamiento v]) [math_less_than v] [-5]> entonces
giro [izquierda v]
si no
detener todo movimiento
ID de etiqueta#
tagID returns the identification number of the detected AprilTag as an integer.
Objeto AI Vision [ID de etiqueta v]
Ejemplo
cuando empieza :: hat events
[Avanzar cuando se detecte el ID de AprilTag 0.]
por siempre
obtener [abrilEtiquetas v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto AI Vision [ID de etiqueta v]) [math_equal v] [0]> entonces
mover [adelante v]
fin
detener todo movimiento