INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA
MECANICA Y ELÉCTRICA
“
CLASIFICACIÓN DE PIEZAS CON UN ROBOT MITSUBISHI®
RVM1 APLICANDO TÉ
CNICAS DE VISIÓN ARTIFICIAL”
T E S I S
QUE PARA OBTENER EL TÍTULO DE
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
P R E S E N T A
FATIMA RAQUEL RIVAS BONILLA
ASESORES:
Dr. ABRAHAM RODRÍGUEZ MOTA
Dr. LEONEL GERMAN CORONA RAMÍREZ
III ÍNDICE
Página
Resumen………. XVI
Objetivos………. XVII
Objetivos generales Objetivos particulares
I Introducción………... XVIII
II Marco teórico
Capítulo I ANTECEDENTES
1.1 Generalidades……….... 1
1.2 Sistema básico de un robot manipulador……… 3
1.2.1 Morfología………. 3
1.2.2 Clasificación de robots……… 5
1.2.3 Configuraciones principales……….. 7
1.2.4 Características………. 9
1.2.4.1 Grados de libertad (GDL)……… 9
1.2.4.2 Espacio de trabajo……… 10
1.2.4.3 Precisión de movimientos………... 10
1.2.4.4 Capacidad de carga………. 11
1.2.4.5 Velocidad………... 11
1.2.4.6 Tipos de actuadores………. 12
1.3 Control de manipuladores………. 13
1.4 Aplicaciones……… 14
1.5 Planteamiento del problema………. 15
1.5.1 Justificación………. 16
IV Capítulo II CONCEPTOS DE ROBÓTICA
2.1 Cinemática Directa………. 19
2.2 Cinemática Inversa………. 19
2.3 Parámetros Denavit-Hartenberg……….. 19
2.4 Matriz de rotación………... 22
2.5 Traslación de un sistema de coordenadas………. 25
2.6 Matriz de transformación homogénea……… 27
Capítulo III CONCEPTOS DE VISIÓN ARTIFICIAL 3.1 Procesamiento digital de imágenes………. 29
3.1.1 Elementos de un sistema de procesamiento digital de imagen.. 29
3.2 Imágenes digitales……….. 30
3.3 Formatos de imagen……….. 32
3.3.1 Fundamentos de color……… 33
3.3.1.1 Modelo RGB………... 33
3.3.1.2 Modelo XYZ………. 35
3.3.1.3 Modelo HSI………... 35
3.4 Bordes de imagen……….. 36
3.5 Mascara de una imagen……… 36
3.6 Elementos de calibración……….. 37
3.6.1 Transformación de perspectiva………. 39
3.7 Procesamiento de imágenes……… 41
3.7.1 Método de dominio del espacio……… 41
3.7.2 Método en el domino de frecuencias……… 42
3.8 Análisis de imagen………... 42
3.9 Histograma……….. 42
3.9.1 Ecualización del histograma……….. 43
3.9.2 Intensidad……….. 44
3.10 Filtros……….. 44
V
3.10.1.1 Filtro espacial paso bajo………... 46
3.10.1.2 Filtro paso bajo promedio………. 46
3.10.1.3 Filtro paso bajo de mediana……… 47
3.10.1.4 Filtro paso bajo mínimo……… 47
3.10.1.5 Filtro paso bajo máximo………... 48
3.10.1.6 Filtro paso bajo gaussiano……… 49
3.10.2 Filtro espacial paso alto……… 49
3.10.2.1 Filtro paso alto High-Boost……… 50
3.10.2.2 Filtro paso alto derivativo……….. 51
3.10.2.3 Primera derivada……… 51
3.10.2.4 Segunda derivada……….. 53
Capítulo IV CONCEPTOS ELECTRÓNICA 4.1 Comunicación serie……… 55
4.2 Circuito de transmisión de datos………... 56
4.3 Norma RS-232………... 57
4.4 Grupos de señales RS-232……… 58
III Desarrollo Capítulo V CARACTERÍSTICAS PRINCIPALES ROBOT MITSUBISHI “MOVEMASTER RV-M1” 5.1 Robot Mitsubishi “MOVEMASTER RV-M1”………. 63
5.1.1 Principales características del Robot Mitsubishi “MOVEMASTER RV-M1”……….. 64
5.1.2 Espacio de trabajo………... 67
5.2 Componentes del robot Mitsubishi “MOVEMASTER RV-M1”……… 67
5.2.1 Unidad de manejo “Drive-Unit” D/U-MI……… 68
5.2.2 Control maestro “Teaching Box” T/B-MI……….. 69
VI
5.3.1 Instrucciones de control de posición y movimiento……… 72
5.3.1.1 Control de programa……… 75
5.3.1.2 Control de mano……….. 75
5.3.1.3 Control de entrada y salida (I/O) de datos……….. 76
5.3.1.4 Control de comunicación a través de RS232………….. 76
5.3.2 Métodos de programación de robots……… 77
5.3.2.1 Ejecución de programas……….. 77
5.3.2.2 Señales electrónicas de comunicación………. 78
5.3.2.3 Posición de inicio (Home) y tipos de error……… 78
5.4 Seguridad y operación del Robot Mitsubishi “MOVEMASTER RV-M1”... 78
IV Resultados Capítulo VI SOLUCIÓN DE CINEMÁTICA DIRECTA E INVERSA DEL ROBOT MITSUBISHI RV-M1 6.1 Cinemática directa……….. 81
6.1.2 Parámetros Denavit-Hartenberg………... 81
6.2 Cinemática inversa……… 85
Capítulo VII DESARROLLO DEL PROYECTO 7.1 Funcionamiento y operación básica del sistema………... 89
7.1.2. Detección de objetos……… 90
7.1.2.1 Clasificación de objetos por morfología……… 99
7.1.2.2 Clasificación de objetos por color………. 101
7.2 Comunicación serial con el puerto………... 104
7.2.1 Configuración del puerto serie………. 104
7.3 Programación del Brazo Manipulador………. 105
VII
7.5 Determinación de las condiciones óptimas de operación……… 109
7.5.1 Pruebas……… 110
7.5.2 Pruebas por espesor……….. 110
7.5.3 Pruebas de iluminación………. 112
7.5.4 Segmentación de color……….. 114
7.6 Identificación de objetos……… 115
7.7 Análisis de resultados a las distintas pruebas………... 119
7.8 Prueba de funcionamiento general del proyecto………... 121
CONCLUSIÓN……… 127
REFERENCIAS……….. 131
REFERENCIAS DE IMÁGENES………. 133
VIII
ÍNDICE FIGURAS
Página
Figura 1.1 Brazo humano vs Robot industrial……….. 3
Figura 1.2 Tipos de articulaciones……….……. 4
Figura 1.3 Grados de Libertad de un manipulador………...……. 5
Figura 1.4 Configuraciones principales……….……. 8
Figura 1.5 Motor de corriente continua………...……. 12
Figura 1.6 Motorreductor……….……. 13
Figura 1.7 Servomotor………...……. 13
Figura 1.8 Brazo robótico en fabricación de autos………...……. 14
Figura 1.9 Brazo robótico en la medicina………...……. 15
Figura 1.10 Brazo en la industria………. 15
Figura 1.11 Robot Teleoperador………. 15
Figura 1.12 Diagrama a bloques del proyecto………. 17
Figura 2.1 Parámetros D- H para eslabones………..……. 22
Figura 2.2 Sistema de dos coordenadas………..……. 23
Figura 2.3 Sistema de coordenadas trasladado……….……. 26
Figura 3.1 Sensibilidad espectral del ojo humano……… 30
Figura 3.2 Sensores de área………...……….. 31
Figura 3.3 Reflexión especular……… 32
Figura 3.4 Reflexión difusa………... 32
Figura 3.5 Imagen en diferentes tipos de formato………... 33
Figura 3.6 Distribución de colores en cubo RGB……….. 34
Figura 3.7 Distribución de colores en modelo XYZ…... 35
Figura 3.8 Espacio de color en modelo HSI……….. 35
Figura 3.9 Visualización de una máscara……….. 36
Figura 3.10 Rotación de un punto alrededor de los ejes………. 38
Figura 3.11 Proceso de formación de imágenes……….. 39
IX
Figura 3.13 Imagen promedio……….. 47
Figura 3.14 Imagen mediana………... 47
Figura 3.15 Imagen mínima………. 48
Figura 3.16 Imagen máxima………. 48
Figura 3.17 a) Imagen con ruido, b) Imagen con máscara de Gauss………... 49
Figura 3.18 Imagen filtro paso alto……….. 50
Figura 3.19 Imagen filtro High-Boost……….. 51
Figura 3.20 a) Bordes horizontales, b) bordes verticales……… 53
Figura 3.21 Filtro de segunda derivada……….. 53
Figura 4.1 Estructura de un carácter que se transmite en forma serial asíncrona…. 55 Figura 4.2 Conectores DB9 y DB25……….. 56
Figura 4.3 Circuito de transmisión de datos……….. 57
Figura 4.4 Características de las señales de la interfaz RS-232………... 58
Figura 5.1 Robot Mitsubishi® RV-M1………. 63
Figura 5.2 Articulaciones del manipulador robot Mitsubishi RV-M1……….. 66
Figura 5.3 Estado de trabajo Robot Mitsubishi® RV-M1………. 67
Figura. 5.4 Componentes Robot Mitsubishi® RV-M1……….. 68
Figura 5.5 Unidad de manejo, vista angular……….. 68
Figura 5.6 Unidad de manejo: vista frontal……… 68
Figura 5.7 Teaching box………... 69
Figura 5.8 Operación correcta Robot Mitsubishi® RV-M1……….. 79
Figura 6.1 Parametrización del robot Mitsubishi RV-M1………. 81
Figura 6.2 Configuración de referencia, Manual Robot Mitsubishi RV-M1…………. 82
Figura 6.3 Desarrollo cinemática inversa………... 86
Figura 7.1 Diagrama de flujo captura de imagen……….. 91
Figura 7. 2 Diagrama de flujo de obtención de cúmulos………. 92
Figura 7. 3 Detección de rangos de cúmulos de los colores………... 93
Figura 7.4 Cúmulos de colores……… 93
Figura 7.5 Imagen capturada………... 94
X
Figura 7.7 Diagrama de flujo de conversión a escala de grises………. 94
Figura 7.8 Imagen de objetos después de la transformación binaria……… 95
Figura 7.9 Diagrama de flujo para la detección de bordes y regla de la cadena…… 96
Figura 7.10 Bordes de objetos………. 97
Figura 7.11 Firma de circulo………...………... 97
Figura 7.12 Firma de cuadrado………... 97
Figura 7.13 Firma de triangulo………...……... 97
Figura 7.14 Diagrama de flujo para obtener los centroides……… 98
Figura 7.15 Diagrama de flujo para clasificar morfologías……….. 100
Figura 7.16 Morfología de círculos……….. 101
Figura 7.17 Morfología de triángulos……….. 101
Figura 7.18 Morfología de cuadrados………. 101
Figura 7.19 a) Segmentación color verde b) Segmentación color azul c) Segmentación color rojo d) Segmentación de fondo………... 102 Figura 7.20 Diagrama de flujo para el reconocimiento de color………... 103
Figura 7.21 Diagrama de flujo configuración del puerto……….. 105
Figura 7.22 Diagrama de flujo de la programación para el robot manipulador…….. 107
Figura 7.23 Diagrama de flujo de interfaz gráfica………. 108
Figura 7.24 Interfaz gráfica……….. 109
Figura 7.25 Objetos de espesor de 2.54 centímetros……….. 110
Figura 7.26 Detección por segmentación de Colores y fondo……… 111
Figura 7.27 Detección de bordes con ruido………... 111
Figura 7.28 Objetos de 2 mm de espesor……….. 111
Figura 7.29 Segmentación de objetos de 2 mm de espesor………. 112
Figura 7.30 Imagen capturada en luz ambiente……….. 112
Figura 7.31 Imagen capturada con lámpara de luz blanca………. 113
Figura 7.32 Imagen capturada con dos lámpara de luz blanca………. 113
Figura 7.33 Captura de imagen original……… 114
Figura 7.34 Segmentación de figuras en color rojo……….. 114
XI
Figura 7.36 Segmentación de figuras de color azul……… 115
Figura 7.37 Selección de color y forma……….. 116
Figura 7.38 Obtención de la figura seleccionada………. 116
Figura 7.39 Selección de color y forma……….. 117
Figura 7.40 Obtención de la figura seleccionada………. 117
Figura 7.41 Selección de color y forma……….. 118
Figura 7.42 Obtención de la figura seleccionada………. 118
Figura 7.43 Captura de imagen………... 122
Figura 7.44 Selección de color……… 122
Figura 7.45 Selección de forma………... 123
Figura 7.46 Segmentación de color y forma………. 123
Figura 7.47 Obtención del objeto con robot Mitsubishi RVM1……… 124
Figura 7.48 Deposito de la pieza en el lugar asignado……… 124
XII
ÍNDICE TABLAS
Página
Tabla 1.1 Clasificación de Robots según AFRI………... 5-6
Tabla 1.2 Clasificación de Robots Industriales por Generación………... 6
Tabla 1.3 Clasificación de Robots según T.M.Knasel………... 6-7 Tabla 1.4 Espacio de Trabajo………... 10
Tabla 3.1 Ocho colores básicos RGB………... 34
Tabla 3.2 Máscara para detectar puntos aislados diferentes de un fondo……... 42
Tabla 3.3 Tipos de filtros………... 45
Tabla 4.1 Conexiones RS232………... 59-61 Tabla 5.1 Características principales de la articulación J1………. 65
Tabla 5.2 Características principales de la articulación J2………. 65
Tabla 5.3 Características principales de la articulación J3………. 65
Tabla 5.4 Características principales de la articulación J4………. 66
Tabla 5.5 Características principales de la articulación J5………. 66
Tabla 5.6 Principales funciones del Teaching……….. 70-72 Tabla 6.1 Parámetros de Denavit-Hartenberg para el Robot RV-M1………... 82
Tabla 7.1 Comparativa de resultados de espesor………... 120
XIII A DIOS
Por ser mi torre fuerte y nunca soltarme de la mano, por guiarme y darme la fortaleza que muchas veces me ha hecho falta. Por la bendición de tener una familia unida donde tú y mamá María siempre han estado presentes y permitirme cumplir una de mis metas teniendo en cuenta que todo lo que haga es una oportunidad más para ayudar a las personas. Te amo Dios.
A mis Padres y hermanos
Por guiarme en el camino y no dejarme vencer por muy difíciles que sean las circunstancias, por darme las herramientas para ser una persona de bien, por confiar en mi pero también por los momentos en que es necesario ser severos. Por su esfuerzo, honradez y trabajo, pero sobre todo por enseñarme a respetar y valorar a las personas, ¡Los amo con todo el corazón!
Eli por ser esa personita que me hace entender que la vida también es para divertirse, porque más allá de ser hermanas somos amigas, por tu paciencia, por ser mi compañera en muchos procesos de mi vida y sobre todo por tus consejos. Te amo hermana.
XIV
AGRADECIMIENTOS
A mis asesores
Por su tiempo, disposición, dedicación, paciencia, por aportar su experiencia, ideas y enseñanzas.
Por ser un claro ejemplo de querer formar ingenieros productivos para este país.
GRACIAS
Dr. Corona Ramírez Leonel Germán
XV Palabras clave
Control, Hardware, Manipulador, Robot, Software, Visión Artificial.
Abstract
The present work aims at providing a solution to improve the classification and object detection processes of an automated system developed by the CIM laboratory at the Professional Unit of Engineering and Advanced Technologies. The analyzed system operation refers to the use of a Mitsubishi robot RV-M1 to select regular geometry shaped forms (soft) based on color and morphology, by applying various techniques and properties such as machine vision, clusters, classes, gray scale, binarization, edge detection, firms, schools, lighting, and thicknesses, in order to optimize image processing and facilitating the execution of other processes.
PC-Robot and PC-Image-capture-device (webcam) communications are implemented as serial communications in order to transfer captured images and give commence to the image processing, object location, and robot arm positioning and pieces handling processes. A graphic user interface was created to give control to the users over the image capture and color or shape classification options. So the system will select and relocate the selected piece on a defined new workspace location.
XVI Resumen
El presente trabajo surge de la necesidad de mejorar el proceso de clasificación y detección de objetos de un sistema automatizado desarrollado en el laboratorio CIM de la Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas. El funcionamiento del sistema analizado se orienta a la selección de piezas con geometría regular (suave) con el robot Mitsubishi® RV-M1, a partir de su color y morfología, lo anterior aplicando distintas técnicas de Visión Artificial tales como, cúmulos, clases, escala a gris, binarización, detección de bordes, firmas, centros, iluminación y espesores con la finalidad de optimizar las imágenes y facilitar los distintos procedimientos que se ejecuten.
La comunicación entre la PC y el Robot, así como la PC y el equipo de captura (webcam) se implementa mediante un protocolo de comunicación serial, al realizar la captura de la imagen esta se transfiere al equipo de cómputo para iniciar el procesamiento de la imagen, posteriormente la localización del objeto y así el brazo robótico se moverá para recolectar la pieza seleccionada. En seguida se crea una interfaz gráfica la cual proporciona las funcionalidades de capturar imagen y clasificación por color y/o forma, esto determinado por el usuario, finalmente se transfiere la pieza a otro punto del espacio de trabajo de la estación como del robot.
XVII
CLASIFICACIÓN DE PIEZAS CON UN ROBOT MITSUBISHI® RVM1
APLICANDO TÉCNICAS DE VISIÓN ARTIFICIAL.
OBJETIVOS
Objetivos Generales:
Clasificar y seleccionar piezas de geometría regular con el robot Mitsubishi® RV-M1, a partir de su color y forma aplicando técnicas de visión artificial.
Objetivos Particulares:
Realizar análisis Cinemático del Robot: I. Parámetros de Denavit-Hartenberg. II. Cinemática Directa.
III. Cinemática Inversa.
Implementar la interfaz de comunicación entre un equipo de cómputo tipo PC y el equipo de captura de imagen (webcam).
Implementar la interfaz de comunicación entre el robot, un equipo de computo tipo PC y el equipo de captura de imagen.
Procesar imágenes con técnicas de Visión Artificial (bordes, binarización y firmas).
I. Clasificación por color. II. Clasificación por forma.
XVIII
INTRODUCCIÓN
En los últimos años ha tomado auge la automatización industrial, con un tránsito acelerado desde su concepción inicial denominada “fija” que consistía en la producción automática de elementos, piezas y productos en grandes cantidades y de manera repetitiva, a su denominación actual, “automatización flexible” [9], que consiste en adecuar la producción a la demanda de un mercado en constante cambio por medio de un sistema de producción programable y adaptable.
Esta expansión es atribuible en gran medida a la constante necesidad en la industria por automatizar sus procesos, por ejemplo, en la producción, implementar tecnología de punta y aplicar técnicas de visión artificial, mejorando así la calidad de sus productos, reduciendo tiempos y costos.
Históricamente, la primera vez que se hizo uso de las técnicas de procesamiento de imágenes fue en los años veinte, cuando se transmitieron imágenes de fotografías periodísticas a través de cable submarino entre Londres y New York [1], con esto se redujo el tiempo entre emisión y recepción de las imágenes de una semana (por barco) a tres horas (por cable).
Actualmente, la mayoría de los sistemas de visión por computadora se encuentran instalados en las plantas manufactureras para efectuar tareas de control automatizado de procesos y control de calidad de los productos; esto mediante algoritmos de conteo y detección de patrones lo cuales son seleccionados de acuerdo a las necesidades de cada proceso y sólo es utilizada una cámara, ya que no es preciso conocer la ubicación del objeto en el espacio.
XIX
El proyecto inicia con la investigación de los diferentes manipuladores empleados hoy en día, así como sus aplicaciones, al igual que las diferentes técnicas implementadas para la detección de objetos por visión artificial. Continuando con el diseño de los algoritmos para clasificación de piezas y para finalizar, la manipulación de estas, por medio de un brazo mecánico de cinco grados de libertad.
Por lo cual, en el Capítulo I, se presentan los antecedentes, referenciando trabajos relacionados con este tema.
En el Capítulo II, se muestra el modelo matemático del robot manipulador, analizando sus dimensiones, alcances, área de trabajo y velocidad, además se presentan las matrices de transformación homogénea propias de cada articulación y finalmente se desarrolla la cinemática directa e inversa con la finalidad de comprobar los resultados obtenidos.
Una vez conocidas las características del robot, se describen las distintas técnicas de visión artificial en el procesamiento de imagen (Capítulo III), como son: bordes, centroides, histograma y formato RGB.
En el Capítulo IV, se explica el proceso de la normalización de la interfaz así mismo, se hace hincapié al protocolo RS232C, empleado en este proyecto para la comunicación, entre el brazo manipulador y la PC.
Capítulo V, se presentan las características generales para la obtención del algoritmo de programación, para la clasificación y recolección de piezas, del Robot Mitsubishi® RV-M1, así como de la interfaz gráfica (guide).
Capítulo VI, se muestra la cinemática directa y la cinemática inversa desarrollada en condiciones iniciales, es decir, determinada por el fabricante conocido como posición home para el Robot Mitsubishi RV-M1, con la finalidad de establecer los parámetros Denavit-Hartenberg, al igual que obtener la posición y orientación del efector final del robot y encontrar los distintos valores que adoptan las coordenadas articulares del mismo.
XX
1 CAPÍTULO I ANTECEDENTES 1.1 Generalidades
Actualmente la implementación de robots industriales facilita y perfecciona los procesos en cadena [2], ya que los brazos robóticos permiten hacer los trabajos eficientes y en menor tiempo [3], un claro ejemplo es la industria automovilística donde son empleados la mayor parte de los robots hoy día instalados a nivel mundial.
En los últimos años los robots controlados por visión e inteligencia artificial representan la técnica más innovadora en la automatización de procesos, debido a que el sentido visual es la forma más precisa de adquirir información del entorno. En lo que se refiere al área de robótica, en un principio se presentaron limitantes, debido a las exigencias de datos de procesamiento cuando se involucran imágenes. Los primeros intentos de hacer partícipe la visión artificial, fue en guiar robots manipuladores después de haber procesado la imagen; está técnica es conocida como “ver y mover”[4].
En la actualidad estas técnicas con los sistemas micro electromecánicos, cuyo tamaño va desde centímetros hasta milímetros, los robots microscópicos podrían emplearse para avanzar por vasos sanguíneos con el fin de suministrar medicamentos o eliminar bloqueos arteriales, además podrían trabajar en el interior de grandes máquinas para diagnosticar con anticipación posibles problemas mecánicos.
2
En la Escuela Superior Politécnica de Litoral (ESPOL), se desarrolló un proyecto denominado clasificación de objetos por su forma [6], elaborado por Valle Reyes Patricio y Yépez Díaz Boris, el cual consiste en clasificar objetos por forma (cuadrado, círculo, u otro), una vez clasificado el objeto se envía a una matriz en donde se colocaba el cuerpo seleccionado, en caso de que no coincidiera con la forma se enviaba el objeto a una categoría llamada “no identificados”.
En la Universidad Peruana de Ciencias Aplicadas (UPC), se desarrolló un sistema de reconocimiento y clasificación de patrones basado en procesamiento digital de imágenes y redes neuronales[7], elaborado por Briceño Maraví Herver, dicho sistema cuenta con una banda transportadora que permitía ingresar diferentes tipos de piezas u objetos a un recinto llamado zona de captura. Una vez reconocido el objeto (por color y parámetros geométricos) el computador envía una señal de mando al sistema de control para posicionar los recipientes y recibir la pieza reconocida.
En lo que respecta a la Ciudad de México, en la Universidad Autónoma Metropolitana el M. en C. García Santillán Elías desarrollo el proyecto llamado “Detección y clasificación de objetos dentro de un salón de clases empleando técnicas de procesamiento digital de imágenes” [8], el cual es desarrollado limitándose a reconocer 10 objetos pequeños, y así realizar un sistema de reconocimiento automático de objetos.
3 1.2 Sistema básico de un robot manipulador
La morfología de los robots industriales, presenta cierta similitud respecto a un brazo humano (Figura 1.1), debido a esto se emplean términos como cintura, hombro, brazo, muñeca, etc., para referenciar a una imagen ya asimilada en el cerebro humano con un mecanismo nuevo y facilitar su comprensión.
Figura 1.1 Brazo humano vs Robot industrial[1]
Una vez identificada la nomenclatura de un robot industrial, es necesario conocer los elementos que lo componen y permiten su funcionalidad.
1.2.1 Morfología
Está formado por una serie de elementos estructurales con articulaciones entre ellos [10], y un efector final, el cual puede ser una pinza o un dispositivo especial, en base a la tarea encomendada.
Las articulaciones son los elementos que permiten el movimiento relativo entre los elementos estructurales o eslabones sucesivos [11], estas se clasifican en función del tipo de movimiento (Figura 1.2).
4
Articulación prismática: Se caracteriza por contar con un solo grado de libertad, que consiste en una traslación a lo largo del eje de la articulación. Articulación cilíndrica: En esta articulación existen dos grados de libertad:
rotación y una traslación.
Articulación planar: Está determinada por el movimiento de desplazamiento en un plano.
Articulación esférica: Es similar a la articulación del codo, cadera o la rodilla en el cuerpo humano.
Figura 1.2 Tipos de articulaciones [2]
5
De forma general los elementos terminales pueden ser divididos en dos categorías: pinzas (grippers) y herramientas. Las pinzas son utilizadas para tomar objetos y sujetarlos hasta el ciclo de trabajo del robot y una herramienta se utiliza en aplicaciones en donde el robot realiza alguna operación en la pieza de trabajo como por ejemplo: soldadura por punto, por arco, etc.
Figura 1.3 Grados de Libertad de un manipulador [3]
1.2.2 Clasificación de robots
La evolución de la tecnología origina una diversa categorización de robots de acuerdo a sus aplicaciones, enseguida se mencionan algunas clasificaciones de robots de acuerdo a distintas asociaciones de robótica:
La IFR (Federación Internacional de Robótica) distingue entre cuatro tipos de robots:
1. Robot secuencial
2. Robot de trayectoria controlable. 3. Robot adaptativa
4. Robot tele manipulado.
La AFRI (Asociación Francesa de Robótica Industrial) clasifica los robots de la siguiente manera [4]:
Tipos Clasificación de los robots según la AFRI
6
Tipo B Manipulador automático con ciclos preajustados; regulación mediante fines de carrera o topes; control por PLC; accionamiento neumático, eléctrico o hidráulico.
Tipo C Robot programable con trayectoria continua o punto a punto. Carece de reconocimiento sobre un entorno.
Tipo D Robot capaz de adquirir datos de su entorno, readaptando su tarea en función de estos.
Tabla 1.1 Clasificación de Robots según AFRI [4]
Otra clasificación es por generaciones, la cual se muestra en la siguiente tabla:
Generación Clasificación de los robots industriales en generaciones
1° Generación
Repite la tarea programada secuencialmente. No toma en cuenta las posibles alteraciones de su entorno.
2° Generación
Adquiere información limitada de su entorno y actúa en consecuencia, puede localizar, clasificar, detectar esfuerzos y adaptar sus movimientos en consecuencia.
3° Generación
Su programación se realiza mediante el empleo de un lenguaje natural.
Tabla 1.2 Clasificación de Robots Industriales por Generación[4]
Generación Nombre Tipo de control Grado de
movilidad
Usos frecuentes
1(1982) Pick& place Fines de carrera,
7
aprendizaje máquinas
2(1984) Servo Servocontrol,
trayectoria continua, programación
condicional
Desplazamiento por vía
Soldadura, pintura
3(1989) Ensamblado Servos de precisión, visión, tacto
Guiado por vía Ensamblado, desbardado
4(2000) Móvil Sensores
inteligentes
Patas, ruedas Construcción, mantenimiento
5(2010) Especiales Controlados con técnicas
de IA
Andante,
saltarín Militar espacial
Tabla 1.3 Clasificación de Robots según T.M.Knasel [4]
1.2.3 Configuraciones principales
Un brazo manipulador tiene en general cinco o seis grados de libertad, de los cuales tres corresponden al brazo mismo y los otros a la “mano” o herramienta. Las configuraciones más usadas en la práctica son cuatro: cartesiana, cilíndrica, polar y angular.
a) Configuración cartesiana: posee tres movimientos lineales, es decir, tiene tres grados de libertad, los cuales corresponden a los movimientos localizados en los ejes XYZ. Esta configuración es utilizada cuando la precisión es más importante que la flexibilidad (habilidad a llegar a cualquier punto, en posición y orientación, en el área de trabajo).
8
c) Configuración polar: También denominada esférica, cuenta con dos grados de rotación y uno de desplazamiento. Esta especialmente diseñada para levantar y colocar grandes pesos, como motores de vehículos.
d) Configuración angular: Es la más flexible y adaptable, por lo que se utiliza cuando no se requiere un alto grado de precisión en el movimiento de piezas pesadas
Figura 1.4 a) configuración cartesiana, b) configuración cilíndrica, c) configuración polar , d)configuracion SCARA, e) configuración angular [12]
Además de las cuatro configuraciones antes mencionadas, existen otras configuraciones llamadas no clásicas.
El ejemplo más común de una configuración no clásica lo representa el robot tipo SCARA, cuyas siglas significan: “Brazo de Robot con Montaje Selectivamente Obediente”. Este brazo puede realizar movimientos horizontales de mayor alcance debido a sus dos articulaciones rotacionales. El robot configuración SCARA también puede realizar un movimiento lineal mediante su tercera articulación [9].
9
presenta un volumen de trabajo parecido a un cilindro, aunque normalmente este robot no tiene una rotación de 360°.
Por otra parte, los robots que poseen una configuración polar, angular y los modelos tipo SCARA presentan un volumen de trabajo regular.
1.2.4 Características
A continuación se describen las características más relevantes de los robots y se proporcionan valores concretos de las mismas, para determinados modelos y aplicaciones.
Grados de libertad Espacio de trabajo
Precisión de los movimientos Capacidad de carga
Velocidad
Tipo de actuadores
Configuraciones morfológicas
1.2.4.1 Grados de libertad (GDL)
Son los parámetros que determinan la posición y la orientación del elemento terminal del manipulador. El número de grados de libertad del robot viene dado por la suma de los GDL de las articulaciones que lo componen.
Los grados de libertad del brazo de un manipulador están directamente relacionados con su anatomía o configuración.
10 1.2.4.2 Espacio de Trabajo
Las dimensiones de los elementos del manipulador, junto a los grados de libertad, definen la zona de trabajo del robot, características fundamentales en las fases de selección e implantación del modelo adecuado [16].
El volumen de trabajo de un robot se refiere únicamente al espacio dentro del cual puede desplazarse el punto donde se instala la herramienta correspondiente. Para determinar el volumen de trabajo no se toma en cuenta el efector final o herramienta, la razón de ello es que al robot se le pueden adaptar herramientas de distintos tamaños y formas.
Espacio de trabajo Descripción
El robot cartesiano genera una figura cubica.
El robot cilíndrico presenta un volumen de trabajo parecido a un cilindro
Los robots de configuración polar, angular y modelos SCARA presentan un volumen de trabajo irregular
Tabla 1.4 Espacio de Trabajo [12]
1.2.4.3 Precisión de movimientos
11
los datos de tal manera que una computadora central pueda controlar todo el flujo de un proceso [18].
El controlador a su vez se encarga de regular cada uno de los movimientos del manipulador, las acciones, cálculos y procesado de la información. El controlador recibe y envía señales a otras máquinas-herramientas (por medio de señales de entrada/salida) y almacena programas que permiten desempeñar una tarea de acuerdo a las instrucciones enviadas.
Son tres los factores de los cuales dependen de la precisión de un robot:
Exactitud Repetitividad
Resolución espacial.
Exactitud: Es la capacidad de un robot para situar el extremo de su muñeca en un punto señalado dentro del volumen de trabajo.
Repetitividad: Se refiere a la capacidad del robot de regresar al punto programado cuantas veces sean necesarias.
Resolución espacial: Es el incremento más pequeño de movimiento en que el robot puede dividir su volumen de trabajo.
1.2.4.4 Capacidad de carga Se refiere a el peso, en kilogramos, que puede transportar la garra del manipulador, puede oscilar entre 0.9 Kg y 205 Kg [16].
1.2.4.5 Velocidad
12 1.2.4.6 Tipos de actuadores
Los actuadores [10] de tipo oleo hidráulico se destinan a tareas que requieren una gran potencia y grandes capacidades de carga, su costo es elevado y se construyen con mecánica de precisión.
Los motores eléctricos, ocupan la mayor demanda en el campo de la robótica, por su gran precisión en el control de su movimiento y las ventajas inherentes a la energía eléctrica que consumen.
Motores de corriente continúa.
Son los actuadores que se emplean con mayor facilidad. Están formados por dos imanes pegados a la carcasa del motor y un conjunto de bobinas de cobre en el eje del motor. Se basa en la atracción o repulsión entre el campo magnético que se genera en las bobinas por el paso de la electricidad y los imanes que se encuentran alrededor de ella [16].
Figura 1.5 Motor de corriente continua [9]
13 Motorreductor CC
Consiste en un micro motor de CC [13], con una caja reductora que usa el sistema de tipo planetario en un compartimiento sellado, lo que libera al sistema de la suciedad que podría afectar su funcionamiento.
Figura 1.6 Motorreductor [10] Servos
Un servo es un motor de CC con una capacidad de giro de 180 grados. El circuito de control posiciona el eje y compara la señal que recibe de un potenciómetro interno con la señal de control externa. Cuando gira el eje, también gira el potenciómetro. Por último, el ángulo está determinado por la duración de un pulso que se aplica al cable de control [16]. Esta señal es una onda cuadrada de 1,5 ms que se repite a un ritmo de entre 10 a 22ms, y con un valor de pico entre 3 y 5V. La posición del eje dependerá del ancho de pulso de la señal de control.
Figura 1.7 Servomotor [11]
1.3 Control para manipuladores
14
Adaptativo: Se ocupa de controlar la variación de las características del manipulador al variar la posición.
Cinemática: El control se realiza sobre la posición y la velocidad.
De posición: El controlador únicamente interviene en el control de la posición del elemento final.
Dinámico: Controla las propiedades dinámicas del manipulador y de los elementos asociados a él.
1.4 Aplicaciones
El área automotriz sigue siendo la principal rama de la industria donde los robots son utilizados para soldadura de puntos, pintura “spray” y manipulación de partes de la carrocería, chasis y motor [9].
Figura 1.8 Brazo robótico en fabricación de autos [5]
15
Figura 1.9 Brazo robótico en la medicina [6] Figura1.10 Brazo en la industria [7]
Los robots teleoperadores son dispositivos robóticos con brazos manipuladores y sensores con cierto grado de movilidad, controlados remotamente por un operador humano de manera directa o por un ordenador. [17]
Figura 1.11 Robot Teleoperador [7]
1.5 Planteamiento del Problema
16
Dicha propuesta pretende ser implementada en el laboratorio CIM de UPIITA, ya que en la actualidad carece de este tipo de técnicas, las cuales benefician el aprendizaje de los alumnos, aumentando la posibilidad de emplear diferentes estrategias didácticas en las unidades de aprendizaje (Introducción a la Mecatrónica, Sistemas de Manufactura, Automatización de una línea de Producción y Sistemas de Calidad en la Manufactura).
1.5.1Justificación
Este proyecto surge por la necesidad de incluir diferentes parámetros en el sistema de selección de piezas e integrar todos sus componentes y capacidades en un solo proceso. Aunque ya existen sistemas similares, estos presentan carencias tales como:
No se pueden mezclar diferentes morfologías No se clasifica por color
Es decir, el presente trabajo fue planteado con la intención de reducir o eliminar las deficiencias mencionadas, con el objeto de permitir la realización de un proceso más factible, además de minimizar costos relativos por la compra e importación de equipos y tecnologías.
1.5.2 Propuesta de solución.
Se desarrollará un sistema que permita la implementación de un robot Mitsubishi RV-M1 para la clasificación y/o selección de piezas por color y/o morfología, aplicando técnicas de visión artificial.
Los algoritmos desarrollados en este trabajo, son bajo el ambiente MATLAB® que se ha distinguido por su gran capacidad de desarrollo matemático.
Las partes que integran el proyecto se enumeran a continuación:
17
2. Manipulación del Robot Mitsubishi®RV-M1.Este robot se encarga de tomar la pieza maquinada y llevarla a la posición que el software de control determine. Las posiciones están en función de la actividad que esté realizando la estación o por el resultado de análisis dimensional.
3. Algoritmo para selección mediante visión artificial. Este programa debe procesar una imagen, que la webcam o captura, de donde estén dispuestas las piezas a seleccionar.
4. Ajuste de webcam. Sus funciones son la de obtener una imagen del objeto manufacturado y proporcionar dicha información al software que controle la estación.
19 CAPÍTULO II
CONCEPTOS DE ROBÓTICA
2.1 Cinemática directa
Es la función que proporciona la posición y orientación del efector final del robot expresada en coordenadas operacionales pero en función de sus coordenadas articulares [18].
Se utiliza una matriz de rotación para describir las operaciones rotacionales del sistema ligado al cuerpo con respecto al sistema de referencia; al igual que coordenadas homogéneas que representan vectores de posición en un espacio tridimensional. Posteriormente, se amplían las matrices de rotación a matrices de transformación homogénea para incluir operaciones traslacionales del sistema de coordenadas ligado al cuerpo [12].
2.2 Cinemática inversa
Consiste en encontrar los valores que deben adoptar las coordenadas articulares del robot, para que su extremo se posicione y oriente según una determinada localización espacial [9].
2.3 Parámetros Denavit-Hartenberg
La representación de Denavit-Hartenberg establece que al seleccionarse adecuadamente los sistemas de coordenadas asociados, a cada eslabón, será posible pasar de uno al siguiente mediante cuatro transformaciones básicas que dependen exclusivamente de las características geométricas del eslabón [9].
Reduciendo el patrón de transformaciones para relacionar el sistema de referencia del elemento i con respecto al sistema del elemento i – 1:
Rotación alrededor del eje Zi-1 un ángulo θi.
Traslación a lo largo del eje Z i-1 una distancia di.
Traslación a lo largo del eje Xi una distancia ai.
20 1 0 0 0 0 C 0 0 C 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 C 0 0 C 1 i i i i i i i i i i i i α Sα Sα α a d θ Sθ Sθ θ = A 1 0 0 0 0 1 1 i i i i i i i i i i i i i i i i i i d Cα Sα Sθ a Cθ Sα Cθ Cα Sθ Cθ a Cθ Sα Sθ Cα Cθ = A ) α )R(X, , )Tr(a d )Tr( θ R(Z, =
Aii1 i 0,0, i i 0,0 i
…(2.1)
Se obtiene la matriz de paso generalizado de D-H, donde son los parámetros D-H del eslabón i:
... (2.2)
Para que la matriz i i
A1 relacione los sistemas Oi y Oi-1 es necesario que los sistemas coordenados se determinen mediante [9]:
Numerar y etiquetar el eslabón fijo (base) como 0.
Numerar y etiquetar los eslabones móviles desde 1 hasta el eslabón móvil n.
Localizar y numerar el eje de cada articulación y etiquetarla comenzando desde Z0 hasta Zn-1. Si la articulación es rotativa, el eje será su propio eje de giro. Si la articulación es prismática, el eje será a lo largo del cual se produce el desplazamiento [9].
El sistema coordenado de la base es generado tomando el origen como O0 en cualquier punto del eje z0. Arbitrariamente establecer los ejes x0 y y0 respetando la regla de la mano derecha [9].
21
En la intersección del eje Zi con la línea común a la intersección de Zi y Zi-1
En la intersección de Zi y Zi-1, si se interceptan.
En la articulación i, si son paralelos Zi y Zi-1
Establecer xi:
A lo largo de la línea normal común entre los ejes Zi y Zi-1 que pasa por Oi.
En la dirección normal al plano formado por Zi y Zi-, si es que estos dos ejes se interceptan.
Establecer yi de acuerdo a la regla de la mano derecha.
Localizar el sistema coordenado n-ésimo en el extremo del robot. Si es una rotacional, se establece Zn a lo largo de la dirección Zn-1 y establece el origen On de la manera más conveniente a lo largo de Zn, preferentemente en el centro de la pinza.
Establecer xn y yn de acuerdo a la regla de la mano derecha.
Crear tabla con parámetros D-H de los eslabones [15] donde:
θi = Es el ángulo formado de los ejes xi y xi-1 medido en un plano perpendicular a zi-1 utilizando la regla de la mano derecha.
di = Es la distancia a lo largo del eje Zi-1 desde el origen Oi-1 hasta la intersección del eje Xi con el eje Zi-1.
ai = Para articulaciones rotatorias: es la distancia a lo largo del eje Xi, desde el origen Oi hasta la intersección del eje Xi con el eje Zi-1. Para articulaciones prismáticas: es la distancia más corta entre los ejes.
22
Figura 2.1 Parámetros D- H para eslabones [14]
Realizar la matriz D-H de transformación homogénea para cada eslabón de acuerdo a los datos de la tabla del punto anterior.
Obtener la matriz de transformación que relacione el sistema coordenado de la base con el sistema coordenado del extremo del robot, resultando en la posición y orientación del sistema coordenado de la herramienta, expresado en coordenadas de la base.
T= A0n=
∏
i=1n AiA−1
2.4 Matriz de rotación
La matriz de rotación indica la orientación y transformación entre dos marcos de referencia, [15] que a su vez es utilizada para obtener la cinemática directa.
23 w v u z y x p p p p p p w z v z u z w y v y u y w x v x u x k k j k i k k j j j i j k i j i i i
Figura 2.2 Sistema de dos coordenadas [12]
Resulta sencillo notar que el sistema coordenado uvw gira un ángulo ϴ en torno al sistema xyz, tomando como eje de rotación el eje x. El vector P, con componentes u, v, w en el sistema uvw está representado como [15]:
w w v v u u
uvw pi p j p k
P
Donde px py y pzrepresentan las componentes de p a lo largo del eje xyz, y se efectúa el producto escalar de P con los vectores unitarios en el sistema xyz: ix + jy + kz
w v
u
x P p p p
p ix ixiu ixjv ixkw
w v
u
y P p p p
p jy jy iu jy jv jykw
w v
u
z P p p p
p kz kziu kz jv kzkw
En forma matricial
... (2.3)
24 w z v z u z w y v y u y w x v x u x k k j k i k k j j j i j k i j i i i R z y x w v u p p p p p p z w y w x w z v y v x v z u y u x u k k j k i k k j j j i j k i j i i i 3 1 I R R R R
QR T
C S S C x Rot 0 0 0 0 1 ) , ( La matriz de rotación está dada por:
... (2.4)
Se obtienen las coordenadas Puvw con las coordenadas Pxyz
xyz
uvw QP
P
O
... (2.5)
Como los productos escales son conmutativos, esto significa que la inversa de una matriz de rotación es igual a su transpuesta [15]:
T
R R
Q 1
... (2.6)
Donde I3 es la matriz identidad.
Se obtiene las matrices de rotación sobre los ejes xyz:
Rotación respecto al eje x con el ángulo ϴ
25 0 0 1 0 0 ) , ( C S S C y Rot 1 0 0 0 0 ) , (
S C
S C z Rot S S S C C S C C S S C S S C C C S C S S S C C S C S S C C C S S C C S S C u Rot w Rot I y Rot R 0 0 0 0 1 1 0 0 0 0 C 0 S -0 1 0 S 0 C ) , ( ) , ( ) , ( 3
Rotación respecto al eje y con el ángulo ϴ
... (2.8)
Rotación respecto al eje z con el ángulo ϴ
... (2.9)
La matriz de rotación que representa una rotación en el ángulo α con respecto al eje x seguida por una rotación del ángulo ϴ respecto al eje z, y por ultimo una rotación del ángulo ϕ respecto a y la matriz de rotación [15] resultan
... (2.10)
... (2.11)
Los sistemas de coordenadas son incidentes, de aquí que la matriz de rotación es una matriz identidad I3 de 3x3.
2.5 Traslación de un sistema de coordenadas
26 1 1 0 0 0 1 0 0 0 1 0 0 0 1 w v u dz dy dx = Pz Py Px = Pxyz
La traslación de un sistema de coordenadas con respecto de otro, se representa por medio de la suma de vectores. Con referencia a la Figura 2.3, si los sistemas uvw y xyz coinciden inicialmente y se traslada uvw con respecto a xyz, manteniendo los
ejes u, v y w paralelos a x, y y z respectivamente [9]:
w w v v u u
uvw pi p j p k
P
Se convierte en:
Pxyz = (u+dx) ix + (v+dy) jy + (w+dz) kz ... (2.16)
Figura 2.3 Sistema de coordenadas trasladado [13]
Expresando la ecuación 2.15 de forma matricial (con Px, Py y Pz expresados como componentes de un vector columna), se obtiene:
... (2.17)
La matriz 4x4 es una matriz de traslación, [Tr] y podemos escribir:
Pxyz = Tr Puvw
27 1 0 0 0 1 0 0 0 1 0 0 0 1 dz dy dx 1 0 0 0 z z z z y y y y x x x x p a s n p a s n p a s n F 1 0 1 3 3 3 P R 2.6 Matriz de transformación homogénea
Una matriz de transformación homogénea es utilizada para explicar la relación geométrica entre el sistema ligado al cuerpo uvw y el sistema de coordenadas de
referencia xyz.
Un vector p en un espacio tridimensional se expresa en coordenadas homogéneas
̂ [( ) ]
Puede ser ampliada a una matriz de rotación homogénea para operaciones de rotación.
Tx,α=
1 0 0 0 0 0 0 0 0 0 0 1 C S S C
Ty,ϕ=
1 0 0 0 0 0 0 0 1 0 0 0 C S S C
Tz,ϴ=
1 0 0 0 0 1 0 0 0 0 0 0 C S C C
La posición del origen de uvw, con respecto al de xyz en forma de matriz homogénea queda de la siguiente manera:
Ttrans= ... (2.18)
Esta matriz es llamada la traslación homogénea [15].
Para obtener la matriz total se debe de premultiplicar la matriz que representa la rotación, por la matriz que representa la traslación [15].
28
Donde s es la orientación, a el vector de aproximación y p el vector de posición de la
herramienta. Finalmente el vector n está definido como:
n= s x a ... (2.20)
29 CAPÍTULO III
CONCEPTOS DE VISIÓN ARTIFICIAL
3.1 Procesamiento digital de imágenes
La visión artificial es la forma más cercana en que los investigadores han tratado de simular la visión humana, intentando así describir el espacio como lo hace el cerebro humano a través de las imágenes y de la programación. A través del tiempo se han desarrollado diversas maneras de procesar las imágenes dependiendo de las necesidades y del medio en el que se trabaja, por lo que la visión por computadora permiten obtener una representación del mundo a partir del análisis de imágenes obtenidas a través de ciertos dispositivos de captura de imagen [9].
En la actualidad muchas áreas se apoyan en el procesamiento digital de imágenes para lograr mejores y más eficientes procesos.
Por ejemplo, en la industria manufacturera se emplea para identificar el posicionamiento de piezas [19], en la medicina permite detectar enfermedades del corazón, en el área militar es útil para la identificación de barcos y tanques [8].
Entre las principales operaciones, con las que se construyen diversas aplicaciones específicas de visión por computadora, se pueden destacar las siguientes:
Establecimiento de relaciones especiales entre varios objetos, para guiar a un robot en el ensamblaje de piezas
Realización de mediciones angulares.
Identificación de objetos o personas a partir de su fotografía. Librar obstáculos.
3.1.1 Elementos de un sistema de procesamiento digital de imagen
30
- Procesador (unidad de proceso de datos)
- Pantalla (unidad de salida de datos)
El Digitalizador es un dispositivo que convierte una imagen en una representación numérica (imagen digital).
Un Procesador es un dispositivo que realiza algún tipo de manipulación con imágenes digitales. Por último la pantalla convierte las matrices numéricas que representan imágenes digitales en representaciones que pueden ser distinguidos por el ser humano a través de los sentidos [9].
3.2 Imágenes digitales
El ojo humano distingue los colores mediante sensores (conos) que traducen la energía lumínica en señales nerviosas, y se dividen en tres clases, dependiendo de la banda de longitudes de onda a la cual son más sensibles. Como se observa en la Figura 3.1 los sensores alfa (azul) presentan una mayor sensibilidad a 480 nanómetros, los tipos beta (verde) a 540 nanómetros y gama (rojo) a 570 nanómetros [8].
La identificación de color en la imagen se hace mediante la combinación de estas tres señales para percibir los diversos colores que podemos distinguir.
Figura 3.1 sensibilidad espectral del ojo humano [23]
31
Una imagen es una función de la intensidad de luz:
f (x,y)
Donde la f es la luminosidad del punto (x, y), y (x y) representan las coordenadas espaciales de un elemento de imagen o píxel.
Los sensores de área son empleados en todas las cámara digitales dado que logran resoluciones de 1024x1024 [8]. Entre los más comunes se encuentran:
Sensores CCD/CMOS: Delante del sensor se coloca un filtro RGB, llamado mosaico de Bayer [8]. Cada fotodiodo recibe información de uno de los tres colores (rojo, verde o azul) y los otros dos canales de cada pixel se interpolan. Cada pixel procesa la información mediante algoritmos y así identifica cuales serán los dos valores que faltan.
Sensores Foveon x3: Capturan el color real de las imágenes sin necesidad de inventar ninguno de los tres canales [8], evita problemas como el moiré (puntos superpuestos que crean ilusión de más colores).
Figura 3.2 Sensores de área [23]
32
La luz se refleja de dos maneras llamadas reflexión especular y reflexión difusa [8]. En la reflexión especular, cada rayo incidente refleja en una sola dirección, que pueden saturar el sensor de la cámara. La reflexión difusa es tenue y su intensidad de reflexión es de 10 a 1000 veces menor que la fuente de luz [8].
Figura 3.3 Reflexión Especular [23] Figura 3.4 Reflexión Difusa [23]
La resolución describe cuan nítida es una imagen de fotografía por medio de los números enteros [8]. Una imagen de m columnas y de n filas tiene una resolución de m x n, es decir, se determina por el número de columnas de píxeles(los pixeles que tiene la imagen a lo ancho), y la cantidad de filas de pixeles (cuantos pixeles tiene la imagen a lo alto).
Una imagen a color es codificada en memoria como una imagen RGB o una imagen en matiz, saturación y luminancia (HSL). Los pixeles están compuestos de cuatro valores. Las imágenes RGB almacenan la información de color usando 8 bits para los planos rojos, verdes y azules. Mientras que las imágenes HSL almacenan la información de color usando 8 bits para matiz, saturación y luminancia. Las imágenes de U64 de RGB almacenan la información de color usando 16 bits para los planos rojos, verdes y azules [9].
3.3 Formatos de Imagen
33
también almacenan información sobre calibración, plantillas de comparación de patrones y superficies [9].
Figura 3.5 Imagen en diferentes tipos de formato [23]
Los formatos de archivo más comunes son: Bitmap (BMP)
Tagged image file format (TIFF)
Portable network graphics (PNG) — Ofrece la capacidad de almacenar la información de una imagen sobre la calibración espacial, comparación de patrones, plantillas y superficies.
Joint Photographic Experts Group format (JPEG)
National Instruments internal image file format (AIPD) — Usado para salvar imágenes de punto flotante, complejas, y de HSL
Los formatos estándar para escala de grises de 8 bits e imágenes en color RGB son BMP, TIFF, PNG, JPEG, y AIPD. Los formatos estándar para escala de grises de 16 bits, RGB de 64 bits, e imágenes complejas son PNG y AIPD.
3.3.1 Fundamentos del color
Una de las principales características para clasificar y seleccionar objetos por medio de técnicas de visión artificial por computadora es el color [8]. Existen diferentes modelos de color, a continuación se mencionan algunos:
3.3.1.1 Modelo RGB
34
decir 3 bytes, codificando cada color primario con 1 byte (8 bites) que pueden tomar 256 valores con un rango de 0 a 255. Los pixeles RGB son tridimensionales, es decir pixelRGB=(R, G, B), donde f es la intensidad del color rojo, verde y azul en coordenadas (x, y) del pixelRGB. Por lo tanto se puede representar en coordenadas cartesianas [8].
Figura 3.6 Distribución de colores en cubo RGB [23]
Tabla 3.1 Ocho colores básicos RGB [14]
Colores básicos RGB
RGB Color
0, 0, 0 Negro
1, 1, 1 Blanco
1, 0, 0 Rojo
0, 1, 0 Verde
0, 0, 1 Azul
1, 1, 0 Amarillo
0, 1, 1 Cian
35 3.3.1.2 Modelo XYZ
Las componentes X,Z son imaginarias, toda la información de intensidad está comprendida únicamente por la componente Y. Los colores se distribuyen en la curva en función de la longitud de onda. Se observa que con este espacio de color no es fácil la separación de colores [8].
Figura 3.7 Distribución de colores en modelo XYZ [23]
3.3.1.3 Modelo HSI
Los colores se representan mediante tono, saturación e intensidad (HSI) que describen color, pureza y brillo. Un valor de color es representado como un punto en el cilindro, mientras que el tono es el ángulo de rotación sobre la superficie circular del cilindro. La saturación es la longitud del vector desde el centro del círculo al valor del color en cuestión. La intensidad se representa por la longitud del vector desde la base del cilindro al valor del color [8].
36 3.4 Bordes de imagen
De forma general, la mayor parte del procesamiento de una imagen digital se lleva a cabo mediante el procesamiento de cada uno de los pixeles y valor de sus vecinos. Un vecino es un píxel cuyo valor afecta el valor de otro píxel cercano cuando una imagen es procesada [9]. Los píxeles a lo largo del borde de una imagen no tienen vecinos en todos los cuatro lados. Se puede definir el borde de imagen especificando un tamaño de borde y el valor de los píxeles del borde. El tamaño del borde debe acomodar la vecindad de píxel más grande requerida para la función que está usando. El tamaño de la vecindad es especificado por el tamaño de un arreglo en segunda dimensión. El método que se usa para rellenar los píxeles del borde depende de la función de procesamiento empleada de acuerdo a la aplicación.
3.5 Máscara de una imagen
La función básica de una máscara de imagen es aislar partes de una imagen para su procesamiento. Los píxeles de la máscara de la imagen determinan cuales de los píxeles correspondientes en la inspección de la imagen son procesados. Es decir, si un píxel en la máscara tiene un valor diferente de cero, el píxel correspondiente en la inspección de la imagen es procesado, por otra parte si un píxel en la máscara de la imagen tiene un valor de 0, el píxel correspondiente en la inspección de la imagen no es procesado. Las máscaras de imagen son utilizadas cuando se quiere enfocar un procesamiento o inspección en regiones particulares de la imagen [9].
37 3.6 Elementos de calibración
Uno de los principales inconvenientes que se presentan en la adquisición de imágenes por medio de una cámara es la representación de una escena en el ambiente al plano de imagen, es decir, es necesario conocer la arquitectura del sistema de posición de la cámara.
Es posible encadenar varias transformaciones para producir un resultado compuesto, como una traslación, seguida de un cambio de escala y una rotación con la finalidad de convertir las transformadas generales en una sola forma matricial.
Para el proceso de traslación se define que se trasladará un punto de coordenadas (X, Y, Z) a otro lugar empleando un desplazamiento (X0, Y0, Z0)
Este procedimiento de expresa en forma matricial de la siguiente manera:
El utilizar matrices cuadradas permite simplificar la notación necesaria para representar este proceso.
Entonces la representación matricial general es:
Donde A es una matriz de transformación de 4x4, y v es un vector columna que
contiene las coordenadas originales:
38
v* es un vector columna cuyos componentes son las coordenadas transformadas:
Finalmente se obtiene la matriz empleada para la traslación:
Para el cambio de escala, es decir, cuando la última fila es distinta de [0 0 0 1] se emplean los factores Sx, Sy, Sz a lo largo de los ejes X, Y, Z, y está representado por la siguiente matriz.
Finalmente para la rotación de un punto en el ángulo alrededor del eje Z, se emplea la siguiente transformación:
Figura 3.10 Rotación de un punto alrededor de los ejes [13]
39
La rotación de un punto sobre el eje X con un ángulo es representada con la transformación:
Por último, la rotación de un punto en un ángulo , alrededor del eje Y se consigue mediante la siguiente transformación:
3.6.1 Transformación de perspectiva
También denominada transformación de imagen, esto es, que a diferencia de otros procesos de calibración, esta permite la calibración de una imagen completa [9]. Se define un sistema de coordenadas (x, y, z) de modo que el plano de la imagen concuerde con el plano (x, y) y a su vez el eje óptico coincida con el eje z.
Figura 3.11 Proceso de formación de imágenes [15] Plano
imagen
40
Se pueden emplear coordenadas homogéneas de un punto con coordenadas cartesianas (X, Y, Z) y se definen por (kX, kY, kZ), donde k es la constante arbitraria. En el sistema de coordenadas cartesianas un punto puede representarse en forma vectorial como:
En coordenadas homogéneas esta dado por:
La matriz de imagen o transformación de perspectiva se define como:
Por lo tanto el producto Pwk se representa por ch= Pwk
ch= Pwk =
1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 f k kZ kY kX = k f kZkZ kY kX
Los elementos de ch son las coordenadas de la cámara en forma homogénea [9]. Las coordenadas se convierten en forma cartesiana dividiendo cada uno de los tres
componentes de ch por – .
De este modo, las coordenadas cartesianas de cualquier punto en el sistema de coordenadas de la cámara se escriben en forma vectorial de la siguiente manera: