Sensor de visión de IA#
Introducción#
El sensor de visión con IA puede detectar y rastrear objetos, colores e identificadores AprilTag. Esto permite al robot analizar su entorno, seguir objetos y reaccionar en función de los datos visuales detectados.
A continuación se muestra una lista de bloques disponibles:
Acciones: capturar datos del sensor de visión de IA para una firma seleccionada.
tomar instantánea – Captura datos para una firma específica, como un color configurado, un objeto preentrenado o un ID de AprilTag.
Configuración: elige con qué objeto interactuar.
establecer elemento de objeto de AI Vision – Selecciona un objeto específico de la lista de objetos detectados.
Valores – Acceder y utilizar los datos capturados.
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 & centerY – Coordenadas de la posición central en la vista del sensor.
ángulo – Orientación del objeto.
originX y originY – Coordenadas de la posición de la esquina superior izquierda en la vista del sensor.
tagID – Número de identificación de un ID de AprilTag.
score – Qué tan seguro está el modelo en su identificación como porcentaje.
Comportamiento#
tomar una instantánea#
El bloque de pila tomar instantánea 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.
[SELECT_A_SIG v]una instantánea de [AIVision 1 v]
Parámetro |
Descripción |
|---|---|
dispositivo |
Qué sensor de visión de IA utilizar, configurado en la ventana Dispositivos. |
firma |
Filtra el conjunto de datos para incluir solo los datos de la firma especificada. Las firmas disponibles son:
|
Nota: Para que aparezcan las opciones de ID de AprilTag o Clasificación por IA, su detección debe estar habilitada en la Utilidad de Visión por IA.
Ejemplo
cuando empezó
[Drive forward if an AprilTag ID is detected.]
para siempre
[AprilTag IDs v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVIsion1 v] objeto?> entonces
unidad [adelante v] para [10] [mm v] ▶
Clasificaciones de IA#
El sensor de visión de IA puede detectar diferentes objetos bajo ciertas clasificaciones de IA. Según el modelo de clasificación de IA seleccionado al configurar el sensor en la ventana Dispositivos, se detectarán diferentes objetos. Los modelos disponibles actualmente son:
Objetos del aula
Bola azul
Bola verde
Bola roja
Anillo azul
Anillo verde
Anillo rojo
Cubo azul
Cubo verde
Cubo rojo
V5RC Empuje hacia atrás
Bloque azul
Bloque rojo
V5RC de alto riesgo
Objetivo móvil
Anillo rojo
Anillo azul
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.
Las firmas de color se utilizan en el bloque tomar instantánea para procesar y detectar objetos de color en tiempo real. Se pueden configurar hasta 7 firmas de color a la vez.
La Utilidad de Visión de 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 el rango de 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 de cierre en la esquina inferior/_static/img/AiVision/color_signatures.png.
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.]
[RED_BOX v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
imprimir [Color detected!] en la 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 especialmente útiles para identificar objetos complejos, alinearlos con elementos del juego o crear marcadores únicos para la navegación autónoma. Se pueden configurar hasta 8 códigos de color a la vez.
La interfaz de la Utilidad de Visión AI 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 empezó
[Display if any objects matching the RED_BLUE 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.]
[RED_BLUE v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
imprimir [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.
Establecer el elemento de objeto [AIVision 1 v] en (1)
Parámetros |
Descripción |
|---|---|
dispositivo |
Qué sensor de visión de IA utilizar, configurado en la ventana Dispositivos. |
artículo |
El número del elemento en el conjunto de datos a utilizar. |
Ejemplo
cuando empezó
[Display the largest detected AprilTag ID.]
para siempre
[AprilTag IDs v]una instantánea de [AIVision 1 v]
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿Existe [AIVision 1 v] objeto?> entonces
Establecer el elemento de objeto [AIVision 1 v] en ([AIVision 1 v]object count)
imprimir ([AIVision 1 v] objeto [ID de etiqueta v]) en la pantalla ▶
Valores#
¿Existe el objeto AI Vision?#
El bloque booleano AI Vision object exists informa si se ha detectado algún objeto en el conjunto de datos.
Verdadero – El conjunto de datos incluye un objeto detectado.
Falso – El conjunto de datos no incluye ningún objeto detectado.
<¿Existe [AIVision 1 v] objeto?>
Parámetros |
Descripción |
|---|---|
dispositivo |
Qué sensor de visión de IA utilizar, configurado en la ventana Dispositivos. |
Ejemplo
cuando empezó
[Drive forward if an object is detected.]
para siempre
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
unidad [adelante v] para [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.
<[AIVision1 v] object is [BlueBall v]?>
Parámetro |
Descripción |
|---|---|
dispositivo |
Qué sensor de visión de IA utilizar, configurado en la ventana Dispositivos. |
objeto |
¿Con qué Clasificación IA comparar el artículo? |
Ejemplo
cuando empezó
[Display if a Blue Cube is detected.]
para siempre
[AI Classifications v]una instantánea de [AIVision 1 v]
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[AIVision1 v] object is [BlueCube v]?> entonces
imprimir [Cube 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.
<[AIVision1 v] object is AprilTag ID [1] ?>
Parámetros |
Descripción |
|---|---|
dispositivo |
Qué sensor de visión de IA utilizar, configurado en la ventana Dispositivos. |
Número de identificación de AprilTag |
El número que se comparará con el número de identificación AprilTag detectado. |
Ejemplo:
cuando empezó
[Report if AprilTag ID 3 is detected.]
para siempre
pantalla clara
Coloque el cursor en la fila [1] columna [1] en la pantalla
[AprilTag IDs v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[AIVision1 v] object is AprilTag ID [3] ?> entonces
imprimir [That is 3!] en la pantalla ▶
demás
imprimir [That isn't 3!] en la pantalla ▶
fin
fin
esperar [0.1] segundos
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.
([AIVision 1 v] recuento de objetos)
Parámetros |
Descripción |
|---|---|
dispositivo |
Qué sensor de visión de IA utilizar, configurado en la ventana Dispositivos. |
Ejemplo
cuando empezó
[Display the total amount of cubes, rings, and balls.]
para siempre
Limpiar la fila [1] de la pantalla
Coloque el cursor en la fila [1] columna [1] en la pantalla
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
imprimir ([AIVision 1 v] recuento de objetos) 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 tomar instantánea.
([AIVision 1 v] objeto [amplitud v])
Todos los valores de las propiedades, excepto tagID y score, describen la posición y el tamaño del objeto detectado en la vista del sensor de visión de IA en el momento en que se utilizó el bloque tomar instantánea. Estos valores se miden en píxeles, según la resolución de 320 x 240 píxeles del sensor.
Parámetro |
Descripción |
|---|---|
dispositivo |
Qué sensor de visión de IA utilizar, configurado en la ventana Dispositivos. |
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.
([AIVision 1 v] objeto [amplitud v])
Ejemplo
cuando empezó
[Drive towards an object until its width is larger than 100 pixels.]
para siempre
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [amplitud v]) [math_less_than v] [100]> entonces
unidad [adelante v]
demás
deja de conducir
fin
altura#
La propiedad altura informa la altura del objeto detectado en píxeles como un número entero del 1 al 240.
([AIVision 1 v] objeto [altura v])
Ejemplo
cuando empezó
[Drive towards an object until its height is larger than 100 pixels.]
para siempre
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [altura v]) [math_less_than v] [100]> entonces
unidad [adelante v]
demás
deja de conducir
fin
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.
([AIVision 1 v] objeto [centroX v])
Ejemplo
cuando empezó
[Turn slowly until an object is centered in front of the robot.]
establecer la velocidad de giro a [30] [% v]
turno [derecha v]
para siempre
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[140] [math_less_than v] ([AIVision 1 v] objeto [centroX v]) [math_less_than v] [180]> entonces
deja de conducir
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.
([AIVision 1 v] objeto [centroY v])
Ejemplo
cuando empezó
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
para siempre
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [centroY v]) [math_less_than v] [140]> entonces
unidad [adelante v]
demás
deja de conducir
fin
ángulo#
La propiedad ángulo informa la orientación del código de color o ID de AprilTag detectado como un número entero en grados de 0 a 359.
([AIVision 1 v] objeto [ángulo v])
Ejemplo
cuando empezó
[Slide left or right depending on how the Color Code is rotated.]
para siempre
[RED_BLUE v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <[50] [math_less_than v] ([AIVision 1 v] objeto [ángulo v]) [math_less_than v] [100]> entonces
unidad [derecha v]
de lo contrario si <[270] [math_less_than v] ([AIVision 1 v] objeto [ángulo v]) [math_less_than v] [330]> entonces
unidad [izquierda v]
demás
deja de conducir
fin
demás
deja de conducir
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.
([AIVision 1 v] objeto [origenX v])
Ejemplo
cuando empezó
[Display if an object 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
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [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.
([AIVision 1 v] objeto [origenY v])
Ejemplo
cuando empezó
[Display if an object 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
[AI Classifications v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [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
ID de etiqueta#
La propiedad tagID informa el número de identificación del ID de AprilTag detectado como un número entero.
([AIVision 1 v] objeto [ID de etiqueta v])
Ejemplo
cuando empezó
[Drive forward when AprilTag ID 0 is detected.]
para siempre
[AprilTag IDs v]una instantánea de [AIVision 1 v]
si <¿Existe [AIVision 1 v] objeto?> entonces
si <([AIVision 1 v] objeto [ID de etiqueta v]) [math_equal v] [0]> entonces
unidad [adelante v]
demás
deja de conducir
fin
esperar [0.5] segundos
puntaje#
La propiedad puntuación indica el grado de confianza del modelo en la clasificación de IA detectada, expresado como un porcentaje del 70 % al 100 %.
Una puntuación más baja significa que el sensor tiene menos confianza en el objeto detectado, mientras que una puntuación más alta significa que el sensor tiene más confianza.
([AIVision 1 v] objeto [score v])