Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Medición (Inspección Dimensional)

El bloque de Medición convierte el OV80i de un detector de defectos en una estación de inspección dimensional. En lugar de preguntar "¿esta pieza es buena o mala?", pregunta "¿cuál es el diámetro, la separación o el ángulo de esta pieza, en milímetros?" — y le proporciona un número con el cual puede aprobar/rechazar contra una tolerancia.

Debe usar una lente telecéntrica

No ejecute una receta de Medición con una lente estándar (entocéntrica) de montura C. Las lentes estándar introducen distorsión de perspectiva y cambios de magnificación con la distancia de trabajo — una pieza que se encuentra 1 mm más cerca de la cámara se mide notablemente más grande, y las características cerca de los bordes del cuadro se miden de manera diferente a las características en el centro. Los números que obtendrá serán incorrectos por cantidades mayores que las tolerancias típicas, y no hay un paso de calibración que corrija esto.

Una lente telecéntrica mantiene la magnificación constante en todo el campo de visión y en pequeñas variaciones de la distancia de trabajo. Es la única pieza de hardware que hace que la inspección dimensional sea realmente precisa.

Si su instalación no cuenta con una lente telecéntrica, deténgase aquí — cambie a Clasificación o Segmentación para un estilo de inspección aprobado/rechazado, o comuníquese con support@overview.ai para especificar la óptica correcta antes de continuar.

Internamente, un modelo de deep learning encuentra características primitivas en la imagen (bordes, círculos, segmentos de línea, arcos) y luego calcula mediciones entre o sobre esas primitivas (radio de un orificio, distancia entre dos bordes, ángulo entre dos líneas). Debido a que la cámara está calibrada en px/mm, cada resultado se entrega en unidades del mundo real.

La receta de Medición en la lista de Todas las Recetas

Objetivos de aprendizaje

Al final de esta página podrá:

  • Decidir cuándo Medición es el bloque correcto (vs Clasificación o Segmentación)
  • Calibrar la cámara para que un píxel se asigne a un valor conocido en milímetros
  • Dibujar primitivas (círculos, líneas, puntos, arcos) sobre la pieza y convertirlas en mediciones (radio, distancia, ángulo)
  • Capturar y etiquetar imágenes de entrenamiento para que el modelo de Medición aprenda a encontrar primitivas de manera confiable
  • Entrenar, probar e implementar un modelo de Medición
  • Conectar resultados con lógica de aprobado/rechazado y leerlos en el panel de operador en pantalla de la cámara (la HMI, abreviatura de Human-Machine Interface)

Cuándo usar Medición

Caso de usoBloque correcto
¿El diámetro del orificio está dentro de 9.0 ± 0.1 mm?Medición
¿La separación entre dos piezas es menor a 0.5 mm?Medición
¿En qué ángulo está doblada esta ménsula?Medición
¿La etiqueta está presente o ausente?Clasificación
¿Hay un rayón en la superficie?Segmentación
¿Qué dice el texto en la pieza?OCR

Medición es la herramienta correcta siempre que un sistema posterior necesite un número en unidades físicas en lugar de una etiqueta de clase. Si su hoja de especificaciones tiene una tolerancia escrita, lo que necesita es Medición.

Medición vs Segmentación para verificaciones de tamaño

La segmentación puede darle el área de una característica en píxeles, pero no se ajusta a los bordes con precisión subpíxel y no proporciona primitivas geométricas. Si solo necesita "¿la mancha es más grande que X cm²?", la segmentación puede ser suficiente. Si necesita "el radio de este orificio es 4.31 mm", use Medición.

Cómo funciona la Medición

El pipeline de Medición consta de cuatro etapas, en orden:

  1. Capturar y alinear. La cámara se activa, captura un cuadro y ejecuta el alineador para fijar la pieza a la orientación de la plantilla. Cada medición se calcula en el cuadro alineado, por lo que una pieza rotada 10° aún mide lo mismo.
  2. Detectar primitivas. El modelo de Medición entrenado examina dentro de cada ROI (Region of Interest — el rectángulo que dibuja en la imagen para indicarle a la cámara "mire aquí") y genera primitivas geométricas: un segmento de borde, un arco/círculo, o una línea. Cada receta tiene una ROI Principal más ROIs Secundarias opcionales para acercarse a características específicas.
  3. Calcular mediciones. Cada medición que defina (por ejemplo, "Radio del Círculo 1", "Distancia de la Línea A a la Línea B") se evalúa contra las primitivas detectadas. Los resultados se reportan en milímetros (o la unidad que elija) gracias a la calibración de píxeles a mm.
  4. Aprobado/rechazado y salida. Los valores se envían al bloque de lógica de IO, donde una función de Node-RED decide PASS o FAIL en función de sus tolerancias, y el resultado se envía al HMI, al PLC (el controlador de planta), a MQTT y a cualquier otro sistema conectado.
La cascada: cada etapa depende de la anterior

Si su imagen es inestable, la alineación se desvía. Si la alineación se desvía, el modelo ve la primitiva en un lugar diferente cada vez. Si la detección de primitivas es inestable, las mediciones son ruidosas. Corrija los problemas en la etapa más temprana en la que aparezcan. Reajustar los umbrales de aprobado/rechazado no corregirá una mala alineación, y reentrenar el modelo no corregirá una mala adquisición de imagen.

Paso 1: Crear una receta de Medición

  1. Abra la interfaz web del OV80i en un navegador (http://<camera-ip>). La barra lateral izquierda muestra All Recipes, Recipe Editor, HMI, etc.
  2. Haga clic en All Recipes en la barra lateral izquierda.
  3. Haga clic en + New en la esquina superior derecha. Se abre una ventana modal titulada Add A New Recipe.
  4. Ingrese un Name (por ejemplo, Hole_Diameter_Check) y una descripción opcional, luego haga clic en OK.
  5. La nueva receta aparece en la lista. Haga clic en Activar en su fila, luego elija Activate and go to editor en el cuadro de diálogo de confirmación.
  6. Se abre el editor de recetas. En la barra superior, junto al nombre de la receta, encuentre el combobox de tipo de receta (por defecto es Classification). Haga clic en él y seleccione Measurement. La fila de Bloques AI en el editor ahora resalta el bloque Measurement listo para configurarse.

El editor de recetas para una receta de Medición — configuración de imagen, alineación, inspección y los cuatro Bloques AI

Un modelo de Medición por receta

Cada receta contiene exactamente un modelo de Medición, pero ese modelo puede llevar muchas primitivas y muchas mediciones a través de múltiples ROIs Secundarias. No cree una receta separada por dimensión — agrupe todas las dimensiones de una pieza en un modelo de Medición para que compartan la misma adquisición de imagen y alineación.

Paso 2: Configuración de imagen

Haga clic en Configure Imaging en el editor para abrir la configuración de imagen. Este es el mismo panel de imagen utilizado por todas las recetas — consulte Fundamentos de la Configuración de Imagen — con una responsabilidad adicional para Medición: la pieza debe estar en enfoque nítido, sin desenfoque por movimiento, en cada ciclo. La precisión de borde a nivel subpíxel depende de ello.

Configuración de imagen a 3840x2160, Exposición 55.7 ms, Ganancia 1, Gamma 50

Configuraciones que más importan para Medición:

  • Exposición. Configure la pieza bien expuesta pero sin sobreexponerse. Las altas luces saturadas destruyen el detalle de los bordes.
  • Ganancia. Mantenga la ganancia en 1 si es posible. Una ganancia más alta agrega ruido, y el ruido desplaza los bordes medio píxel a la vez.
  • Gamma. El valor predeterminado de 50 es adecuado para la mayoría de las piezas. Auméntelo si los bordes oscuros son difíciles de ver.
  • Rotación de imagen. Deje en "No Rotation" a menos que su fijación obligue a un montaje lateral de la cámara.
  • Configuración del disparador. El disparador manual del HMI es adecuado para la configuración. Cambie a un sensor digital o disparador del PLC para producción.
El desenfoque por movimiento destruye silenciosamente las mediciones

Exposición larga + banda transportadora en movimiento = bordes desenfocados. Un desenfoque de 2 píxeles en una calibración de 17 px/mm es un error de ±0.06 mm antes de siquiera comenzar. Ya sea congele la pieza con un estroboscopio o reduzca la exposición lo suficiente para que el movimiento en un cuadro sea menor a 1 píxel.

Haga clic en Save Imaging Settings cuando termine.

Paso 3: Calibrar píxeles a milímetros

Este es el paso que distingue a Medición de cualquier otro bloque. Sin calibración, la cámara solo conoce píxeles — y un píxel tiene un tamaño diferente en cada instalación. La calibración le enseña a la cámara "esta cantidad de píxeles en el sensor equivale a esta cantidad de milímetros en el mundo real."

  1. En configuración de imagen, haga clic en Calibración de Imagen de Referencia (parte inferior del panel derecho).
  2. Capture o cargue una imagen de referencia que contenga una dimensión conocida — típicamente un objetivo de calibración, una característica mecanizada con precisión en el fixture, o una pieza buena conocida donde haya medido una dimensión con calibradores.
  3. Abra la sección Calibración de Medición. Confirme la unidad (predeterminada mm).
  4. Haga clic en Medir en Imagen. Haga clic en dos puntos de la imagen que abarquen una distancia conocida (por ejemplo, la distancia de centro a centro entre dos pines, o el diámetro de un pin calibrador).
  5. La cámara reporta la distancia en píxeles medida (por ejemplo, "Medido: 159 px"). Escriba el valor del mundo real en milímetros (por ejemplo, 9.0) y haga clic en Finalizar.
  6. El valor de px/mm se completa automáticamente — para esta receta en las capturas de pantalla a continuación, la calibración resultó en 17.621 px/mm, lo que significa que un milímetro de la pieza ocupa ~17.6 píxeles del sensor.

Calibración de Imagen de Referencia en vista lado a lado, calibración establecida en 17.621 px/mm

Dibujando la línea de calibración: 159 px medidos para un valor ingresado de 9.0 mm

Recalibre después de cualquier cambio óptico

El número px/mm está vinculado al lente, la distancia de trabajo y el sensor. Si cambia el lente, reenfoca, mueve la cámara o intercambia fixtures, recalibre. Una calibración que está 1% desviada se convierte en una medición que está 1% desviada — en una dimensión de 10 mm, eso es 0.1 mm de error sistemático puro, frecuentemente más que su tolerancia.

Use la dimensión más larga posible

Calibrar con una característica de 2 mm multiplica cualquier error de apuntado por 5x en comparación con calibrar con una característica de 10 mm. Siempre calibre contra la dimensión conocida más larga que quepa limpiamente en el cuadro.

Paso 4: Imagen de Plantilla y Alineación

La medición requiere alineación. El modelo se entrena contra primitivas en posiciones fijas en la pieza; si la pieza se desplaza o rota, el alineador tiene que compensar para que el modelo aún vea las primitivas en las mismas coordenadas de la imagen.

  1. Desde el editor de recetas, haga clic en Imagen de Plantilla y Alineación bajo "Alineación de Imagen y Configuración de Inspección".
  2. Capture una imagen de referencia limpia con la pieza bien posicionada, luego dibuje el Área de Búsqueda (cuadro cian) alrededor del área de la imagen donde puede aparecer la pieza, y la región de plantilla (cuadro amarillo) ajustada estrechamente alrededor de la pieza misma.
  3. Elija un Tipo de Alineador: Classical para piezas ricas en bordes, Deep Learning para piezas texturizadas — vea AI Aligner (Deep Learning) para la matriz de decisión.
  4. Ajuste rango de rotación, Sensibilidad y (para Classical) las regiones a ignorar hasta que la alineación sea estable a través de las capturas.

Pantalla de Imagen de Plantilla y Alineación mostrando Tipo de Alineador (Classical/Deep Learning), Modo de Rendimiento, Áreas de Búsqueda, Regiones de Plantilla, Rango de Rotación y Sensibilidad

Desactive Scale Invariant para recetas de Medición

La opción "Scale Invariant" del AI Aligner permite que el emparejador tolere piezas que están ligeramente más cerca o más lejos de la cámara. No la habilite en una receta de Medición. La invariante de escala reescala silenciosamente el cuadro para que coincida con la plantilla, lo que significa que una pieza que está 1% más lejos de la cámara mide lo mismo que una pieza a la distancia correcta — y su calibración px/mm de repente está incorrecta. Mantenga Scale Invariant desactivado y controle la distancia de trabajo con fixturing mecánico en su lugar.

No omita el alineador

El interruptor "Omitir Alineador" está bien para recetas de Segmentación o Clasificación que examinan toda la imagen, pero una receta de Medición sin alineador producirá resultados sin sentido en el momento en que una pieza se desplace un milímetro. Siempre configure la alineación para Medición.

Paso 5: Configuración de Inspección — ROI Principal y ROIs Secundarios

La pantalla de Configuración de Inspección define dónde en la imagen alineada debe buscar el modelo de Medición. Existe un ROI Principal (cubre toda la región de interés) y, opcionalmente, uno o más ROIs Secundarios (acercan a características específicas).

Pantalla de Configuración de Inspección que muestra el ROI Principal y los ROIs Secundarios, además del menú Agregar (Clasificación / Segmentación / Medición / OCR)

  1. El cuadro del ROI Principal ya existe cuando se agrega el bloque de Medición — arrastre sus esquinas hasta que cubra el área que desea medir. La mayoría de las recetas utilizan un solo ROI Principal que cubre toda la pieza.
  2. Para inspeccionar múltiples características discretas (dos agujeros en lados opuestos de un soporte, por ejemplo), haga clic en Agregar ROI Secundario para cada una y colóquelo ajustadamente alrededor de la característica.
  3. Cada ROI obtiene su propia copia de las predicciones primitivas del modelo. Un ROI Principal con cinco ROIs Secundarios significa que el modelo se ejecuta seis veces por captura.
Una característica por ROI Secundario = etiquetas más simples y modelo más rápido

Un ROI Secundario ajustado alrededor de un solo agujero le da al modelo una vista limpia de una característica, hace que el etiquetado sea inequívoco y mantiene la inferencia rápida. Un ROI Principal gigante que cubre diez agujeros significa que el etiquetador tiene que desambiguar diez primitivas en cada imagen, y el modelo tiene más ruido visual que ignorar.

Barra de herramientas de Región de Inspección

La barra sobre el lienzo tiene entradas H / W / X / Y / ∠ para la colocación precisa del ROI, botones de Alinear y Distribuir para disponer los ROIs uniformemente, y un interruptor de Bounding Boxes + Etiquetas de ROI para limpiar la superposición mientras trabaja. Haga clic derecho en cualquier ROI para ver un menú contextual (copiar, pegar, bloquear, eliminar).

Paso 6: Definir primitivas

Abra el Editor de Primitivas haciendo clic en Editar ROI Principal (o Editar en cualquier ROI Secundario). Aquí es donde dibuja las formas geométricas que el modelo aprenderá a encontrar. Cada ROI comienza con cuatro primitivas de Sistema bloqueadas — borde Superior / Inferior / Izquierdo / Derecho del propio ROI — que puede usar como geometría de referencia para mediciones de distancia sin dibujar nada nuevo.

El Editor de Primitivas mostrando una primitiva de Círculo ajustada a un agujero, con la superposición de la lupa a 4x de zoom y una medición de Radio de 4.306 en el Panel de Datos

Tipos de primitivas disponibles (barra de herramientas izquierda):

Icono de herramientaTipo de primitivaQué capturaDónde aparece
LíneaSegmentoUn borde rectoBordes de piezas, ranuras, referencias
Arco / RadioCírculoUn radio + centroAgujeros, pines, filetes, características curvas

Pase el cursor sobre cualquier icono de herramienta para ver su nombre; la barra de estado en la parte inferior del editor muestra la herramienta activa — por ejemplo "Herramienta: Arco — Haga clic para colocar el primer punto".

Para dibujar una primitiva:

  1. Haga clic en el icono de la herramienta en la barra de herramientas izquierda (por ejemplo, Línea o la herramienta de radio/arco). La barra de estado muestra el nombre de la herramienta activa.
  2. Haga clic en la imagen en los puntos que la herramienta necesita. Para un círculo/arco, haga clic en tres puntos alrededor del borde de la característica. Para una línea, haga clic en dos puntos finales.
  3. La primitiva aparece en el Panel de Datos a la derecha, bajo la sección Primitivas.
  4. Renómbrela a algo significativo (Hole_A, Top_Edge_of_Slot) haciendo clic en el icono del lápiz junto a su nombre. Los buenos nombres hacen que las mediciones sean legibles más adelante.

La fila de interruptores sobre el lienzo (Líneas de Construcción, Primitivas, Mediciones, Etiquetas, Cuadrícula de Píxeles) controla lo que se dibuja sobre la imagen — desactívelos para despejar mientras dibuja, vuelva a activarlos para verificar.

Use la lupa

Pase el cursor sobre el lienzo mientras dibuja y aparecerá una lupa de 4x en la esquina. La colocación de bordes a nivel subpíxel importa: una primitiva colocada un píxel desplazado, multiplicado a lo largo de 1000 ciclos, es lo que separa una medición utilizable de una ruidosa.

Círculos de tres puntos, no cuadros delimitadores

La herramienta de arco ajusta un círculo a través de tres puntos en el borde de la característica. Coloque esos tres puntos bien separados alrededor del borde, no agrupados en la parte superior. Un trío agrupado da un ajuste tembloroso que el modelo heredará.

Paso 7: Definir mediciones

Las primitivas son la geometría sin procesar; las mediciones son los números que realmente le importan. Cada medición referencia una o dos primitivas y calcula un valor a partir de ellas.

Tipos de medición disponibles:

MediciónEntradasSalida
RadioUn círculo/arcoRadio del círculo en mm
DistanciaDos primitivas (punto a punto, punto a línea, línea a línea)Distancia más corta en mm
LongitudUn segmento de líneaLongitud del segmento en mm
ÁnguloDos líneasÁngulo entre ellas en grados
Posición X / YUn puntoCoordenada del punto en el marco alineado

Para definir una medición:

  1. En el Panel de Datos del lado derecho del Editor de Primitivas, expanda la sección Mediciones.
  2. Haga clic en el botón + / Agregar medición en la parte superior de la sección Mediciones. Se abrirá un pequeño formulario.
  3. Elija el tipo de medición (Radio / Distancia / Ángulo / Longitud / etc.) desde el menú desplegable.
  4. Seleccione la(s) primitiva(s) que debe referenciar. Una medición de Radio toma un círculo; una Distancia toma dos primitivas.
  5. Nombre la medición de forma descriptiva (Hole_A_Diameter, Slot_Gap). Este nombre aparece en la HMI y es la clave que su Función de Node-RED utiliza para leer el valor, así que manténgalo estable.
  6. Haga clic fuera del formulario o presione Enter para guardar. La nueva medición aparece en la tabla de Mediciones con su valor en vivo calculado a partir de la imagen de plantilla.

Puede combinar: una sola ROI puede contener cinco primitivas y diez mediciones derivadas de ellas. La captura de pantalla anterior muestra una primitiva Circle 1 con una medición Radius Circle 1 que reporta 4.306 mm.

Los bordes del sistema son primitivas reales

Las primitivas bloqueadas de Borde Superior / Inferior / Izquierdo / Derecho que vienen con cada ROI son entradas de medición válidas. Si necesita la "distancia desde la parte inferior de la ranura hasta la parte inferior de la ROI", no necesita dibujar una nueva línea — haga referencia directamente al Borde Inferior del sistema.

Paso 8: Etiquetar imágenes de entrenamiento

Dibujar primitivas en la plantilla le da al modelo un ejemplo. La producción necesita al menos 10–20 ejemplos para que el modelo aprenda a encontrar las primitivas bajo variaciones del mundo real (variación de iluminación, rayones en la superficie, lotes de color).

  1. En el editor de recetas, haga clic en Measurement Block desde la navegación superior, o Medición bajo AI Blocks.
  2. Haga clic en Captura para tomar un nuevo cuadro, o Importar Captura para traer uno desde la Biblioteca.
  3. Para cada captura, dibuje las mismas primitivas que definió en la plantilla — en las mismas ubicaciones en cada nueva imagen de la pieza.
  4. Haga clic en Guardar Anotaciones cuando cada captura esté etiquetada.
  5. Navegue con Anterior / Siguiente para recorrer cada captura.

La vista de anotación del Bloque de Medición con dos ROIs hijas mostrando primitivas Circle 1 en los orificios, y la navegación de capturas, el selector de modelo de medición, la lupa y el panel Mostrar/Ocultar Primitivas

Variedad de capturas, no solo cantidad

Veinte capturas de la misma pieza en la misma posición le enseñan muy poco al modelo. Diez capturas con un rango de rotaciones de la pieza, ligeros desplazamientos de posición, variaciones de iluminación y condiciones de superficie le enseñan todo lo que necesita. Varíe deliberadamente.

Etiquete la misma primitiva de forma consistente en todas las capturas

Si "Circle 1" es el orificio superior izquierdo en la captura 1, tiene que ser el orificio superior izquierdo en la captura 2. Confundir a qué característica física apunta una primitiva nombrada le enseña contradicciones al modelo, y las contradicciones aparecen como predicciones 10 veces más ruidosas en producción.

Paso 9: Entrenar el modelo

  1. Desde la vista del Measurement Block o el editor de recetas, abra la pestaña Entrenar.
  2. Encuentre la fila de measurement. Confirme el Modo de entrenamiento — para Measurement, Accurate es el predeterminado y recomendado. Existen modos más rápidos para iteración rápida, pero sacrifican precisión.
  3. Haga clic en Entrenar en la fila (o Entrenar todos para entrenar todos los bloques de la receta).
  4. El modal de Entrenamiento del modelo de AI muestra el progreso en vivo: Mean IoU (azul, subiendo), Loss (rojo, bajando) y el contador de iteraciones (p. ej. 200/200).

La página Entrenar mostrando el modelo de measurement en estado Entrenado, con columnas de IoU/Loss, modo Accurate y acciones Entrenar / Cancelar

Entrenamiento completado al 100% con Calidad del modelo (IoU) 76%, Total de imágenes 10, Iteraciones 200/200 y una cuadrícula de miniaturas de recortes de entrenamiento

Qué buscar:

  • IoU sube y Loss baja a medida que aumentan las iteraciones. Si ambos están planos al inicio, se necesitan más imágenes o mejores etiquetas.
  • La cuadrícula de miniaturas a la derecha muestra los recortes de entrenamiento con primitivas predichas dibujadas (True Positive en verde, False Positive en rojo, False Negative en azul). Revísela — si un recorte está en la leyenda roja/azul, examine sus etiquetas.
  • La Calidad del modelo (IoU) se reporta cuando termina el entrenamiento. Para Measurement, cualquier valor por encima del 70% es utilizable; por encima del 85% es excelente.
Itere, no perfeccione

No apunte a un modelo perfecto en el primer intento. Entrene con 10 capturas, ejecute Vista Previa en Vivo con una pieza nueva, vea dónde se desvían las predicciones y luego agregue 5 capturas más dirigidas al modo de falla y vuelva a entrenar. Tres iteraciones cortas superan a una larga.

Una cuadrícula de recortes de entrenamiento mostrando al modelo encontrando primitivas de círculo en muchos agujeros — los contornos verdes indican predicciones correctas

Paso 10: Probar y verificar

  1. De vuelta en la vista del Measurement Block, active el Modo de Vista Previa en Vivo.
  2. Active capturas con el botón Probar (o Captura en el HMI) y observe cómo las primitivas predichas se superponen sobre los cuadros en vivo.
  3. Compare las dimensiones predichas con las mediciones de calibrador en la misma pieza física. Ambas deben coincidir dentro de su presupuesto de tolerancia.
  4. Mueva la pieza (dentro de los límites de alineación) y confirme que el valor de medición se mantenga estable entre capturas.
Valide contra calibradores antes de desplegar

La cámara le indica 4.306 mm. Tome la pieza, mídala con calibradores y vea si también lee 4.3 mm. Si la cámara y los calibradores difieren por más que su tolerancia, el problema casi siempre es de calibración (paso 3) — recalibre contra la dimensión más larga del fixture e intente de nuevo.

Paso 11: Conectar la lógica de aprobado/rechazado

El modelo produce números; el bloque de lógica de IO convierte esos números en un PASS o FAIL.

  1. Desde el editor de recetas, haga clic en Configurar IO (o en la pestaña IO Logic).
  2. Arrastre un nodo All Block Outputs, un nodo Function y un nodo Final Pass/Fail. Conéctelos entre sí.
  3. Haga doble clic en el nodo Function y escriba la verificación de tolerancia. A continuación se muestra la forma de la lógica — los resultados de measurement llegan bajo la porción del Measurement block de msg.payload, indexados por los nombres que estableció en el Primitive Editor. La estructura exacta del payload puede cambiar entre versiones de firmware, por lo que conecte un nodo Debug una vez e inspeccione el msg en vivo para confirmar los nombres de los campos antes de depender de ellos.
// PASS if hole radius is within 4.30 ± 0.10 mm
// Adjust the path below to match the payload from your camera's
// Debug node — the Measurement block emits an array of measurement objects
// each with a name and a numeric value in mm.
const measurements = msg.payload.measurement?.measurements ?? [];
const radius = measurements.find(m => m.name === 'Radius Circle 1');

if (!radius) {
msg.payload = false; // no result = fail
return msg;
}

const value = radius.value; // value in mm
const target = 4.30;
const tolerance = 0.10;

msg.payload = Math.abs(value - target) <= tolerance;
return msg;
  1. Haga clic en Desplegar para poner el flujo en producción.
Use los nombres que estableció en el paso 7

El nodo Function busca las mediciones por los nombres que asignó en el Primitive Editor. Si renombra una medición, el flujo se rompe hasta que actualice el nodo. Mantenga los nombres estables una vez que la producción esté en marcha.

Aprobado/rechazado de múltiples mediciones

Para piezas con varias dimensiones a verificar, construya un Array.every(...) sobre una lista de objetos {name, target, tolerance}. Un solo nodo Function puede validar todas las dimensiones de la pieza, y una sola falla cortocircuita toda la inspección a FAIL.

Lectura de resultados en el HMI

Después de desplegar, cambie a la pestaña HMI. Active una captura y la vista en vivo anotará la imagen con las primitivas predichas, el indicador de aprobado/rechazado cambiará a PASS o FAIL, y la tabla de mediciones a continuación mostrará cada dimensión con:

  • Avg — el valor agregado a través de todas las Child ROIs (útil cuando la misma medición se ejecuta en múltiples ROIs)
  • Inspection Region — Main ROI o qué Child ROI produjo el valor
  • Search Area — a qué Search Area del alineador pertenece el valor
  • Value — la medición en mm (o su unidad)
  • Primitives — de cuál(es) primitiva(s) se calculó la medición

La vista en vivo del HMI mostrando una receta de Medición con PASS, Confianza de Alineación 92.4%, y una tabla de mediciones desglosando Radius Circle 1 a 4.326 mm y 4.315 mm a través de Main ROI y Child ROI

Active o desactive las superposiciones según sea necesario:

  • Labels — muestra los nombres de las primitivas en la imagen
  • Blob Stats — muestra los puntajes de detección
  • Heatmap — superpone el mapa de calor de confianza del modelo (útil para depurar "¿por qué eligió ese punto?")

Ejemplos prácticos

Verificación del diámetro de un orificio

  • Primitiva: un Circle en una Child ROI ajustada alrededor del orificio
  • Medición: Radius (el resultado se reporta como radio; multiplique por 2 en el nodo Function si necesita el diámetro)
  • Aprobado/rechazado: Math.abs(radius - target) <= tolerance

Espacio entre dos piezas

  • Primitivas: dos primitivas Line/Segment paralelas a lo largo de los bordes enfrentados
  • Medición: Distance, Line-to-Line
  • Aprobado/rechazado: gap >= min_gap && gap <= max_gap

Distancia entre orificios

  • Primitivas: dos primitivas Circle, una en cada orificio
  • Medición: Distance, Point-to-Point (entre los centros)
  • Aprobado/rechazado: Math.abs(spacing - target) <= tolerance

Ángulo de doblez de un soporte

  • Primitivas: dos primitivas Line, una a lo largo de cada brazo del soporte
  • Medición: Angle, Line-to-Line
  • Aprobado/rechazado: Math.abs(angle - target_degrees) <= angle_tolerance

Consejos y trucos

Calibre una vez, fije el dispositivo

Una vez que la calibración esté ajustada, fije físicamente la cámara, el lente y el dispositivo de sujeción de la pieza. Cualquier movimiento invalida el valor de px/mm silenciosamente. Una cinta de torque en el anillo de enfoque y fijador de roscas en la montura del lente no son excesivos en una instalación de producción.

Use la superposición de lupa durante el etiquetado

La lupa 4x del Primitive Editor muestra los píxeles en los que está haciendo clic. La precisión de los bordes en las etiquetas es el límite superior para la precisión de los bordes en producción. No haga clic "cerca" del borde — haga clic sobre el borde, con zoom.

Realice pruebas retrospectivas antes de salir a producción

Antes de desplegar, capture más de 30 cuadros que cubran casos de aprobado y rechazado, y pase los a través de Recipe Backtesting. Ejecuta toda la receta contra el conjunto de prueba en segundos y reporta mediciones por cuadro, para que pueda confirmar que la tolerancia que estableció en el nodo Function realmente separa las piezas buenas de las malas sin falsos positivos.

Un lente telecéntrico es obligatorio, no opcional, para Medición

Repitiendo la advertencia del inicio de la página: los lentes estándar de montura C introducen distorsión de perspectiva que empeora cerca de los bordes de la imagen y se desplaza con la distancia de trabajo. Un lente telecéntrico es el único componente de hardware que hace que la inspección dimensional sea precisa. Si su instalación no tiene uno, no utilice el bloque de Medición.

Guarde las anotaciones temprano y con frecuencia

La vista del Measurement Block no guarda automáticamente. Haga clic en Save Annotations después de cada una o dos capturas — al cerrar la pestaña se perderán las etiquetas no guardadas.

Errores comunes y solución de problemas

SíntomaCausa probableSolución
La cámara lee 4.3 mm, los calibradores leen 4.5 mmLa calibración está desviadaRecalibre contra una dimensión de referencia más larga; verifique que el valor de px/mm no haya cambiado
La misma pieza se mide diferente en cada cicloLa alineación es inestable, o hay desenfoque por movimientoAjuste la plantilla / área de búsqueda, reduzca la exposición, agregue estroboscopio, fije el dispositivo
Las predicciones saltan a la característica equivocadaLas etiquetas primitivas no son consistentes entre las capturas de entrenamientoVuelva a etiquetar las capturas, asegúrese de que "Círculo 1" sea siempre la misma característica física, reentrene
El Modelos encuentra una primitiva en una pieza defectuosa donde no deberíaEl conjunto de entrenamiento no tiene ejemplos del defecto; el Modelos no ha aprendido a rechazarAgregue 5+ capturas de defectos, etiquételas sin primitiva (o con la primitiva en la ubicación correcta), reentrene
El valor de px/mm cambió silenciosamenteEl lente fue enfocado, movido o reemplazadoRecalibre. Bloquee el lente. No enfoque durante la producción
Las mediciones están muy desviadas después de una actualización de softwareLa rotación de imagen cambió, o se perdió la plantilla de alineaciónAbra configuración de imagen y confirme la rotación de imagen; vuelva a capturar la plantilla si es necesario
La receta se ejecuta lentamente (latencia alta)Demasiadas ROI hijas, o el Modelos se ejecuta en modo Fastest sin suficiente resoluciónConsolide las ROI, o entrene en modo Accurate
Reentrene después de cualquier cambio a primitivas o ROIs

Si renombra una primitiva, mueve una ROI hija, agrega una medición o cambia el Área de Búsqueda, reentrene el Modelos. El entrenamiento está vinculado a la disposición espacial que definió; cambiar la disposición sin reentrenar deja al Modelos buscando en el lugar equivocado. La página de entrenamiento marcará el Modelos como desactualizado cuando esto ocurra.

Artículos relacionados