Codificación con el sensor de visión de IA en bloques VEXcode V5

Asegúrese de tener firmas de color y códigos de color configurados con su sensor de visión AI para que puedan usarse con sus bloques. Para obtener más información sobre cómo configurarlos, puede leer los artículos a continuación:

El sensor de visión de IA también puede detectar clasificaciones de IA y AprilTags. Para saber cómo habilitar estos modos de detección, vaya aquí:

Para obtener más información sobre estos bloques individuales y cómo usarlos en VEXcode, visite el sitio de API.


Tomar instantáneas

Un bloque que contiene el comando para tomar una instantánea con dos selecciones desplegables: una denominada AIVision1 y la otra denominada COL1. Este bloque está diseñado para tomar una instantánea de un sensor de visión de inteligencia artificial y hacer referencia a un objeto o color específico de las variables designadas en un entorno de codificación visual. La forma del bloque tiene ligeras curvas en los extremos, típicas de las interfaces de codificación basadas en bloques.

El bloqueTomar instantánea toma una fotografía de lo que el sensor de visión de IA está viendo actualmente y extrae datos de esa instantánea que luego se pueden usar en un proyecto. Cuando se toma una instantánea, debe especificar qué tipo de objeto debe recopilar datos el sensor de visión de IA:

  • Firma de color
  • Código de colores
  • Clasificaciones de IA
  • Etiquetas de abril

Al tomar una instantánea se creará una matriz de todos los objetos detectados que usted especificó. Por ejemplo, si desea detectar una firma de color "Rojo"y el sensor de visión de IA detecta 3 objetos rojos diferentes, los datos de los tres se colocarán en la matriz.

Para obtener más información sobre cómo especificar entre diferentes objetos, vaya a la sección "Establecer elemento de objeto" en este artículo.

Un bloque de codificación azul claro con el comando para tomar una instantánea de un objeto o color. Hay dos opciones desplegables: una denominada AIVision2 y la otra denominada Azul. El bloque está diseñado para usarse en un entorno de codificación basado en bloques, donde captura una instantánea de un sensor AI Vision y rastrea un objeto o color definido como Azul. El bloque tiene ligeras curvas, típicas de las interfaces de codificación que utilizan bloques modulares.

En este ejemplo, solo detectará objetos que coincidan con su Firma de color “Azul” configurada y nada más.

Datos tomados de una instantánea

Tenga en cuenta que el sensor de visión de IA utilizará la última instantánea tomada para cualquier bloque que venga después. Para asegurarse de obtener siempre la información más actualizada de su sensor de visión de inteligencia artificial, vuelva a tomar la instantánea cada vez que desee extraer datos de él. 

Resolución

Comprender la resolución del sensor de visión de IA es crucial para una interpretación precisa de los datos. El sensor tiene una resolución de 320x240 píxeles, con el centro exacto en las coordenadas (160, 120).

Las coordenadas X menores a 160 corresponden a la mitad izquierda del campo de visión del sensor, mientras que las mayores a 160 representan la mitad derecha. De manera similar, las coordenadas Y menores a 120 indican la mitad superior de la vista, y aquellas mayores a 120 representan la mitad inferior.

Vaya a Comprensión de los datos en la utilidad AI Vision en VEXcode V5 para obtener más información sobre cómo se miden los objetos con el sensor AI Vision.

Ancho y alto

Este es el ancho o alto del objeto detectado en píxeles.

La imagen muestra un Buckyball azul con un contorno cuadrado blanco que lo sigue. La esquina superior izquierda tiene una etiqueta que indica que es un objeto azul, con coordenadas X:176, Y:117 y dimensiones W:80, H:78. Las flechas rojas resaltan el ancho y la altura del objeto.

Las medidas de ancho y alto ayudan a identificar diferentes objetos. Por ejemplo, un Buckyball tendrá una altura mayor que un Ring.

Dos objetos cúbicos azules rastreados por un sistema de reconocimiento visual. El cubo superior tiene un contorno blanco con una etiqueta que indica su posición como X:215, Y:70 y dimensiones W:73, H:84. El cubo inferior tiene un contorno blanco similar con la etiqueta que muestra X: 188, Y: 184 y dimensiones W: 144, H: 113. Cada cubo tiene una cruz blanca centrada, que probablemente indica el punto focal para el seguimiento. Las etiquetas resaltan las mediciones y los datos de seguimiento de cada objeto.

El ancho y la altura también indican la distancia de un objeto al sensor de visión IA. Las medidas más pequeñas generalmente significan que el objeto está más lejos, mientras que las medidas más grandes sugieren que está más cerca.

El programa comienza con el bloque cuando se inicia, seguido de un bucle infinito. Dentro del bucle, el programa toma una instantánea utilizando el sensor AI Vision (AIVision1) para detectar un objeto azul. Si el objeto existe, el programa verifica si el ancho del objeto es menor a 250 píxeles. Si es verdadero, el robot avanza; de lo contrario, deja de avanzar. Los bloques se apilan juntos, lo que indica el flujo del programa en un entorno de codificación modular.

En este ejemplo, se utiliza el ancho del objeto para la navegación. El robot se acercará al objeto hasta que el ancho alcance un tamaño específico antes de detenerse.

Centro X y Centro Y

Estas son las coordenadas centrales del objeto detectado en píxeles.

Un Buckyball azul siendo rastreado por un sistema de visión por computadora. El objeto está delineado con un cuadrado blanco, y dentro del contorno hay un cuadrado rojo más pequeño que rodea una cruz blanca centrada. En la esquina superior izquierda de la imagen, una etiqueta indica que el objeto es azul, con coordenadas X:176, Y:117 y dimensiones W:80, H:78.

Las coordenadas CenterX y CenterY ayudan con la navegación y el posicionamiento. El sensor de visión IA tiene una resolución de 320 x 240 píxeles.

Dos objetos cúbicos azules seguidos por un sistema de visión. El objeto superior está etiquetado con las coordenadas X:215, Y:70 y dimensiones W:73, H:84, con un contorno blanco y una cruz blanca centrada. El objeto inferior está etiquetado con las coordenadas X:188, Y:184 y las dimensiones W:144, H:113, también delineadas en blanco con una cruz blanca centrada.

Puedes ver que un objeto más cercano al sensor de visión de IA tendrá una coordenada CenterY más baja que un objeto que esté más lejos.

Una secuencia de codificación basada en bloques que comienza con el momento en que se inició, seguida de un bucle infinito. Dentro del bucle, el programa toma una instantánea usando AIVision1 para detectar un objeto azul. Si existe un objeto, el programa gira hasta que el objeto esté centrado en la vista del sensor AI Vision. El objeto se considera centrado si su valor centerX está entre 150 y 170. Si el objeto no está centrado, el robot gira a la derecha; de lo contrario, deja de moverse. Los bloques indican el flujo y la lógica del programa visual.

En este ejemplo, debido a que el centro de la vista del sensor de visión de IA es (160, 120), el robot girará a la derecha hasta que la coordenada centerX de un objeto detectado sea mayor a 150 píxeles, pero menor a 170 píxeles.

Ángulo

El ángulo es una propiedad disponible solo para los códigos de color yAprilTags. Esto representa si el código de colordetectadoo AprilTag está orientado de manera diferente.

Una pila de dos cubos, uno verde en la parte superior y otro azul en la parte inferior, rastreados por un sistema de visión. Un contorno blanco rodea ambos cubos, con una cruz blanca centrada en el cubo verde. La etiqueta en la parte inferior de la imagen muestra Verde_Azul A:87°, indicando los colores detectados y una medición del ángulo. Debajo de eso, las coordenadas se enumeran como X:117, Y:186, con dimensiones W:137, H:172, que representan la posición y el tamaño de los cubos apilados en el marco.

Puede ver si el robot está orientado de manera diferente en relación con el código de color oAprilTag y tomar decisiones de navegación en función de eso.

Dos cubos, uno verde y otro azul, colocados uno al lado del otro y rastreados por un sistema de visión. Un contorno blanco rodea ambos cubos con una cruz blanca en el centro. La etiqueta superior izquierda indica Verde_Azul A:0°, haciendo referencia a los colores detectados y a una medición de ángulo. Debajo, las coordenadas se muestran como X:150, Y:102, con dimensiones W:179, H:109, que representan la posición y el tamaño de los cubos dentro del marco.

Por ejemplo, si un código de color no se detecta en un ángulo adecuado, es posible que el robot no pueda recoger correctamente el objeto que representa.

Origen X y Origen Y

OriginX y OriginY son las coordenadas en la esquina superior izquierda del objeto detectado en píxeles.

Un Buckyball azul siendo rastreado por un sistema de visión. Un contorno blanco rodea el objeto, con una cruz blanca centrada dentro del contorno. La etiqueta superior izquierda indica que el color del objeto es azul, junto con las coordenadas X:176, Y:117 y las dimensiones W:80, H:78. Un pequeño cuadrado rojo resalta la esquina superior izquierda del objeto.

Las coordenadas OriginX y OriginY ayudan con la navegación y el posicionamiento. Al combinar esta coordenada con el ancho y la altura del objeto, puede determinar el tamaño del cuadro delimitador del objeto. Esto puede ayudar a rastrear objetos en movimiento o a navegar entre objetos.

Una secuencia de codificación basada en bloques que comienza con el momento en que se inició, seguida de un bucle infinito. Dentro del bucle, el programa toma una instantánea usando AIVision1 para detectar un objeto azul. Si el objeto existe, el programa dibujará un rectángulo en la pantalla del Cerebro basándose en la posición y el tamaño del objeto. El rectángulo se dibuja utilizando los valores de origen X, origen Y, ancho y alto del objeto, que proporciona el sensor AIVision1. Este programa rastrea y resalta visualmente el objeto detectado en la pantalla del cerebro.

En este ejemplo, se dibujará un rectángulo en el cerebro utilizando las coordenadas exactas de su origen, ancho y alto.

Identificación de etiqueta

El tagID solo está disponible paraAprilTags. Este es el número de identificación para elAprilTagespecificado.

Tres tarjetas cuadradas con AprilTags rastreadas mediante un sistema de visión. Cada tarjeta está etiquetada con un número de identificación y datos de seguimiento asociados. La tarjeta de la izquierda está etiquetada como ID:0, mostrando las coordenadas A:350°, X:110, Y:96, W:41, H:41. La tarjeta del medio, denominada ID:3, tiene las coordenadas A:1°, X:187, Y:180, W:57, H:57. La tarjeta de la derecha está etiquetada como ID:9, con coordenadas A:3°, X:237, Y:89, W:38, H:38. Cada tarjeta tiene un contorno blanco y el sistema rastrea sus posiciones y orientaciones.

La identificación de específicos permite una navegación selectiva. Puede programar su robot para que se mueva hacia ciertas etiquetas e ignore otras, utilizándolas efectivamente como señales para la navegación automatizada.

Puntaje

La propiedad de puntuación se utiliza al detectarclasificaciones de IA con el sensor de visión de IA.

La imagen muestra cuatro objetos rastreados por un sistema de visión: dos bolas y dos anillos. La bola roja está etiquetada con las coordenadas X:122, Y:84, W:67, H:66 y una puntuación del 99%. La bola azul tiene X:228, Y:86, W:70, H:68, con una puntuación del 99%. El anillo verde tiene las coordenadas X:109, Y:186, W:98, H:92 y una puntuación del 99%. El anillo rojo está etiquetado como X:259, Y:187, W:89, H:91, con una puntuación del 99%. Cada objeto está delineado en blanco, lo que indica la precisión del seguimiento.

La puntuación de confianza indica qué tan seguro está el sensor de visión de IA acerca de su detección. En esta imagen, hay un 99% de confianza en la identificación de las clasificaciones de IA de estos cuatro objetos. Puede utilizar esta puntuación para garantizar que su robot solo se centre en detecciones altamente confiables.


Establecer elemento de objeto

Cuando el sensor de visión de IA detecta un objeto, lo coloca en una matriz. De forma predeterminada, el sensor de visión de inteligencia artificial extraerá datos del primer objeto de la matriz o del objeto con el índice 1. Si su sensor de visión de IA solo ha detectado un objeto, entonces ese objeto se seleccionará de manera predeterminada.

Sin embargo, cuando su sensor de visión de IA haya detectado varios objetos a la vez, deberá usar el bloqueEstablecer elemento de objeto para especificar de qué objeto desea extraer datos.

Un bloque de codificación de color azul claro. Contiene un comando para establecer el elemento del objeto para AIVision1 en 1. Este bloque es parte de un entorno de codificación basado en bloques, que normalmente se utiliza para definir en qué objeto o elemento debe centrarse o rastrear el sensor AI Vision. La forma del bloque tiene ligeras curvas, adaptándose a la naturaleza modular de la plataforma de codificación visual.

Cuando el sensor de visión de IA detecta varios objetos, se organizan en la matriz del más grande al más pequeño. Esto significa que el objeto más grande detectado siempre se establecerá en el índice de objeto 1, y el objeto más pequeño siempre se establecerá en el número más alto.

La interfaz de AI Vision Utility con dos cubos azules detectados en el lado izquierdo, cada uno marcado con sus coordenadas y dimensiones X e Y. El sistema está conectado y las AprilTags están activadas, mientras que la clasificación de IA está desactivada. A la derecha, se muestran los ajustes de color azul con rangos de tono y saturación ajustables, establecidos en 22 y 0,34, respectivamente. Hay una opción para agregar o establecer color y congelar el video. El firmware está actualizado, ejecuta la versión 1.0.0.b16 y hay un botón de cierre disponible en la parte inferior.

En este ejemplo se han detectado dos objetos con la firma de color "Azul". Ambos se colocarán en la matriz cuando se utilice el bloqueTomar instantánea.

La interfaz de AI Vision Utility, que rastrea dos cubos azules etiquetados con sus datos de X, Y y dimensión. El cubo de la izquierda tiene coordenadas X:127, Y:179 y dimensiones W:136, H:123, mientras que el cubo de la derecha tiene coordenadas X:233, Y:74 y dimensiones W:78, H:87. El sistema está conectado, AprilTags está activado y la clasificación de IA está desactivada. Los ajustes de color azul tienen un rango de tonos de 22 y una saturación de 0,34. En la parte inferior se muestran un botón para congelar video e información del firmware (versión 1.0.0.b16).

Aquí, el objeto del frente se convertiría en el índice de objeto 1, ya que es el objeto más grande, y el objeto más pequeño se convertiría en el índice de objeto 2.


El objeto existe

Antes de extraer cualquier dato de una instantánea, es importante que el sensor de visión de IA haya detectado primero todos los objetos de esa instantánea. Aquí es donde entra en juego el bloqueObjeto Existe.

¿Existe un bloque de codificación hexagonal de color azul claro con el objeto de texto AIVision1? Este bloque es parte de un entorno de codificación basado en bloques, que normalmente se utiliza para verificar si un objeto es detectado por el sensor AI Vision etiquetado como AIVision1. El bloque está diseñado para encajar dentro de una estructura de codificación modular, con las ligeras curvas y formas características de dichos entornos.

Este bloque devolverá valorVerdadero oFalso sobre si la última instantánea tomada tiene o no objetos detectados en ella.

Este bloque debeusarse siempre para asegurarse de no intentar extraer datos de una instantánea potencialmente vacía.

Una secuencia de codificación basada en bloques que comienza con "cuando se inició" seguido de un bucle infinito. Dentro del bucle, el sensor AI Vision (AIVision2) toma una instantánea para detectar el color azul. Si se detecta un objeto con la firma visual azul, el robot avanzará. Si no se detecta ningún objeto, el robot dejará de moverse. Los bloques se apilan para representar la lógica condicional del programa, donde la presencia de un objeto detectado controla el movimiento del robot.

Por ejemplo, aquí el robot tomará constantemente instantáneas con el sensor de visión IA. Si identifica cualquier objeto con la firma de color “Azul” , avanzará.


Si alguna instantánea no tiene la firma de color “Azul” , el robot dejará de moverse.


Recuento de objetos

Un bloque de codificación redondeado de color azul claro denominado recuento de objetos AIVision1. Este bloque se utiliza en un entorno de codificación basado en bloques para recuperar la cantidad de objetos detectados por el sensor AI Vision etiquetado como AIVision1. El bloque encaja dentro de una estructura modular, comúnmente utilizada en interfaces de programación visual para robótica o sistemas de visión.

El uso del bloque Recuento de objetos le permitirá ver cuántos objetos de una Firma de color específica puede ver el sensor de visión AI en su última instantánea. 

La interfaz de AI Vision Utility con dos cubos azules detectados a la izquierda. El sistema está conectado, con AprilTags habilitado y la clasificación AI desactivada. La interfaz muestra configuraciones para detectar el color azul, con un tono establecido en 22 y una saturación en 0,34. Hay botones para congelar el vídeo y agregar o configurar el color. El firmware se indica como actualizado, ejecutando la versión 1.0.0.b16. También hay un botón para desconectar la conexión o cerrar la utilidad.

Aquí, vemos que el sensor de visión de inteligencia artificial tiene configurada la firma de color “Azul”, y está detectando dos objetos.

Una secuencia de codificación basada en bloques que comienza con el momento en que se inició y sigue un bucle infinito. Dentro del bucle, el programa toma una instantánea utilizando AIVision2 para detectar la firma visual azul. Limpia y reinicia la consola antes de verificar si se detectan objetos azules. Si existe un objeto azul, el recuento de objetos se imprime en la consola. Luego, el programa espera dos segundos antes de repetir el proceso. Los bloques representan visualmente una verificación continua de objetos azules y muestran los resultados en la consola.Una salida de consola con el número 2 impreso. La consola es parte de una interfaz más grande que probablemente muestra resultados de un programa que se ejecuta en un entorno de codificación basado en bloques. La parte superior de la consola tiene botones para acciones o controles adicionales, y el programa que se ejecuta aquí envía datos a la consola de impresión, que muestra un resultado de 2 en la pantalla.

En este código, el sensor de visión AI tomaría una instantánea e imprimiría "2" en la consola VEXcode, ya que solo detecta dos firmas de color "azul" .


Objeto

Un menú desplegable para seleccionar propiedades de objetos relacionadas con AIVision1. La opción seleccionada es ancho, y el menú enumera otras opciones, incluidas altura, centroX, centroY, ángulo, origenX, origenY, tagID y puntuación. Estas opciones permiten al usuario recuperar puntos de datos específicos del objeto detectado por el sensor AI Vision, proporcionando flexibilidad para rastrear o medir varios atributos del objeto.

El bloqueObjeto le permite informar la propiedad de su objeto especificado. Esto le permite utilizar cualquiera de los datos disponibles extraídos de la instantánea tomada más recientemente.

Las propiedades de objeto que se pueden extraer de las instantáneas tomadas son:

  • ancho
  • altura
  • centroX
  • centroY
  • ángulo
  • origenX
  • origenY
  • Identificación de etiqueta
  • puntaje

Lea la sección “Datos tomados de la instantánea” de este artículo para obtener más información sobre estas propiedades.


Se detectó AprilTag

Un bloque hexagonal de color azul claro de una interfaz de codificación. Contiene el comando para verificar si el AprilTag detectado por AIVision1 coincide con el valor 1. Este bloque se utiliza en un entorno de codificación basado en bloques y está diseñado para evaluar si está presente un AprilTag específico. Su forma y estructura le permiten encajar dentro de otros bloques lógicos, normalmente utilizados en programación visual para robótica o tareas de visión de IA.

El bloqueDetectado AprilTag es solo está disponible cuando el Modo de detecciónAprilTag está activado.

Este bloque informará Verdadero o Falso dependiendo de si el objeto especificado es un determinado AprilTag.

Tres AprilTags siendo rastreados mediante un sistema de visión. Cada etiqueta tiene un ID y coordenadas asociadas. La etiqueta de la izquierda está etiquetada como ID:0, con coordenadas X:110, Y:96, W:41, H:41. La etiqueta central está etiquetada como ID:3, con coordenadas X:187, Y:180, W:57, H:57. La etiqueta derecha está etiquetada como ID:9, con coordenadas X:237, Y:89, W:38, H:38.

Cuando se detectan varias AprilTags en una sola instantánea, se organizan en la matriz según su ID identificado, no por tamaño.

En esta imagen, se detectan tres AprilTags con los ID 0, 3 y 9. Se organizarán en orden ascendente de su ID en la matriz. El objeto en el índice 1 correspondería a AprilTag con ID 0, en el índice 2 a AprilTag con ID 3 y en el índice 3 a AprilTag con ID 9.

Para obtener más información sobre qué son las AprilTags y cómo habilitar su detección con el sensor de visión de inteligencia artificial, lea este artículo.


La clasificación de IA es

Un bloque hexagonal de color azul claro de un entorno de codificación basado en bloques. El bloque contiene el comando AIVision1 ¿La clasificación de IA es BlueBall? Este bloque verifica si el sensor AI Vision (AIVision1) ha clasificado el objeto detectado como BlueBall. El bloque presenta opciones desplegables que permiten a los usuarios seleccionar diferentes objetos o clasificaciones de IA para fines de seguimiento y toma de decisiones en una interfaz de programación visual.

El bloque de clasificación de IAsolo está disponible cuando el modo de detección de clasificación de IA está activado.

 

Este bloque informará si es Verdadero o Falso dependiendo de si el objeto especificado es una determinada Clasificación de IA.

Las clasificaciones de IA que puede detectar el sensor de visión de IA varían según el modelo que esté utilizando. Para obtener más información sobre qué clasificaciones de IA están disponibles y cómo habilitar su detección con el sensor de visión de IA, lea este artículo.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: