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.
Visor de AI Vision – Habilita o deshabilita la transmisión en vivo de AI Vision en la pantalla del robot.
obtener datos de objeto – Captura datos para un tipo de objeto específico, como colores, objetos entrenados previamente o AprilTags.
Configuración: ajusta a qué objetos detectados se accede.
Establecer elemento de objeto de AI Vision – 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? – Devuelve si se detectó un objeto.
¿Cuál es el objeto de AI Vision? – Comprueba si un objeto detectado coincide con una clasificación específica.
¿El objeto de AI Vision es el ID de AprilTag? – Comprueba si un AprilTag detectado coincide con un ID específico.
Recuento de objetos de AI Vision – Devuelve la cantidad de objetos detectados.
Propiedad del objeto AI Vision – Devuelve detalles como:
centerX & centerY – Coordenadas de la posición central en la vista del sensor.
originX y originY – Coordenadas de la posición de la esquina superior izquierda en la vista del sensor.
rotación – Orientación del objeto.
rodamiento – Ángulo horizontal relativo al frente del robot.
tagID – Número de identificación de un AprilTag.
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.
Visor AI Vision [espectáculo v] en pantalla
Parámetros |
Descripción |
---|---|
estado |
Controla la visualización de la fuente de datos en la pantalla del robot:
|
Ejemplo
cuando empezó :: hat events
[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#
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 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.
obtener [pelota deportiva v] datos 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 empezó :: hat events
[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#
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 Obtener datos del objeto para procesar y detectar objetos de color en tiempo real.
Ejemplo
cuando empezó :: hat events
[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#
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.
Ejemplo
cuando empezó :: hat events
[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.
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
cuando empezó :: hat events
[Display the largest detected AprilTag ID.]
para siempre
obtener [all AprilTags 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 [ID de etiqueta v]) en la 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.
Verdadero – El robot tiene el objeto.
Falso – El robot no tiene el objeto.
<tiene [pelota deportiva v]?>
Parámetro |
Descripción |
---|---|
objeto |
El objeto a detectar contra el pateador del robot:
|
Ejemplo
cuando empezó :: hat events
[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?#
El bloque ¿Existe el objeto AI Vision? devuelve un valor booleano que indica si se detecta 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 el objeto AI Vision?>
Parámetros |
Descripción |
---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó :: hat events
[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.
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.
<¿El objeto AI Vision es [pelota deportiva v]?>
Parámetro |
Descripción |
---|---|
objeto |
¿Con qué objeto comparar el artículo?
|
Ejemplo
cuando empezó :: hat events
[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?#
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.
Verdadero: el ID de AprilTag es el número.
Falso: el ID de AprilTag no es el número.
<¿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 empezó :: hat events
[Report if AprilTag ID 3 is detected.]
para siempre
pantalla clara
Coloque el cursor en la fila [1] columna [1] en la pantalla
obtener [all AprilTags v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <¿El objeto AI Vision es AprilTag [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 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 empezó :: hat events
[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.
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.
Parámetro |
Descripción |
---|---|
propiedad |
¿Qué propiedad del objeto detectado utilizar? |
ancho#
width devuelve el ancho del objeto detectado en píxeles como un entero de 1 a 320.
Objeto de visión de IA [amplitud v]
Ejemplo
cuando empezó :: hat events
[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#
altura devuelve la altura del objeto detectado en píxeles como un entero de 1 a 240.
Objeto de visión de IA [altura v]
Ejemplo
cuando empezó :: hat events
[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 devuelve la coordenada x del centro del objeto detectado en píxeles como un entero de 0 a 320.
Objeto de visión de IA [centroX v]
Ejemplo
cuando empezó :: hat events
[Turn slowly until a blue barrel is centered in front of the robot.]
establecer la velocidad de giro a [30] %2
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 devuelve la coordenada y del centro del objeto detectado en píxeles como un entero de 0 a 240.
Objeto de visión de IA [centroY v]
Ejemplo
cuando empezó :: hat events
[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 devuelve 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.
Objeto de visión de IA [origenX v]
Ejemplo
cuando empezó :: hat events
[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 devuelve 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.
Objeto de visión de IA [origenY v]
Ejemplo
cuando empezó :: hat events
[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#
La rotación devuelve la orientación del AprilTag o código de color detectado como un entero en grados de 0 a 359.
Objeto de visión de IA [rotación v]
Ejemplo
cuando empezó :: hat events
[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#
El rumbo indica la distancia a la izquierda o a la derecha de un objeto respecto al centro de la vista del sensor de visión de IA, expresada en grados. Un valor de 0 significa que está centrado, los valores positivos indican que el objeto está a la derecha y los negativos, a la izquierda.
cuando empezó :: hat events
[Keep the blue barrel directly in front of the robot.]
establecer la velocidad de giro a [40] %2
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 devuelve el número de identificación del AprilTag detectado como un entero.
Objeto de visión de IA [ID de etiqueta v]
Ejemplo
cuando empezó :: hat events
[Move forward when AprilTag ID 0 is detected.]
para siempre
obtener [all AprilTags v] datos de AI Vision
si <¿Existe el objeto AI Vision?> entonces
si <(Objeto de visión de IA [ID de etiqueta v]) [math_equal v] [0]> entonces
movimiento [adelante v]
fin
detener todo movimiento