0% encontró este documento útil (0 votos)
19 vistas23 páginas

Reporte Proyecto

El proyecto aborda la implementación de un sistema automatizado para la inspección óptica de piezas en una línea de ensamble, buscando separar las piezas 'buenas' de las 'malas' utilizando visión artificial y programación en Python. Se desarrolló un prototipo que logró identificar correctamente las dimensiones de las tapas, alcanzando una precisión del 100% en las pruebas realizadas, aunque se identificaron áreas de mejora relacionadas con la sensibilidad de la cámara y el diseño de las piezas. La conclusión sugiere que el sistema puede ser optimizado para un proceso de producción en masa, incorporando un brazo robótico para una automatización completa.

Cargado por

brayansauzceno
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas23 páginas

Reporte Proyecto

El proyecto aborda la implementación de un sistema automatizado para la inspección óptica de piezas en una línea de ensamble, buscando separar las piezas 'buenas' de las 'malas' utilizando visión artificial y programación en Python. Se desarrolló un prototipo que logró identificar correctamente las dimensiones de las tapas, alcanzando una precisión del 100% en las pruebas realizadas, aunque se identificaron áreas de mejora relacionadas con la sensibilidad de la cámara y el diseño de las piezas. La conclusión sugiere que el sistema puede ser optimizado para un proceso de producción en masa, incorporando un brazo robótico para una automatización completa.

Cargado por

brayansauzceno
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Proyecto de Óptica y Acústica:

Inspección Óptica en Calidad


de Producción

Física para Ingeniería.

SP01SV-24.

10 de abril 2025

Profesor: Emmanuel Valdez Velázquez

Equipo:

Aguilar Sauzceño Brayan


Alegría Barrón Brenda
Encarnación González Maria Guadalupe
Machuca Hernández Emiliano
Quezada Carreón Carolina
Problemática

Tras modificaciones en una línea de ensamble, algunas piezas de


distintas líneas de producción se cruzan en la misma banda
transportadora y es necesario separarlas ya que van a distintas líneas de
montaje.

La organización está entre dos opciones; contratar nuevo personal para


realizar manualmente la separación de las piezas “buenas” de las “malas”
a lo largo de la línea de ensamble o establecer un sistema automatizado
que detecte las piezas incorrectas al inicio de la línea y ayude al personal
a detectar a través de una fotografía la cantidad y ubicación de las piezas
por descartar.

En este proyecto exploraremos a escala la implementación y el


funcionamiento de un sistema automatizado que sea capaz de distinguir
entre piezas aplicándolo a una línea de ensamble.

Marco teórico

Sistemas automatizados.

La palabra automatización deriva de las palabras griegas “auto” ( por sí


solo) y matos ( movimiento); algunas ventajas que estos sistemas
presentan son la precisión, fuerza y velocidad a las que son capaces de
realizar las actividades. La automatización industrial es entonces el uso y
la incorporación de equipos o máquinas de elementos y sistemas de
control, sensorización, supervisión y optimización de los procesos a través
de hardwares y softwares.

Se reconocen como soluciones que las empresas optan por adaptar en su


organización para cualquier proceso que se considere lo requiera.
Algunos buscan aumentar la eficiencia de la operación realizada, otros
buscan eliminar al máximo la intervención de mano de obra humana por
la naturaleza riesgosa del proceso, etc.

Estas soluciones abarcan computadoras, programas, robots y tecnologías


de la información que manejan diferentes procesos productivos y
maquinarias en la industria.
Niveles de funcionamiento

Estos son los tres niveles más comunes de un sistema de automatización


industrial.

a)​ Nivel supervisor.


Es el encargado de
centralizar todo el control
de las operaciones y
supervisar el proceso en
tiempo real.

b)​ Nivel de control.


En este nivel se ejecutan
todos los programas
relacionados con la
automatización, por
ejemplo PLC,
controladores lógicos programables, HMI, etc. Monitorea y controla
los dispositivos del campo.

c)​ Nivel de campo.


Como su nombre lo indica se encuentran en campo y pueden ser
sensores o actuadores que están conectados a los programas del
nivel de control. Algunos ejemplos son actuadores lineales o
rotativos, válvula de proceso, sensores, motores eléctricos, etc.

Tipos de automatización industrial

a)​ Automatización fija


No se permiten cambios ni reprogramaciones tras la
implementación inicial, suele ser más común en líneas donde se
produce un alto volumen de la misma pieza o articulo.
b)​ Automatización programable
La instalación se adapta a las necesidades del proceso y permite la
fabricación de piezas según la temporada.

c)​ Automatización flexible


Permite a la industria de la producción de elementos variados y
características únicas para los artículos.
Python
Es uno de los principales lenguajes de programación utilizados hoy en día
y sus usos van desde las aplicaciones web, el desarrollo de software,
machine learning hasta la automatización con scripts (automatización de
tareas como eliminar palabras duplicadas de un archivo, operaciones
matemáticas básicas, enviar correos electrónicos), etc. Esto debido a la
facilidad de programar y la compatibilidad que tiene en distintas
plataformas (macOS, Linux, Unix). Cuenta con una amplia biblioteca de
códigos reutilizables y la comprensión del código al ser una sintaxis
básica similar al idioma inglés.

Visión artificial
Parte de la inteligencia artificial que se enfoca en el desarrollo de
métodos que permiten enseñar a las computadoras y sistemas a derivar
información relevante desde entradas visuales (como imágenes digitales,
videos, etc) con el fin de hacer recomendaciones o realizar acciones
cuando se identifican defectos o problemas. Es decir, son capaces de
interpretar imágenes de forma similar a la visión humana, analizar y
medir datos de estas entradas visuales para supervisar procesos y tomar
decisiones.

La visión artificial permite a través del machine learning (modelos


algorítmicos) y redes neuronales, que las computadoras vean, observen y
comprendan las imágenes. Para ello necesita datos y ejecutar un análisis
sobre estos múltiples veces hasta que sea capaz de determinar
distinciones y reconocer las imágenes.

OpenCV
Biblioteca de código abierto con más de 2,500 algoritmos, la cual se
especializa en el sistema de visión artificial y machine learning. Dentro de
sus usos más comunes están la detección de objetos y rostros, encontrar
imágenes similares, reconocer escenarios, seguir los movimientos de los
ojos, extraer modelos 3D, etc.

Algunas de sus ventajas es que es gratuita, multiplataforma (Windows,


macOS, Linux, Android) y es compatible con Python.
Hipótesis

El sistema automatizado evitará contratar a personal para separar las


tapas.

Desarrollo

Equipo

Computadora

Teléfono (etapa
inicial)

Cámara web

Memoria USB

Recursos

Python 3.13.2 64 bit

OpenCV 25.0.1

Sublime Text

Materiales

Tapas de plástico

Triplay

Clavos de madera

Pintura base aceite

Luces
Cronograma de actividades:
Prototipo
1.​ Instalación de softwares.

Es necesario descargar Python y OpenCV, estos programas son gratuitos.


Utilizamos la versión 3.13.2.

Para la instalación de OpenCV abrimos el símbolo del sistema y


ejecutamos el siguiente comando:

pip install opencv-contrib-python

Por último, es necesario un editor de texto que nos permita visualizar las
imágenes de las piezas, en este caso lo haremos con Sublime Text.

Es posible utilizar el símbolo del sistema para ejecutar python en los


algoritmos escritos en Sublime text, sin embargo el símbolo de sistema
ejecuta de manera independiente la secuencia, por lo que es necesaria la
acción de cerrar la pestaña para que el algoritmo se siga ejecutando por
toda la imagen. Por lo que instalaremos Ubuntu Desktop para ser
utilizado como la terminal para ejecutar el algoritmo.

2.​ Implementación

Una vez instalados los softwares, tomamos las primeras fotos de las
tapas que tenemos disponibles para simular las piezas del proceso
de fabricación.
Algunas de las tapas tienen una leyenda, comprobaremos si el algoritmo
no tiene problemas al identificarlas y determinar su color.

Es necesario crear una carpeta donde se contengan tanto los algoritmos


de python (archivos py) y las imágenes que de las piezas. Requerimos de
un entorno virtual donde solo existan los programas de python y opencv,
en este entorno solo interactúan estos dos programas.

En la carpeta “Proyecto” estaremos guardando la programación y las


imágenes, mientras que las demás carpetas son para el entorno virtual.

Pruebas
Al obtener las imágenes en canny (escala de grises) y tipo HSV notamos
que aquellas tapas con letras interfieren en la fotografía, como vemos a
continuación:

Por lo que explicaremos de ahora en adelante con tapas que tengan un


solo color sólido.
Probamos estas nuevas tapas con el algoritmo para detectar
irregularidades.

Vemos que si bien los círculos están más definidos, el fondo de las piezas
es rugoso y el algoritmo detecta las líneas como parte de las piezas, lo
cual es incorrecto.
Los problemas de captura de cada pieza también los podemos visualizar
a través de una imagen auxiliar (comando imAux). Nuestro objetivo es
que se detecten las piezas como en la imagen de la izquierda y evitar en
la medida de lo posible capturas como las de la imagen de la derecha:

Capturas recomendables Capturas con interferencia

Estas líneas si bien no impiden que el algoritmo la mayoría de veces


detecte que se trata de círculos, es un error que se puede disminuir sin la
necesidad de correr el riesgo de que algunas piezas no sean detectadas.

Utilizaremos un fondo con mínimas rugosidades, como una cartulina o


mesa sin porosidades.
Con la superficie plana se perciben mejor las capturas.

Además de detectar el color de las tapas “correctas”, implementaremos


una codificación que permita detectar la forma ideal que buscamos en
las piezas.

Es decir, combinaremos la detección de color y forma en el sistema.


Este código nos permitirá inicializar la cámara conectada a la
computadora y comenzar el conteo de la cantidad de piezas “buenas” y
"malas” según el color y tamaño esperado.

Este conteo se visualiza del lado izquierdo de la nueva ventana abierta.


Ajustes
Para que opencv detecte las diferencias entre colores es necesario
establecer rangos o criterios para cada uno de los colores. Siendo el color
azul rey nuestra referencia como pieza “buena”, sus criterios de color
segun el sistema HSV es:

Al comenzar las pruebas, notamos que la cámara web es muy sensible al


movimiento y la altura a la que se coloque afecta el cómo detecta la
forma de las tapas. Además de que al combinar las dos funciones de
detección de forma y color notamos que el sistema no funciona
correctamente, es decir, comienza a dar falsos positivos y falsos negativos.

Por lo que hemos decidido solo centrarnos en que el sistema detecte la


forma ideal de las piezas.

Si bien el código realiza el conteo, para volver a reiniciarlo es


necesario detener la ejecución de python y volver a iniciar la
ejecución desde el símbolo del sistema.

Por tanto, agregamos al código las siguientes condiciones:


-​ Manejo de radio y parámetros de los círculos.

-​ Creación de un registro en excel.


-​ Interfaz de usuario.

-​ Posibilidad de turnos.

Al probar el código abre correctamente la interfaz de usuario y


guarda los registros en el archivo CVS.

Además de tomar el registro cada 5 segundos.


Prueba realizada
Diseño de la maqueta

Al buscar una base sólida y estable para la cámara, decidimos hacer la


maqueta con madera siguiendo el siguiente boceto:

Buscamos que la maqueta pueda trasladarse a lo largo de la banda


transportadora, es decir, no estará fija y no tendrá fondo.
Prototipo
Análisis de resultados

La implementación de nuestro sistema automatizado de Inspección


Óptica, se configuró para analizara una característica de calidad, su radio.

Para la detección de la geometría en las partes, artificial mediante la


programación de software. El sistema se entrenó utilizando imágenes de
tapas con la forma correcta y con deformaciones o irregularidades; esto le
permitió identificar aquellas tapas que no cumplían con las
especificaciones geométricas preestablecidas.

En las pruebas realizadas con nuestra maqueta, se procesaron un total de


101 tapas. De estas, el sistema identificó correctamente 43 como "buenas"
y 58 como "malas". Es importante destacar que el sistema logró una
precisión del 100% en las pruebas realizadas, pues pudo identificar
aquellas con un radio mayor a aquellas de las que no sin problema
alguno.

El haber generado estas pruebas preliminares nos ayudó a comprender


cuán efectivo puede ser nuestro sistema, ya que este puede ser ajustable
en tiempo real en cuanto a los parámetros de precisión y según las
condiciones a los que sea expuesto el producto, como por ejemplo,
distancia de la pieza a la cámara, cantidad de luz o resolución de la
cámara utilizada en el proceso.
Conclusión

El sistema funciona correctamente y detecta las dimensiones de las tapas


permitiéndonos diferenciar entre las piezas “buenas” y “malas”. Sin
embargo, es muy sensible a movimientos y dependemos directamente
de las propiedades de la cámara así como de si las tapas cuentan con un
diseño liso o con grabados en ellas por lo que sería necesario robustecer
el programa para lograr la identificación de tapas con letras plasmadas en
su diseño en caso de ser necesario.

Podemos decir entonces que nuestro proyecto cumplió con su propósito


y la hipótesis ha sido (teóricamente) aceptada, pues haría falta solo
utilizar un conveyor donde se ejemplifique un proceso de producción en
masa y agregarlo a la discriminación por dimensiones con algún brazo
robótico para hacerlo 100% automatizado y efectivo.

Mejoras

1.​ Agregar la condición de color.


Además de los inconvenientes ya mencionados, la principal desventaja es
la falta de expertise en el área y la sensibilidad y resolución de la cámara.

2.​ Incorporar una línea de banda movible.


Dejamos la maqueta libre para moverse sobre las superficies sin un fondo
fijo, pero la forma ideal para preservar la cámara y evitar movimientos
podría ser fijar todo al inicio o en varias secciones de una banda de
ensamblaje.

3.​ Utilizar procesos consecutivos que aseguren su automatización.


Si se requiere, un área de mejora se concentraría en su conversión a un
proceso automatizado donde luego de discriminar piezas buenas de
malas, estas sean dirigidas a conveyors diferentes mediante brazos
robóticos que luego de ser identificadas utilicen argumentos para
cambiarlas.
Referencias bibliográficas

Zubiri, H. H. (2023, April 27). Tipos de Automatización Industrial y sus


características. MasterD.
https://www.masterd.es/blog/tipos-de-automatizacion-industrial

Aula. (2023, October 6). Automatización Industrial: Qué es y cómo


funciona | Aula21. aula21 | Formación para la Industria.
https://www.cursosaula21.com/que-es-la-automatizacion-industrial/

Aula. (2023, May 23). Python: qué es, para qué sirve y cómo se programa |
Informática Industrial. aula21 | Formación para la Industria.
https://www.cursosaula21.com/que-es-python/

AUTOMATIZACIÓN y CONTROL - Micro automación. (2020, September 1).


Micro Automación.
https://co.microautomacion.com/es/tec/comando-bimanual-2/
¿Qué es Python? - Explicación del lenguaje Python - AWS. (n.d.). Amazon
Web Services, Inc. https://aws.amazon.com/es/what-is/python/

Rodríguez, H. (2021, April 28). ¿Qué es OpenCV?: ¡Descubre todo acerca


de la visión artificial! https://www.crehana.com.
https://www.crehana.com/blog/transformacion-digital/que-es-open
cv/
OpenCV. (2020, November 4). About - OpenCV. https://opencv.org/abo

OMES. (2020, March 12). Como instalar PYTHON 🐍y OPENCV 👁️ en


Windows [ Fácil y rápido ] [Video]. YouTube.
https://www.youtube.com/watch?v=6R_VU958jPY

OMES. (2019, December 3). Detectando FIGURAS GEOMÉTRICAS ( 🔵🔺⬛)


con OpenCV - Python. [Video]. YouTube.
https://www.youtube.com/watch?v=R82EcsCgnfg

OMES. (2019, December 16). Detecta FIGURAS GEOMÉTRICAS y sus


COLORES ❤️🧡💛💚💜 OpenCV - Python. [Video]. YouTube.
https://www.youtube.com/watch?v=CsS0V6pDsBM
OMES. (2019, March 2). DETECCIÓN DE COLORES en OPENCV [en 4
Pasos] - Parte1. [Video]. YouTube.
https://www.youtube.com/watch?v=giwtDYcIXKA&t=43s

Roelcode. (2023, February 20).🐍Configurando Sublime Text 4 para


programar en Python: Tutorial paso a paso. [Video]. YouTube.
https://www.youtube.com/watch?v=VPrSVMt0zwM

Net Ninja. (2024, August 19). Working with Files in Python #1 - Opening &
Reading Files. [Video]. YouTube.
https://www.youtube.com/watch?v=0mxeoYsXTMg

OMES. (2019, January 3). Como LEER, VISUALIZAR y GUARDAR UNA


IMAGEN en Python usando OpenCV. [Video]. YouTube.
https://www.youtube.com/watch?v=FqZkSXJfcic

Jorge Islas. (2024, July 16). Cómo Abrir una Imagen en python 2024.
[Video]. YouTube. https://www.youtube.com/watch?v=E6Jo4aIlk9Y

🟣
Enreta Services. (2024, April 25). Cómo instalar UBUNTU 24.04 PASO a
PASO desde cero! TUTORIAL 📀. [Video]. YouTube.
https://www.youtube.com/watch?v=cQDOJb9FXnU

OMES. (2019, January 19). RGB en OpenCV (Python). [Video]. YouTube.


https://www.youtube.com/watch?v=25zlS7-kD0w

También podría gustarte