Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Múltiples vistas en una única receta

OV10i Nota

El OV10i admite solo modelos de clasificación. Las características de segmentación mencionadas en esta página están disponibles en las cámaras OV20i y OV80i.

Esta guía le muestra cómo configurar una sola receta que pueda inspeccionar diferentes piezas, ángulos o vistas sin cambiar a otras recetas. Hay varias razones para hacer esto, pero dos casos de uso principales son:

  • cuando no hay suficiente tiempo entre capturas para cambiar la receta,
  • cuando se realiza la misma inspección sobre múltiples piezas o ángulos de una pieza (p. ej., presencia/ausencia de studs en cinco posiciones diferentes en la carrocería de un coche). En este caso, este método evita tener que entrenar el mismo modelo (presencia/ausencia de studs) varias veces en diferentes recetas.

El siguiente ejemplo es una versión simple con dos vistas y un tipo de inspección, pero puedes usar la misma técnica para un número ilimitado de tipos de inspección y vistas. En esta inspección, buscaremos la presencia/ausencia de bits en dos lados de un estuche de brocas. Un lado tiene cinco bits en la parte inferior y el otro lado tiene ocho bits tanto en la parte superior como en la inferior. Llamaremos al lado con 16 bits, lado A, y al lado con cinco bits, lado B.

Lado ALado B
Lado A (16 bits)Lado B (5 bits)

Crear y entrenar una nueva receta

En lugar de una receta por lado, debido a los diferentes diseños, combinaremos ambos lados en una sola receta para no necesitar entrenar dos veces el mismo modelo de presencia/ausencia.

  1. Crear una nueva receta. En este caso, se trata de una receta de clasificación, pero este mismo principio puede aplicarse con la segmentación.

  2. Configurar la Imagen de Plantilla y la Alineación para la primera vista:

El Alineador no está disponible cuando se inspeccionan más de una vista en la misma receta. La Imagen de Plantilla y el Alineador se utilizan únicamente para establecer la imagen base para la Configuración de Inspección.

Imagen de plantilla y alineación - Lado A

  1. Dibujar ROI para el lado A. Nómbralas de forma que ayuden a identificar a qué lado pertenecen. En este caso, llamamos a los ROI A1-A16.

ROI - Lado A

  1. Regresar a la Imagen de Plantilla y Alineación para reemplazar la imagen con el lado B, ya sea desde una nueva captura o desde la biblioteca.

Imagen de plantilla y alineación - Lado B

  1. Use los íconos de bloqueo junto a cada ROI para evitar mover cualquier ROI del lado A; luego dibuje y nombre los ROI para el lado B.

ROI - Lado B

Para recetas más complejas, repita este proceso para tantas vistas diferentes como desee inspeccionar.

  1. Etiquetar y entrenar el modelo de clasificación usando imágenes de ambos lados A y B. Al capturar y etiquetar el lado A, no etiquetemos los ROI del lado B y viceversa.
Etiquetas de aprobación - Lado AEtiquetas de rechazo - Lado A
Etiquetado Lado A (Aprobado)Etiquetado Lado A (Rechazado)
Etiquetas de aprobación - Lado BEtiquetas de rechazo - Lado B
Etiquetado Lado B (Aprobado)Etiquetado Lado B (Rechazado)

Configurar la lógica de Node-RED

  1. Navegue al Bloque IO (Configurar IO desde el Editor de Recetas) para abrir su flujo de Node-RED.

  2. Crear una fuente para indicar al OV10i qué lado está siendo inspeccionado actualmente.

Esto puede ser datos de posición del robot, información del PLC, o cualquier otra cosa que desee utilizar. En el ejemplo a continuación, lo simularemos usando dos nodos Inject, uno que envía la cadena "A" y otro que envía la cadena "B".

  1. Dado que los datos del lado que llegan pueden ser momentáneos, pero queremos verificar cuál lado está activo, almacenaremos los datos de estado utilizando una variable de Flow, la cual persistirá hasta que se reciba la siguiente información de lado. Conecte su fuente de datos a un bloque de función que contenga el siguiente código:
flow.set('side',msg.payload);
return msg;

Editar nodo de función

  1. Puede probar para ver si los datos del lado se están almacenando correctamente abriendo la barra lateral de datos de contexto, enviando un mensaje y luego haciendo clic en actualizar en el panel de la variable de Flow. El panel de datos de Flow solo se actualizará cuando se actualice manualmente utilizando el pequeño botón actualizar.

Menú de contexto

  1. Una vez que los datos del lado estén correctamente almacenados en la variable de Flow, agregue un nodo Switch conectado a Todas las salidas del bloque. Este será el bloque que enruta el mensaje con los datos de inspección según qué lado esté activo en la variable de Flow. Configúrelo para mirar la variable de Flow y enrutar el mensaje al puerto 1 si A está activo y 2 si B está activo.

Editar nodo Switch

Para recetas más complejas, repita este proceso para tantas vistas diferentes como desee inspeccionar.

  1. Conecte cada puerto de salida del Switch a un bloque Lógica de clasificación y configure cada uno según las reglas que desee inspeccionar para ese lado. El nodo Switch solo enviará un mensaje a uno de los nodos a la vez. La imagen a continuación muestra la configuración para el puerto del lado B del switch. Observe que no hace referencia a ninguna ROI del Lado A, por lo que la lógica ignorará los resultados de ese lado cuando la inspección se enruta a través de este nodo.

Editar nodo Lógica de Clasificación

  1. Por último, conecte los bloques de lógica al bloque de Aprobado/Fallo de Inspección. Esto permite que los resultados aparezcan en la HMI, así como ser enviados a cualquier PLC conectado u otro componente de flujo.

Flujo de Node-RED

Probar la receta

Ahora que el flujo de Node-RED está configurado, es hora de probar la receta de principio a fin.

  1. Primero, enviaremos el comando del Lado A usando nuestro nodo de inyección de Node-RED. Luego usaremos la HMI para inspeccionar una pieza buena. Observe cómo, a pesar de que una de las regiones del Lado B falla, toda la inspección pasa.

HMI Lado A, Aprobado

  1. Ahora, al quitar una broca del Lado A y volver a inspeccionar, obtenemos el resultado de fallo que queremos.

HMI Lado A, Rechazado

  1. Pasando al Lado B, enviamos la señal B usando nuestro nodo Inject de Node-RED y actualizamos la sección de variables de Flow en el panel de datos de contexto para asegurarnos de que se almacene.

Flujo de Node-RED B

  1. Ahora, al cambiar al Lado B de una pieza buena, vemos que la inspección pasa a pesar de que todas las regiones del Lado A fallaron.

HMI Lado B, Aprobado

¡Felicidades! Ahora sabe cómo usar una receta y un modelo en varias vistas de una pieza. Esto permitirá inspecciones complejas a alta velocidad e integración estrecha con robots. También le ahorrará un tiempo significativo que se gastaría entrenando múltiples modelos que realizan la misma inspección, solo en diferentes vistas