Múltiples Vistas en Una Sola Receta
Esta guía le muestra cómo configurar una sola receta que pueda inspeccionar diferentes piezas, ángulos o vistas sin cambiar a otras recetas. Existen varias razones para hacerlo, pero hay dos casos de uso principales:
- cuando no hay suficiente tiempo entre capturas para cambiar la receta,
- cuando se realiza la misma inspección en varias piezas o ángulos de una pieza (p. ej., presencia/ausencia de studs en cinco posiciones diferentes en la carrocería de un automóvil). 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 brocas en dos lados de un estuche de brocas. Un lado tiene cinco brocas en la parte inferior, y el otro lado tiene ocho brocas tanto en la parte superior como en la inferior. Llamaremos al lado con 16 brocas, lado A, y al de cinco brocas, lado B.
![]() | ![]() |
---|---|
Lado A (16 brocas) | Lado B (5 brocas) |
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 tener que entrenar el mismo modelo de presencia/ausencia dos veces.
-
Cree una nueva receta. En este caso, es una receta de clasificación, pero este mismo principio puede usarse con segmentación.
-
Configure la Imagen de Plantilla y la Alineación para la primera vista:
El Aligner no está disponible al inspeccionar más de una vista en la misma receta. La Imagen de Plantilla y la Alineación se utilizan únicamente para establecer la imagen base para la Configuración de Inspección.
- Dibuje ROIs para el lado A. Nómbralos de forma que ayuden a identificar a qué lado pertenecen. En este caso, nombramos las ROIs A1-A16.
- Regrese a la Imagen de Plantilla y Alineación para reemplazar la imagen con el lado B, ya sea a partir de una nueva captura o desde la biblioteca.
- Use los iconos de bloqueo junto a cada ROI para evitar mover cualquier ROI del lado A, luego dibuje y nombre las ROIs para el lado B.
Para recetas más complejas, repita este proceso para tantas vistas diferentes como desee inspeccionar.
- Etiquete y entrene el modelo de clasificación utilizando imágenes de ambos lados A y B. Al capturar y etiquetar el lado A, no etiquete las ROIs del lado B y viceversa.
![]() | ![]() |
---|---|
Etiquetado lado A (Pass) | Etiquetado lado A (Fail) |
![]() | ![]() |
Etiquetado lado B (Pass) | Etiquetado lado B (Fail) |
Configurar la Lógica de Node-RED
-
Navegue hasta el IO Block (Configure IO desde el Recipe Editor) para abrir su flujo de Node-RED.
-
Cree una fuente para indicar al OV20i qué lado se está inspeccionando actualmente.
Esto puede ser datos de posición del robot, información del PLC, o cualquier otra cosa que desee usar. En el ejemplo a continuación, simularemos esto usando dos nodos Inject, uno que envía la cadena "A" y otro que envía la cadena "B".
- Dado que los datos del lado que están llegando pueden ser momentáneos, pero queremos verificar qué lado está activo, almacenaremos los datos de estado usando una variable de Flow, la cual permanecerá hasta que se reciba la siguiente información del 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;
- Puede probar para ver si sus datos del lado se están almacenando correctamente abriendo la barra lateral de datos de context, enviando un mensaje y luego pulsando actualizar en el panel de la variable de Flow. El panel de datos de flujo solo se actualizará cuando se actualice manualmente usando el pequeño botón actualizar.
- Una vez que los datos del lado estén correctamente almacenados en la variable de Flow, agregue un nodo switch conectado a All Block Outputs. Este será el bloque que enrutará el mensaje con los datos de inspección según qué lado esté activo en la variable de Flow. Configúrelo para observar la variable de Flow y enrutar el mensaje al puerto 1 si A está activo y al 2 si B está activo.
Para recetas más complejas, repita este proceso para tantas vistas diferentes como desee inspeccionar.
- Conecte cada puerto de salida del switch a un Classification Block Logic block, y configúrelo 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 B del switch. Observa 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.
- Finalmente, conecte los bloques de lógica al bloque de Pass/Fail de Inspección. Esto permite que los resultados se muestren en la HMI, así como se transmitan a cualquier PLC conectado u otro componente de flujo.
Probar la Receta
Ahora que el flujo de Node-RED está configurado, es hora de probar la receta de principio a fin.
- Primero, enviaremos el comando del lado A utilizando nuestro nodo de inyección de Node-RED. Luego utilizaremos 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 pasó.
- Ahora, cuando retiramos una broca del lado A y volvemos a inspeccionar, obtenemos el resultado de fallo deseado.
- Pasando al lado B, enviamos la señal B usando nuestro nodo de inyección de Node-RED y actualizamos la sección de variable de Flow en el panel de datos de contexto para asegurar que esté almacenada.
- 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 fallan.
¡Felicidades! Ahora sabe cómo usar una sola receta y un modelo a través de múltiples vistas de una pieza. Esto permitirá inspecciones complejas a altas velocidades y una integración estrecha con robots. También le ahorrará un tiempo significativo que de otro modo se gastaría entrenando múltiples modelos que realizan la misma inspección, solo en diferentes vistas