DISEÑO E IMPLEMENTACIÓN DEL SISTEMA AUTOMÁTICO DE CONTROL CON VISIÓN ARTIFICIAL PARA UN MANIPULADOR CARTESIANO DE DOS GRADOS DE LIBERTAD. MIGUEL ANGEL SARMIENTO DAZA UNIVERSIDAD MILITAR NUEVA GRANADA FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA BOGOTÁ D.C. 2015 DISEÑO E IMPLEMENTACIÓN DEL SISTEMA AUTOMÁTICO DE CONTROL CON VISIÓN ARTIFICIAL PARA UN MANIPULADOR CARTESIANO DE DOS GRADOS DE LIBERTAD. MIGUEL ANGEL SARMIENTO DAZA Proyecto de Grado para optar por el título de Ingeniero Mecatronico. Tutor: MAURICIO FELIPE MAULEDOUX MONROY Ingeniero Mecatronico PhD. UNIVERSIDAD MILITAR NUEVA GRANADA FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA BOGOTÁ D.C. 2015 NOTA DE ACEPTACIÓN ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ __________________________ Director __________________________ Jurado ___________________________ Jurado Bogotá, 10 de Enero de 2015 AGRADECIMIENTOS A Dios por acompañarnos durante el camino de mi carrera, A mi familia por su incondicional apoyo y dedicación A todos mis amigos y compañeros que estuvieron Conmigo en las buenas y en las malas. A todos ellos; ¡GRACIAS TOTALES! ÍNDICE GENERAL LISTA DE IMÁGENES _________________________________________________________ 8 LISTA DE ECUACIONES _______________________________________________________ 13 LISTA DE TABLAS ___________________________________________________________ 15 RESUMEN ________________________________________________________________ 16 1. INTRODUCCIÓN ______________________________________________________ 17 1.1. PLANTEAMIENTO DEL PROBLEMA ___________________________________________________ 17 1.2. OBJETIVO GENERAL _______________________________________________________ 18 1.3. OBJETIVOS ESPECÍFICOS ___________________________________________________ 18 1.4. JUSTIFICACIÓN ___________________________________________________________ 18 1.5. ANTECEDENTES Y ESTADO DEL ARTE _________________________________________ 19 1.5.1. MESA DE POSICIONAMIENTO X-Y _________________________________________________ 19 1.5.2. CONSTRUCCIÓN DE UNA MAQUINA PARA CORTE DE SILUETAS METÁLICAS ASISTIDA POR COMPUTADOR ________________________________________________________________________ 19 1.5.3. INTERPRETE CAD Y APLICACIÓN PARA OPTIMIZACIÓN DE PARÁMETROS DE CONTROL DE UN ROBOT INDUSTRIAL. ____________________________________________________________________ 20 1.5.4. CORTADOR ULTRASÓNICO DE DISCO “SPI” __________________________________________ 21 1.5.5. SISTEMA DE CONTROL DEL PROTOTIPO SRC _________________________________________ 22 1.5.6. PROGRAMACIÓN DE UN ROBOT CARTESIANO PARA MONITOREO POR FIBRA ÓPTICA. _______ 22 1.5.7. ROBOT CARTESIANO PARA EL SEGUIMIENTO DE TRAYECTORIAS IRREGULARES ARBITRARIAS MEDIANTE COMPUTADORA. _____________________________________________________________ 23 1.5.8. MEJORA DE LA DETECCIÓN Y CARACTERIZACIÓN DE MATERIALES CON UN SISTEMA AUTOMÁTICO DE ULTRASONIDOS. ________________________________________________________ 24 1.5.9. FISCHERSCOPE: ANÁLISIS DE MATERIALES Y MEDICIÓN DEL ESPESOR DE RECUBRIMIENTOS. __ 25 1.5.10. INSPECCIÓN Y CLASIFICACIÓN AUTOMÁTICA DE PASTA DE PAPEL TCF Y EFC. ______________ 25 1.5.11. SISTEMA DE CONTROL DE UN ROBOT CARTESIANO. __________________________________ 26 1.6. MARCO TEÓRICO _________________________________________________________ 28 1.6.1. ROBÓTICA ____________________________________________________________________ 28 1.6.2. CONTROL _____________________________________________________________________ 28 1.6.3. SISTEMAS DE CONTROL PARA ROBÓTICA ___________________________________________ 28 TIPOS DE SISTEMAS DE CONTROL _______________________________________________________ 29 ROBOT DE SECUENCIA LIMITADA. _____________________________________________________ 29 ROBOTS DE REPRODUCCIÓN _________________________________________________________ 30 ROBOTS INTELIGENTES ______________________________________________________________ 30 1.6.4. VELOCIDAD DE RESPUESTA Y ESTABILIDAD. _________________________________________ 30 1.6.5. PRECISIÓN DE MOVIMIENTO _____________________________________________________ 31 RESOLUCIÓN ESPACIAL. _______________________________________________________________ 31 EXACTITUD _________________________________________________________________________ 32 REPETITIVIDAD. ______________________________________________________________________ 33 1.6.6. CINEMÁTICA Y DINÁMICA DE UN ROBOT ___________________________________________ 33 1.6.7. VISIÓN ARTIFICIAL ______________________________________________________________ 34 1.6.8. PROCESAMIENTO DIGITAL DE IMÁGENES ___________________________________________ 34 ADQUISICIÓN DE IMAGEN _____________________________________________________________ 35 IMAGEN CAPTURADA _______________________________________________________________ 35 ESPACIOS DE COLOR ______________________________________________________________ 35 RGB _________________________________________________________________________ 36 YUV _________________________________________________________________________ 37 HSV _________________________________________________________________________ 38 PRE PROCESAMIENTO _______________________________________________________________ 40 TRANSFORMACIÓN DE INTENSIDAD _________________________________________________ 40 TRANSFORMACIONES GEOMÉTRICAS ________________________________________________ 41 SEGMENTACIÓN ___________________________________________________________________ 41 MÉTODOS POR BORDES. __________________________________________________________ 42 MÉTODOS POR REGIONES. _________________________________________________________ 42 MÉTODOS POR UMBRAL __________________________________________________________ 42 REPRESENTACIÓN Y DESCRIPCIÓN _____________________________________________________ 43 CÓDIGOS DE CADENA _____________________________________________________________ 43 APROXIMACIÓN POLIGONAL. _______________________________________________________ 44 ESQUELETO DE REGIÓN. ___________________________________________________________ 44 RECONOCIMIENTO E INTERPRETACIÓN _________________________________________________ 46 PATRONES DE VECTOR ____________________________________________________________ 46 SECUENCIAS ____________________________________________________________________ 47 ARBOLES _______________________________________________________________________ 47 2. REALIMENTACIÓN DE POSICIÓN Y MODELO MATEMATICO ___________________ 48 2.1. TRANSDUCTORES DE POSICIÓN _____________________________________________ 48 2.1.1. TRANSDUCTORES DE DESPLAZAMIENTO LINEAL ______________________________________ 49 INTRODUCCIÓN ______________________________________________________________________ 49 POTENCIÓMETRO RESISTIVO ___________________________________________________________ 49 TRANSFORMADOR LINEAL VARIABLE DIFERENCIAL LVDT _____________________________________ 50 TRANSDUCTORES DE INDUCTANCIA VARIABLE _____________________________________________ 51 TRANSDUCTORES CAPACITIVOS DE DESPLAZAMIENTO LINEAL. ________________________________ 52 SENSORES DE DEFORMACIÓN: GALGAS EXTENSIOMETRICAS. _________________________________ 53 TRANSDUCTORES PIEZOELÉCTRICOS DE DESPLAZAMIENTO LINEAL. ____________________________ 53 TRANSDUCTORES DE DESPLAZAMIENTO LINEAL ELECTRO-ÓPTICOS ____________________________ 54 SENSORES DE RANGO: ULTRASÓNICOS Y FOTOELÉCTRICOS. __________________________________ 55 INTERRUPTORES DE POSICIÓN __________________________________________________________ 56 CONCLUSIÓN ________________________________________________________________________ 57 2.1.2. TRANSDUCTORES DE DESPLAZAMIENTO ANGULAR ___________________________________ 58 INTRODUCCIÓN ______________________________________________________________________ 58 POTENCIÓMETROS CIRCULARES Y HELICOIDALES ___________________________________________ 59 TRANSFORMADOR DIFERENCIAL ROTACIONAL. ____________________________________________ 59 TRANSFORMADOR VARIABLE. __________________________________________________________ 60 TRANSFORMADORES SÍNCRONOS TRIFÁSICOS _____________________________________________ 61 RESOLVERS __________________________________________________ ¡Error! Marcador no definido. ENCODERS __________________________________________________________________________ 62 CONCLUSIÓN ________________________________________________________________________ 63 2.2. CONCLUSIÓN FINAL DE IMPLEMENTACIÓN. ____________________________________ 65 2.2.1. POTENCIÓMETRO DE GIRO CONTINUO _____________________________________________ 65 2.3. SISTEMA MECÁNICO ______________________________________________________ 66 2.3.1. MECANISMO DE TRANSMISIÓN ___________________________________________________ 67 2.3.2. RESOLUCIÓN FINAL. ____________________________________________________________ 67 2.4. MODELO MATEMÁTICO DEL SISTEMA REALIMENTADO __________________________ 68 2.4.1. MOTOR PASO A PASO Y DRIVER DE CONTROL _______________________________________ 68 2.5. MODELO CINEMÁTICO DEL MANIPULADOR ___________________________________________ 69 2.5.1. CINEMÁTICA DIRECTA_________________________________________________________ 69 2.5.2. JACOBIANO _________________________________________________________________ 70 2.5.3. ALGORITMO DE LÍNEA RECTA __________________________________________________ 70 2.6. MODELO DINÁMICO DEL MANIPULADOR _____________________________________________ 73 2.6.1. FORMULACIÓN LAGRANGE-EULER ______________________________________________ 73 3. SISTEMA DE CONTROL _________________________________________________ 78 3.1. CONTROL NUMÉRICO CON REALIMENTACIÓN DE POSICIÓN ______________________ 78 3.2. CONTROL DES-CENTRALIZADO ______________________________________________ 81 3.3. CONTROL CENTRALIZADO __________________________________________________ 81 3.3.1. CONTROL PD __________________________________________________________________ 81 3.3.2. CONTROL BASADO EN LA DINÁMICA INVERSA _______________________________________ 86 3.4. IMPLEMENTACIÓN FINAL __________________________________________________ 90 4. SISTEMA DE ENTRADA DE DATOS ________________________________________ 91 4.1. INTRODUCCIÓN __________________________________________________________ 91 4.2. SISTEMA DE DETECCIÓN. ___________________________________________________ 92 4.2.1. CAPTURA DE IMAGEN ___________________________________________________________ 92 4.2.2. CALIBRACIÓN DE LA CÁMARA WEB ________________________________________________ 94 JUSTIFICACIÓN ______________________________________________________________________ 94 SOFTWARE _________________________________________________________________________ 94 4.3. RESOLUCIÓN SISTEMA DE ENTRADA DE DATOS ________________________________________ 98 4.3.1. ESTRUCTURA PARA CÁMARA WEB FINAL. ______________________________________ 100 4.3.2. DISEÑO ESTRUCTURA FINAL _________________________________________________ 100 4.4. APLICACIÓN DEL ALGORITMO DE DETECCIÓN. ________________________________________ 101 4.4.1. UMBRAL DE DETECCIÓN ______________________________________________________ 103 4.4.2. CONFORMACIÓN DEL VECTOR DE DATOS. _________________________________________ 107 4.4.3. EXPORTACIÓN DE DATOS. ______________________________________________________ 109 4.4.4. RESOLUCIÓN PROTOCOLO DE COMUNICACIÓN _____________________________________ 111 5. IMPLEMENTACION FINAL Y RESULTADOS _________________________________ 112 5.1. RESULTADOS. ___________________________________________________________ 112 5.1.1. RESULTADOS SISTEMA DE VISIÓN ARTIFICIAL. ______________________________________ 112 TRAYECTORIA REGULAR ______________________________________________________________ 115 TRAYECTORIA IRREGULAR ____________________________________________________________ 119 5.2. RESULTADOS IMPLEMENTACIÓN FÍSICA. _____________________________________________ 122 5.2.1. CONTROLADOR NUMERICO CON REALIMENTACION DE POSICION ____________________ 123 5.2.2. CONTROLADOR PD __________________________________________________________ 128 5.2.3. CONTROLADOR PD+ _________________________________________________________ 135 6. RESOLUCIÓN FINAL DEL SISTEMA INTEGRADO _____________________________ 142 7. CONCLUSIONES ______________________________________________________ 143 8. BIBLIOGRAFIA __________________________________ ¡Error! Marcador no definido. LISTA DE IMÁGENES 1. Esquema del dispositivo final. 2. Robot ACMA en funcionamiento con lápiz como efector final. 3. Cortador Ultrasónico de Disco SPI 4. Esquema del robot cartesiano 5. Diseño del manipulador cartesiano 6. Esquema del sistema automático de medida 7. Microscopio de análisis de material 8. Fotografía del Robot Gantry 9. Función lineal por tramos 10. Velocidad y estabilidad en robótica. 11. Exactitud y resolución espacial en donde las inexactitudes mecánicas se representan por una distribución estadística 12. Repetitividad y exactitud. 13. Cubo de color RGB. 14. Matriz de conversión RGB a YVrCb. 15. Cono hexagonal e color HSV. 16. Transformación de valor. 17. Transformación geométrica en un plano. 18. Segmentación. 19. Código de cadena. 20. Aproximación poligonal. 21. Esqueleto de región. 22. Forma de patrón de vector. 23. Esquema simple de un potenciómetro resistivo. 24. Dos esquemas del LVDT que indican el tipo de salida y el movimiento que se traduce. Los arrollamientos secundarios están conectados en oposición- serie. Core.- núcleo. 25. Transductor acoplado con tres contactos. 26. Condensador cilíndrico de placas paralelas que muestra el principio operativo del transductor capacitivo. Se señalan con flechas las placas. 27. (a) Transductor capacitivo con dos placas plano-paralelas. (b) Transductor con capa de dieléctrico sólido. 28. Esquema de un sensor de deformaciones. 29. Didáctica del efecto piezoeléctrico. 30. Principio operativo del método de reflexión. 31. Dos modelos de sensores de rango ultrasónicos. 32. Modelo comercial de interruptor electromecánico. 33. Esquema del potenciómetro circular y helicoidal. 34. Modelo de funcionamiento del transformador diferencial rotacional. 35. Principio de funcionamiento. 36. Modelo del funcionamiento del “sincro”. 37. Disposición física resolver. 38. Configuración de un encoder. 39. Potenciómetro de giro continúo. 40. Diagrama de bloques sistema de control general. 41. Secuencias para el control de un motor paso a paso, paso simple o doble. 42. Driver de potencia existente en el dispositivo. 43. Diagrama de bloques sistema motor-driver. 44. Interfaz realizada en MatLab. 45. Sección de entrada de datos de la interfaz en MatLab. 46. Avance de las articulaciones en el espacio. 47. Velocidades articulares. 48. Diagrama de bloques del sistema dinámico. 49. Trayectoria a seguir para cada el eje x (rojo) y el eje y (morado). 50. Velocidades articulares en la trayectoria. 51. Aceleraciones articulares. 52. Fuerzas articulares. 53. Diagrama de bloques sistema motor-driver. 54. Angulo entre puntos. 55. Diagrama de bloques del control PD 56. Trayectoria a seguir para cada el eje x (rojo) y el eje y (morado). 57. Diagrama de bloques del controlador PD. 58. Aceleración lineal del sistema de control. 59. Velocidad lineal del sistema de control. 60. Posición del sistema de control. 61. Trayectoria deseada vs trayectoria obtenida. 62. Diagrama de bloques del controlador Basado en la dinámica inversa. 63. Diagrama de bloques del controlador basado en la dinámica inversa. 64. Velocidad deseada (rosa) vs velocidad real (rojo). 65. Aceleración deseada (arriba) vs aceleración real (abajo). 66. Trayectoria deseada vs trayectoria real. 67. Trayectoria deseada vs trayectoria obtenida. 68. Interfaz de usuario actual. 69. Espacio de trabajo en tablero de ajedrez. 70. Ingreso de datos para calibración. 71. Detección de esquinas en el tablero de ajedrez. 72. Distorsión corregida. 73. Ajuste de distorsión. 74. Camera web Microsoft LifeCam VX-800. 75. Esquema espacio de trabajo real. 76. Esquema espacio de trabajo virtual. 77. Esquema de la solución planteada. 78. Estructura de cámara final. 79. Diagrama de bloques del algoritmo de control. 80. Contorno real – contorno detectado irregular. 81. Difuminarían del color en imágenes comunes. 82. Interfaz para cálculo del umbral. 83. Calculo del umbral. 84. Calculo del umbral. 85. Ejemplos de la implementación del umbral. 86. Sección del algoritmo encargada de almacenar las coordenadas. 87. Coordenadas adquiridas en pixeles mediante el algoritmo de detección. 88. Diagrama de bloques del envió de datos. 89. Esquema comunicación encriptada. 90. Fraccionamiento de datos de envió. 91. Posición de control de cada dato a enviar. 92. Estructura cámara web con espacio de trabajo en tablero de ajedrez. 93. Imagen tomada desde la cámara web. 94. Proceso de calibración terminado. 95. Imagen real – Imagen obtenida desde cámara web. 96. Imagen real – Imagen obtenida desde cámara web. 97. Bordes detectados. 98. Resultados obtenidos. 99. Software CAD. 100. Pieza obtenida en SolidWorks. 101. Plano obtenido en tamaño real de acuerdo a las coordenadas obtenidas. 102. Trayectoria dibujada – Trayectoria obtenida. 103. Trayectoria obtenida por el algoritmo de control. 104. Resultados obtenidos. 105. Pieza ensamblada en SolidWorks. 106. Plano a tamaño real. 107. Trayectoria dibujada – trayectoria obtenida. 108. Trayectorias a implementar por el controlador actual. 109. Diagrama de bloques controlador basado en arco tangente. 110. Respuesta al controlador basado en arco tangente. 111. Diagrama de bloques de la planta. 112. Controlador basado en arco tangente. 113. Controlador numérico discretizado. 114. Trayectoria controlador en tiempo continuo (arriba), trayectoria controlador en tiempo discreto (abajo). 115. Comportamiento de la señal de control con trayectoria circular. 116. Trayectoria circular reproducida. 117. Comportamiento señal de control con trayectoria irregular. 118. Trayectoria irregular reproducida. 119. Diagrama de bloques de la planta. 120. Contantes del controlador PD. 121. Controlador PD discretizado. 122. Trayectoria controlador en tiempo continuo (arriba), trayectoria controlador en tiempo discreto (abajo). 123. Controlador real en tiempo discreto. 124. Respuesta del controlador en tiempo discreto real. 125. Trayectorias a seguir por el controlador actual. 126. Comportamiento de la señal de control con trayectoria circular. 127. Trayectoria circular reproducida. 128. Comportamiento señal de control con trayectoria irregular. 129. Trayectoria irregular reproducida. 130. Diagrama de bloques de la planta. 131. Contantes del controlador PD+. 132. Controlador PD+ discretizado. 133. Trayectoria controlador en tiempo continuo (arriba), trayectoria controlador en tiempo discreto (abajo). 134. Controlador real en tiempo discreto. 135. Respuesta del controlador en tiempo discreto real. 136. Trayectorias a implementar por el controlador actual. 137. Comportamiento de la señal de control con trayectoria circular. 138. Trayectoria circular reproducida. 139. Comportamiento señal de control con trayectoria irregular. 140. Trayectoria irregular reproducida. LISTA DE ECUACIONES 1. Ecuación resolución espacial. 2. Aplicación del cociente de aspecto en una imagen. 3. Representación matemática del momento. 4. Representación matemática para el área. 5. Centroide. 6. Expresión para el avance del husillo. 7. Resolución del sistema mecánico. 8. Matriz de transformación 9. Jacobiano del manipulador cartesiano. 10. Algoritmo de línea recta. 11. Formulación LaGrange-Euler. 12. Expresión energía cinética y Potencial de la articulación sobre el eje x. 13. Expresión energía cinética y Potencial de la articulación sobre el eje y. 14. Lagrangiano del manipulador. 15. Formulación dinámica. 16. Formulación dinámica para cada articulación. 17. Formulación dinámica del sistema en forma matricial. 18. Señal de control para cada grado de libertad. 19. Calculo del Angulo entre puntos. 20. Expresión final del Angulo entre puntos. 21. Expresión de la señal de control final. 22. Coeficientes de control Kp y Kv. 23. Comportamiento críticamente amortiguado. 24. Expresión para las constantes Kp y Kd. 25. Señal de control del controlador. 26. Señal de control del controlador. 27. Resolución en mm/pixel. 28. Resolución en mm/pixel. 29. Calculo de resolución de corte para el eje X. 30. Calculo de resolución de corte para el eje Y. 31. Calculo de la relación entre las resoluciones de corte del sistema. 32. Calculo de resolución de corte final para el sistema. 33. Calculo de resolución de corte para el eje X. 34. Calculo de espacio de trabajo eje Y. LISTA DE TABLAS 1. Valores de colores en RGB. 2. Valores de colores en YCrCb. 3. Valores de colores en HSV. 4. Ventajas y desventajas de los transductores lineales. 5. Ventajas y desventajas de los transductores angulares. 6. Tabla comparativa entre los posibles transductores a implementar. 7. Especificaciones técnicas de la cámara utilizada. RESUMEN En este proyecto se realiza el diseño e implementación del sistema de control adecuado y el método de entrada de datos (imágenes de corte) utilizando inteligencia artificial, para un manipulador cartesiano de dos grados de libertad, brindando un error menor del 5% en su resultado final y aumentando la resolución del sistema, ya que este manipulador es utilizado en procesos de corte mediante laser. Para el diseño e implementación del sistema de control fue necesario cerrar el lazo de control, realimentando la posición final de cada grado de libertad, para así poder diseñar el tipo de algoritmo de control adecuado, teniendo en cuenta que no basta con controlar la posición de cada grado de libertad, sino que hay que sincronizar cada eje ya que el manipulado presentara movimientos en línea recta según los datos de ingreso. Para esto se propuso un sistema de control automático de posición y un sistema de control de velocidad para cada grado de libertad presente en el manipulador. Para el ingreso de datos al sistema se diseñó una interfaz de usuario capaz de captar las imágenes de forma manual para así poder detectar los contornos de corte y automáticamente realizar el corte. Se utilizaron algoritmos de detección de contornos específicos, procesamiento digital de imágenes para realizar los procesos ya descritos. 1. INTRODUCCIÓN Un dispositivo cartesiano de 2 grados de libertad con un sistema de entrada de datos y sistema de control adecuado, ofrece gran variedad de aplicaciones en diversos campos de acción tanto en ingeniería como en el comercio actual. El dispositivo cartesiano de 2 grados de libertad diseñado para la asignatura Diseño Mecatronico el primer semestre del año 2015 cuenta con un sistema de control en lazo abierto y un sistema de entrada de datos, el cual limita el funcionamiento y presenta una resolución espacial de 10mm. Es por esto que requiere una mejora en su sistema de control, protocolo de comunicación y su sistema de entrada de datos, para mejorar su funcionamiento, aumentando su resolución espacial y dando un valor agregado al mercado actual. Dentro de la Ingeniería Mecatrónica se encuentran varios campos de acción, entre los cuales se pueden resaltar el control, robótica e inteligencia artificial. Las cuales han sido utilizadas para mejorar el rendimiento y funcionamiento de diversos mecanismos o procesos existentes hoy en día. 1.1. PLANTEAMIENTO DEL PROBLEMA La manufactura, corte o diseño asistido por computador ha sido una herramienta fundamental para el desarrollo industrial y tecnológico en los últimos años; este tipo de procesos presentes en gran cantidad de sectores industriales, desde los más comunes como lo son el Diseño Industrial o Diseño Mecánico, en donde se pueden encontrar piezas con formas irregulares o acabados específicos; hasta los más complejos como lo son la industria aéreo-espacial o automovilística, en las cuales se requieren piezas con acabados complejos y medidas con gran precisión para garantizar un correcto funcionamiento. De ahí surge la necesidad de contar con dispositivos capaces de reproducir las ideas planteadas por los diseñadores, brindando gran eficiencia y precisión en el proceso de corte a realizar. Buscando competir en estos sectores industriales y teniendo en cuenta las características principales del dispositivo se ven claramente las diferentes falencias y limitaciones con las que se cuenta actualmente resaltando la resolución de corte en los ejes lineales X, Y (10 mm) como principal limitación a corregir. ¿Cuál será la máxima resolución permitida por el sistema mecánico y etapa de potencia existente actualmente en el dispositivo, si se emplean técnicas de control avanzadas y se optimizan los sistemas de adquisición de imágenes y transmisión de datos actualmente presentes en el sistema? 1.2. OBJETIVO GENERAL Aumentar la resolución de corte de un manipulador cartesiano de dos grados de libertad para darle un valor agregado en el mercado actual. 1.3. OBJETIVOS ESPECÍFICOS  Implementar la realimentación de posición y obtener el modelo matemático de cada grado de libertad, para que se permitan utilizar diferentes técnicas de control moderno.  Obtener la máxima resolución posible del sistema de adquisición de imágenes actual del sistema.  Optimizar el sistema de transmisión de datos entre la HMI y el sistema de control del dispositivo.  Implementar la técnica de control adecuada con el fin de obtener un error menor del 5% en el sistema.  Determinar la máxima resolución de corte posible al integrar los módulos del dispositivo (HMI-Sistema de control). 1.4. JUSTIFICACIÓN La importancia de este trabajo radica en la alta demanda existente en el mercado de máquinas de corte por láser, en donde existe gran variedad de productos dispuestos a satisfacer en su totalidad las necesidades del cliente. Para introducir en el mercado un dispositivo capaz de competir con los existentes, este debe cumplir con los requerimientos técnicos para diferentes tipos de trabajos (corte de madera, corte de polímeros, grabados, etc.), debe ser amigable en su uso (HMI), y brindarle al usuario diferentes opciones para obtener un resultado deseado (sistema de adquisición de imágenes). Este proyecto pondrá en práctica los conocimientos adquiridos en la carrera de Ingeniería en Mecatrónica, específicamente las áreas de control, diseño de sistemas Mecatronico, inteligencia artificial, robótica, entre otras; con el fin de generar una solución frente a las limitaciones presentes en el proyecto de la asignatura Diseño Mecatronico. 1.5. ANTECEDENTES Y ESTADO DEL ARTE Los robots cartesianos en sus varias modalidades han sido utilizados en diferentes tareas de la industria y la tecnología, para cumplir con tareas específicas de una forma rápida y eficiente. Desde hace varios años se han implementado a nivel industrial y comercial los manipuladores cartesianos, dando solución eficiente a problemas de producción en masa y obtención de productos. Se hace un levantamiento de información haciendo énfasis en temas específicos relacionados con la idea principal del proyecto, como lo son los modelos cinemáticos empleados para este tipo de manipuladores, sistemas de control utilizados común mente, sistemas de optimización relacionados a la adquisición de imágenes, entre otros; teniendo en cuenta que se realizara un proceso de mejora y diseño, partiendo de un producto terminado. 1.5.1. MESA DE POSICIONAMIENTO X-Y Este proyecto obedece a una configuración cartesiana con la finalidad de solucionar los problemas que se tienen en la precisión de máquinas convencionales utilizadas en el fresado y torneado de piezas, en donde este tipo de máquinas tienen accionamiento manual. Consta de un robot acoplable a estas máquinas, con la finalidad de ser una alternativa económica a la hora de automatizar el proceso de mecanizado existente, evitando la adquisición de una maquina CNC, evitando así el desecho de las maquinas actuales. El proyecto pretende disminuir el tiempo de terminado de piezas con mejoras considerables en la precisión y acabado superficial final [1]. 1.5.2. CONSTRUCCIÓN DE UNA MAQUINA PARA CORTE DE SILUETAS METÁLICAS ASISTIDA POR COMPUTADOR Con este dispositivo se realiza el corte de siluetas metálicas apoyándose de un software de diseño de siluetas para posteriormente cortar placas metálicas sin necesidad de realizar el corte de forma manual, ahorrando costos de producción y disminuyendo considerablemente los riesgos en operaciones como estas [2]. El sistema se compone de un computador convencional, un sistema de control específico y un manipulador tipo cartesiano con dos grados de libertad para el desplazamiento del efector final que realizara el corte. Imagen 1. Esquema del dispositivo final. Consta de varios subsistemas, cada uno encargado de ciertas operaciones especificas dentro del proceso en general, de los cuales se pueden resaltar:  HMI: consta de un software que realiza el dibujo en una interfaz gráfica, que le da la posibilidad al usuario de establecer el área de trabajo correspondiente e ingresar o dibujar la figura deseada a cortar.  Procesamiento: realiza un suavizado de la imagen ingresada la cual se logra aplicando métodos avanzados de procesamiento digital de imágenes.  Segmentación: hace que el corte sea lo más parecido a la figura ingresada.  Descripción: exporta las coordenadas o trayectorias correspondientes para poder ser ejecutadas por el manipulador cartesiano.  Ejecución: recibe las coordenadas y ejecuta el sistema de control obteniendo como resultado la pieza terminada. 1.5.3. INTERPRETE CAD Y APLICACIÓN PARA OPTIMIZACIÓN DE PARÁMETROS DE CONTROL DE UN ROBOT INDUSTRIAL. En este proyecto se realiza el control de un robot de la marca ACMA, proveniente de la empresa RENAULT-Argentina, con el cual se pretende implementar un sistema de control para la generación de trayectorias desde un ambiente gráfico, en donde se opta por utilizar un computador convencional cuya función es explotar las coordenadas de la trayectoria a seguir. Para la generación de estas trayectorias se utiliza una interfaz gráfica en un software de diseño AutoCAD, en donde se implementa un lenguaje o algoritmo traductor ejecutado en Visual Basic, en el cual se interpretan los datos obtenidos [3]. Imagen 2. Robot ACMA en funcionamiento con lápiz como efector final. 1.5.4. CORTADOR ULTRASÓNICO DE DISCO “SPI” Este cortador ultrasónico de disco ha sido utilizado específicamente para cortar las pequeñas muestras que utilizan los micros copistas electrónicos. Requiere de un espacio pequeño en la mesa de trabajo y es capaz de cortar discos en el orden de los micrómetros. Esta cortadora ultrasónica cuenta con una mesa posicionadora tipo X-Y, en donde se ubican las muestras para ser cortadas. Imagen 3. Cortador Ultrasónico de Disco SPI [4]. 1.5.5. SISTEMA DE CONTROL DEL PROTOTIPO SRC Artículo publicado en le Revista Facultad de Ingeniería de la U.T.A. de chile en donde se adquiere un driver especializado para el control de posición y velocidad multieje del sistema, asistido mediante protocolo profibus empleando un plc para evitar la necesidad de implementar una tarjeta múltiple para el control del dispositivo. Este tipo de control recibe las referencias de posición multieje deseadas e internamente posee diferentes lazos de control que le permiten fijar la velocidad y posición para cada articulación. Este tipo de control multieje empleado en el dispositivo permite al usuario programar rutinas de forma interactiva mediante una HMI, en la cual se definen los parámetros del movimiento en general [5]. 1.5.6. PROGRAMACIÓN DE UN ROBOT CARTESIANO PARA MONITOREO POR FIBRA ÓPTICA. Proyecto para el área de programación de la Universidad Autónoma de Puebla, específicamente el Departamento de Microelectrónica, desarrollado por F. Porras, J. Cid M, A. *Lara E., A. Mendoza H., F. Reyes, A. Gracia, J. Méndez M., O. Gutiérrez B, F. Amaro. En este documento plantean la programación del algoritmo de control con el fin de manipular el robot a distancia. Plantean que el modelo matemático del Robot se calculó con la herramienta de diseño asistido que brinda MATLAB, en donde se introducen las variables del modelo mecánico y las características de los motores utilizados, con el fin de integrar una tarjeta de adquisición de datos Advantech PCL- 1800, utilizando encoders como realimentación de posición para cerrar al lazo de control [6]. Imagen 4. Esquema del robot cartesiano [6]. 1.5.7. ROBOT CARTESIANO PARA EL SEGUIMIENTO DE TRAYECTORIAS IRREGULARES ARBITRARIAS MEDIANTE COMPUTADORA. Trabajo realizado con el fin de obtener el título en Ingeniería en Electrónica y Comunicaciones en la Universidad Autónoma del Estado de Hidalgo. Este proyecto consiste en el diseño, construcción y programación de un robot cartesiano de 3 grados de libertad con el fin de seguir trayectorias irregulares generadas mediante un computador, utilizando métodos clásicos de control utilizando el puerto paralelo del computador y una tarjeta de adquisición de datos para implementar el control del robot cartesiano utilizando Visual Basic como software base. Imagen 5. Diseño del manipulador cartesiano [7]. 1.5.8. MEJORA DE LA DETECCIÓN Y CARACTERIZACIÓN DE MATERIALES CON UN SISTEMA AUTOMÁTICO DE ULTRASONIDOS. Se presenta un sistema automático de inspección de materiales por ultrasonidos basado en el plano cartesiano X-Y. Con este se pretende mejorar el rendimiento en el procesamiento y la precisión en variedad de operaciones de inspección por ultrasonidos. Los campos de aplicación de máquinas de medidas en un plano coordenado X-Y son: inspección en control de calidad, aplicaciones en medidas precisas, inspección masiva de productos, ingeniería reversa, procesos de medición automáticos para reducir errores y costos de operación [8]. Imagen 6. Esquema del sistema automático de medida [8]. 1.5.9. FISCHERSCOPE: ANÁLISIS DE MATERIALES Y MEDICIÓN DEL ESPESOR DE RECUBRIMIENTOS. Este dispositivo además de analizar las sustancias de los materiales también en el estudio de las mismas verifica la dureza y algunas propiedades como elasticidad, permeabilidad, entre otras. Dentro del análisis de las sustancias se ayuda de una pequeña mesa X-Y que desplaza el objeto hacia el punto de enfoque y estos datos obtenidos los trasmite hacia un computado para su posterior análisis. Imagen 7. Microscopio de análisis de material [9]. 1.5.10. INSPECCIÓN Y CLASIFICACIÓN AUTOMÁTICA DE PASTA DE PAPEL TCF Y EFC. El proyecto desarrollado automatiza el procedimiento manual usado hasta ahora para la detección y medición de impurezas en hojas de pasta de papel. Para la detección de dichas impurezas se analiza cada una de las caras de la hoja, las cuales son iluminadas a contraluz según la norma ENCE 404 [10]. Del sistema de inspección automática de pueden resaltar las siguientes partes:  Sistema mecánico: Mesa X-Y que desplaza el papel ante el sistema de adquisición de imágenes.  Sistema de adquisición de imágenes: Iluminación 4 cámaras matriciales entrelazadas WATEC 902A.  Tarjeta de adquisición PULSAR-LC de Matrox. 1.5.11. SISTEMA DE CONTROL DE UN ROBOT CARTESIANO. El robot Gantry UBA fue construido en el Laboratorio de Robótica por alumnos y docentes investigadores de la Universidad de Buenos Aires y es el resultado de sucesivos trabajos de grado relacionados. Es un robot tipo pórtico (Gantry), con 3 ejes servo controlado que permiten posicionar y orientar la herramienta en forma arbitraria en un plano. Un cuarto eje de dos posiciones permite el desplazamiento vertical de la herramienta, que consiste en una pinza accionada por un solenoide que puede tomar pequeñas piezas [25]. En el desarrollo de un manipulador robótico confluyen temas provenientes de distintas áreas del conocimiento científico-tecnológico: la mecánica, la teoría de los sistemas de control, los dispositivos electromecánicos y electrónicos, y los sistemas informáticos. El software del controlador del robot Gantry UBA se desarrolló en C++ y lo ejecuta una PC utilizando como software de base el sistema operativo de tiempo real QNX [17]. QNX permitió desarrollar un controlador en tiempo real distribuido en varios procesos organizados jerárquicamente que realizan sus tareas de manera cooperativa y concurrente utilizando un único procesador. Imagen 8. Fotografía del Robot Gantry UBA. Un robot industrial es un manipulador mecánico controlado automáticamente, flexible y de propósito general, cuyos movimientos pueden ser programados para realizar una amplia variedad de tareas. La ejecución de una tarea involucra el seguimiento de una trayectoria cuya generación usualmente está determinada por eventos externos que pueden provenir de sensores, dispositivos u otras máquinas que formen parte del ambiente de trabajo y con los cuales el robot debe interactuar. La ocurrencia de estos eventos no se puede predecir y por lo tanto las trayectorias no pueden ser planificadas sino que deben ser generadas en tiempo real a medida que se ejecuta el movimiento [26]. Por otro lado, el controlador debe asegurar los tiempos de ejecución de las distintas tareas para poder realizar los movimientos recorriendo las trayectorias en forma y tiempo, cumpliendo con los requerimientos tanto de posición como de velocidad. La generación automática de la trayectoria hace la descripción del movimiento fácil para el usuario, dejando que el sistema realice los cálculos necesarios [18]. Para programar una tarea el operador especifica una secuencia de objetivos (posición y orientación) por los cuales la herramienta del robot deberá acercarse. Para pasar exactamente por un objetivo deberá detenerse en el mismo [19]. El algoritmo generador de trayectoria calcula los puntos intermedios a seguir entre los objetivos ingresados por el operador. Estos puntos intermedios son las referencias para el algoritmo que realiza el proceso de control de los actuadores de los ejes. La Imagen 22. Muestra un conjunto de posiciones en el espacio de coordenadas para una variable genérica θ en función del tiempo, unidas por una función lineal por tramos. Imagen 9. Función lineal por tramos. Por la estructura cinemática del Gantry, linealidad en el espacio de los ejes significa linealidad en el espacio cartesiano y no existen singularidades. En cada uno de los segmentos la velocidad es constante, sin embargo los cambios bruscos de velocidad que se muestran no son admisibles, requerirían aceleraciones (torques en los actuadores) infinitas. 1.6. MARCO TEÓRICO 1.6.1. ROBÓTICA El conjunto de conocimientos teóricos y prácticos que permiten concebir, realizar y automatizar sistemas basados en estructuras mecánicas poli articuladas, dotados de un determinado grado de “inteligencia” [20]. En 1979, el Robot Institute of América definiría un robot como: 'Un manipulador reprogramable y multifuncional diseñado para trasladar materiales, piezas, herramientas o aparatos específicos a través de una serie de movimientos programados para llevar a cabo una variedad de tareas. [21] Veinte años más tarde, la Encarta de Microsoft da la siguiente definición: 'Máquina controlada por ordenador y programada para moverse, manipular objetos y realizar trabajos a la vez que interacciona con su entorno. Los robots son capaces de realizar tareas repetitivas de forma más rápida, barata y precisa que los seres humanos. El cambio más sustancial incorporado al concepto en estos veinte años es el hecho de contemplar una interacción del robot con su entorno, que permite comportamientos adaptativos e inteligentes. Se considera a un robot como un agente autónomo inteligente (AAI) cuando cumple los siguientes requisitos:  Autonomía: El sistema de navegación reside en la propia máquina, que debe operar sin conexión física a equipos externos.  Inteligencia: El robot posee capacidad de razonar hasta el punto de ser capaz de tomar sus propias decisiones y de seleccionar, fusionar e integrar las medidas de sus sensores [21]. 1.6.2. CONTROL El control automático es un área de estudio teórico y práctico que aporta medios para obtener un desempeño óptimo de los sistemas dinámicos, está basado en los fundamentos de la teoría de retroalimentación y el análisis de sistemas, el primer trabajo significativo en el control automático fue el regulador de velocidad centrifugo de James Watt para el control de la velocidad de una máquina de vapor en el siglo XVIII, Monorsky,Hazen y Niquist, entre muchos otros, aportaron trabajos importantes en las etapas iniciales del desarrollo de la teoría de control [11]. 1.6.3. SISTEMAS DE CONTROL PARA ROBÓTICA El sistema de control del robot hace referencia a la forma y a la medida en la que necesitamos saber cómo se mueven los motores de cada uno de los vínculos o partes rígidas del manipulador y por tanto del robot. Uno de los grandes problemas que plantea el desarrollo de un robot es el poder modelar su movimiento. Para poder describir el movimiento al menos el de un cuerpo rígido se necesita de: un marco de referencia, un vector de posición, y en el caso de los robots con articulaciones giratorias un vector de orientación. En un sistema de control robótico es de vital importancia lograr una alta exactitud y respetabilidad. La exactitud se refiere a la capacidad de un robot para situar el extremo de su muñeca en un punto señalado dentro del volumen de trabajo. Mide la distancia entre la posición especificada, y la posición real del actuador terminal del robot. Mantiene una relación directa con la resolución espacial, es decir, con la capacidad del control del robot de dividir en incrementos muy pequeños el volumen de trabajo. La repetitividad, se refiere a la capacidad del robot de regresar al punto programado las veces que sean necesarias. Esta magnitud establece el grado de exactitud en la repetición de los movimientos de un manipulador al realizar una tarea programada. El controlador es el encargado de recibir los datos correspondientes a los ángulos de las articulaciones del robot, posteriormente envía la señal de control a cada motor, ya sea servo o paso a paso, esto se repite dentro de un bucle infinito, de esta forma se garantiza que el robot siempre este manteniendo su posición [12]. TIPOS DE SISTEMAS DE CONTROL Los robots existentes en las industrias se pueden clasificar en cuatro categorías diferentes, los cuales requieren sistemas de control específicos [22].  Robot de secuencia limitada.  Robots de reproducción con control punto a punto.  Robots de reproducción con control de recorrido continuo.  Robots inteligentes. ROBOT DE SECUENCIA LIMITADA. Los robots de secuencia limitada representan el nivel más bajo y los robots inteligentes el más sofisticado. Los robots de secuencia limitada no utilizan un servo control para indicar las posiciones de las articulaciones, estos se controlan a través de interruptores de fin de carrera o topes mecánicos para establecer los puntos finales de desplazamiento. Este método solo ayuda al sistema de control a un desplazamiento de extremos. La secuencia en la que se produce el ciclo de movimiento se define por un computador paso a paso, una placa de clavijas u otro dispositivo de secuencia. Este dispositivo señala a cada uno de los actuadores en que secuencia se deben accionar. Este tipo de robots no cuentan con dispositivos de realimentación para verificar si alcanzo la posición deseada. Para este tipo de robots se puede utilizar con mayor frecuencia el sistema de impulsión neumática aunque puede utilizarse cualquier otro [23]. ROBOTS DE REPRODUCCIÓN Los robots de reproducción cuentan con una unidad de control más completa, en la que una serie de posiciones y movimiento son programados al robot y son almacenados en una unidad de memoria para posteriormente ser reproducidos en la aplicación requerida. Estos robots cuentan con un tipo de servo-control para verificar si las posiciones y movimientos realizados fueron los que se le programaron [23]. ROBOTS INTELIGENTES Los robots inteligentes constituyen una clase cada vez más vista dentro de las industrias no solo por reproducir una serie de ciclos de movimiento programados sino también por interaccionar con su entorno. Su controlador consiste en un computador o un controlador programable. Estos robots pueden modificar su ciclo programado según las condiciones de su volumen de trabajo, toman decisiones lógicas de acuerdo a los datos obtenidos de los sensores, se comunican con los humanos y con otros dispositivos basados en computadora durante la realización de un ciclo de trabajo. Este tipo de robots se programan mediante un lenguaje de alto nivel para realizar actividades complejas y sofisticadas [23]. 1.6.4. VELOCIDAD DE RESPUESTA Y ESTABILIDAD. Estos términos son importantes en la dinámica para sistemas de control dentro de un robot. La velocidad de respuesta refiere a la capacidad del robot de desplazarse a la posición siguiente en un período de tiempo corto. La estabilidad se define como la medida de oscilaciones que se producen en el robot (brazo) durante el movimiento desde una posición a la siguiente. Un robot con buena estabilidad presenta pocas o ninguna de las oscilaciones producidas por el movimiento. En el diseño de sistemas de control se requiere que se tenga una buena estabilidad y un tiempo de respuesta corto; sin embargo estos términos son incompatibles pues la estabilidad puede controlarse, en cierta medida, incorporando sistemas amortiguadores en el diseño del robot. Un alto nivel de amortiguación aumenta la estabilidad del robot. El problema con la alta amortiguación es que reduce la velocidad de respuesta, debido a este problema se debe buscar una solución la cual reduzca las oscilaciones y aumente la velocidad de respuesta. En la Imagen 23. Se muestra una relación en donde según el nivel de amortiguamiento se obtiene la velocidad de respuesta. En un alto nivel de amortiguamiento no se tiene oscilaciones pero obtenemos una velocidad de respuesta lenta. Cuando se reduce el nivel de amortiguamiento la velocidad de respuesta es rápida pero el sistema tiene oscilaciones [24]. Imagen 10. Velocidad y estabilidad en robótica. 1.6.5. PRECISIÓN DE MOVIMIENTO Este término se define a partir de las tres características primordiales dentro del funcionamiento de un robot:  Resolución espacial.  Exactitud.  Repetitividad. RESOLUCIÓN ESPACIAL. Este término se define como el más pequeño incremento de movimiento en el que el robot puede medir su volumen de trabajo, la cual depende de dos factores importantes. El primero de ellos es la resolución de control del sistema que viene determinada por El sistema de control de posición del robot y su sistema de medida de realimentación. Es la capacidad para dividir el margen total de movimiento para cada articulación en incrementos individuales que regula el controlador. Esto de dividir en incrementos individuales depende de la capacidad de almacenamiento en bits que tenga la memoria de control. El número de incrementos identificables separados (puntos direccionables) para un eje particular viene dado por: 2𝑛 Ecuación 1. Ecuación resolución espacial. Donde n= números de bits en la memoria de control. Por ejemplo, un robot con 8 bits de almacenamiento puede dividir el margen en 256 posiciones distintas. La resolución de control se definiría como el margen de movimiento total dividido por el número de incrementos [24]. EXACTITUD La exactitud es la capacidad de que tiene el robot para situar el efector final en el punto final deseado dentro del volumen de trabajo. También se puede definir en términos de resolución espacial, pues la capacidad de alcanzar un punto destino determinado depende de que tan próximos pueda el robot definir los incrementos de control para cada uno de sus movimientos de articulaciones. En el caso más desfavorable el punto deseado estaría en medio de dos incrementos de control adyacentes. En el caso más desfavorable podemos definir a la exactitud, como la mitad de la resolución de control. Esta definición se muestra en la Imagen 24. Imagen 11. Exactitud y resolución espacial en donde las inexactitudes mecánicas se representan por una distribución estadística [24]. REPETITIVIDAD. Este término se refiere a la capacidad que tiene el robot de situar el efector final en un punto en particular el cual fue programado con anterioridad. La repetitividad no solo se refiere a que se alcance el punto deseado sino además de que lo haga cuando se le ordene. Esto se puede ver en la Imagen 25. Donde el punto destino deseado se le asigna la letra T. En la programación se le ordena al robot que llegue al punto T, pero debido a las limitaciones que causa la exactitud, la posición programada se realiza en el punto P. La distancia entre los puntos T y P es la manifestación de la exactitud del robot. Posteriormente se da instrucción de regresar al punto programado P, pero retorna a otro punto el cual se le denomina punto de retorno R. El espacio entre los Puntos P y R es el resultado de las de las limitaciones de la repetitividad del robot. El robot no siempre retornara al punto R, en ocasiones retornara a posiciones que se encuentran a los lados de los puntos R y P [24]. Imagen 12. Repetitividad y exactitud. 1.6.6. CINEMÁTICA Y DINÁMICA DE UN ROBOT La esencia de un manipulador robótico, es que este pueda moverse dentro un marco establecido con cierto grado de precisión, repetitividad, y confianza para cumplir con la funciones para la cuales fue diseñado o adaptado; este aspecto plantea algunos pequeños problemas, uno de ellos es saber en qué lugar está el manipulador, el segundo es saber cuál es el mejor camino o trayectoria adecuada que se debe seguir para llegar al destino fijado. El primer problema es resuelto en física con ayuda de la Cinemática, el segundo con la Dinámica en la generación de trayectorias [13]. 1.6.7. VISIÓN ARTIFICIAL La visión por computadora tiene como objetivo duplicar el efecto de la visión humana percibiendo y entendiendo una imagen por medios electrónicos. Utiliza los resultados y métodos de las matemáticas, reconocimiento de patrones, inteligencia artificial, ciencias de la computación, electrónica y otras disciplinas científicas para conseguir su objetivo. En visión por computadora se distinguen dos niveles: procesamiento de imágenes de bajo nivel y entendimiento de imágenes de alto nivel [14]. 1.6.8. PROCESAMIENTO DIGITAL DE IMÁGENES El procesamiento digital de imágenes aparece tardíamente en la historia de la computación, ya que antes de pensar en ello, había que desarrollar el hardware y los sistemas operativos gráficos que permitieran hacerlo. Por otro lado, los algoritmos y las técnicas de optimización que han tenido que desarrollarse para el procesamiento digital de imágenes son muy sofisticados y elaborados. En la actualidad existen muchas aplicaciones de software que permiten el procesamiento digital de imágenes, mucho de este utiliza técnicas o algoritmos que son bien conocidos por la comunidad que trabaja en ello, pero otros utilizan sus propias variantes o técnicas nuevas que están poco documentadas. Se resaltan los pasos fundamentales para realizar el procesamiento digital de imágenes:  El primer paso es la adquisición de la imagen; para lograrlo, se requiere de una cámara y la capacidad de digitalizar la señal producida por ella.  Después de que una imagen digital ha sido obtenida, el siguiente paso es el reprocesamiento de la imagen. El objetivo de este paso es mejorar la imagen para aumentar la probabilidad de éxito en los siguientes pasos. Algunos ejemplos de métodos utilizados en esta etapa son aumentar el contraste, remover el ruido, etc.  La siguiente etapa es la segmentación en donde se realiza una partición de la imagen en sus partes constituyentes u objetos.  Los datos obtenidos en la etapa de segmentación deben ser convertidos a una estructura apropiada para su posterior procesamiento. La descripción, también llamada selección de características, extrae información cuantitativa o características relevantes para diferenciar un objeto de los demás.  La última etapa es el reconocimiento e interpretación. El reconocimiento es el proceso que asigna un identificador a un objeto basado en la información provista por sus descriptores. La interpretación es asignar un significado al objeto reconocido. En general, los sistemas de procesamiento que incluyen reconocimiento e interpretación están asociados a aplicaciones de análisis de imágenes cuyo objetivo es la extracción automática de información [15]. ADQUISICIÓN DE IMAGEN Tres elementos son necesarios para adquirir imágenes digitales de video. El primero es un dispositivo físico que sea sensible a la banda visible del espectro electromagnético y que produzca una señal eléctrica proporcional al nivel de energía percibido. El segundo elemento es un cable por donde la señal eléctrica sea transmitida, y el tercero es un digitalizador, encargado de convertir la señal eléctrica del dispositivo físico a una forma digital [GON 93] aunque en la actualidad existen cámaras que producen una señal digital (IEEE 1394) que puede ser transmitida a la computadora sin necesidad de un digitalizador [27]. IMAGEN CAPTURADA Una imagen capturada es un conjunto de valores numéricos. La resolución es la medida básica de cuanta información es visible en una imagen. Generalmente es descrita en términos de “h”x“v”. Donde “h” es la resolución horizontal y “v” es la resolución vertical. Entre más grandes sean éstos números es mejor debido a que la imagen tendrá un mayor detalle. Existe una relación que guarda el ancho de la imagen con su altura conocida como cociente de aspecto, este puede ser 4:3 o 16:9. Es decir, cuando se tiene un cociente de aspecto de 4:3 significa que la resolución vertical es ¾ la resolución horizontal, por ejemplo, con una resolución horizontal de 640 la resolución vertical es ¾ de 640: 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛 𝑉𝑒𝑟𝑡𝑖𝑐𝑎𝑙 = 3 4 ∗ 640 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛 𝑉𝑒𝑟𝑡𝑖𝑐𝑎𝑙 = 480 Ecuación 2. Aplicación del cociente de aspecto en una imagen. De esta forma algunas resoluciones posibles son: 1280x960, 640x480, 320*240, 160x120, etc. Cada imagen está compuesta de elementos individuales conocidos como píxeles. Si se tiene una resolución de 640 x 480 en realidad se dice que se tienen 480 líneas horizontales y 640 píxeles por cada línea, entonces, la imagen tendrá un total de 307,200 píxeles. ESPACIOS DE COLOR Un espacio de color es un modelo para la representación matemática de un conjunto de colores [KEI 01]. Se les llama espacios de color porque son representaciones en 2,3 o 4 dimensiones. Cada punto dentro del espacio corresponde a un color. Los tres espacios de color más populares son el RGB, YUV y HSI [28]. RGB Este espacio de color tiene tres componentes: rojo, verde y azul que corresponden a los tres colores primarios aditivos (los componentes individuales son mezclados para formar el color deseado) y son representados en un sistema cartesiano tridimensional como se muestra en la Imagen 13: Imagen 13. Cubo de color RGB. A continuación se muestran los valores en RGB para cada uno de los vértices del cubo de color RGB. Tabla 1. Valores de colores en RGB. Este espacio de color es generalmente utilizado en procesamiento de imágenes, pero presenta una desventaja para aplicaciones de visión por computadora debido a que no se puede separar la luminosidad del color, es decir, se necesita de los tres componentes para poder obtener la luminosidad, haciendo difícil la adaptación de la aplicación a condiciones de luz variable. La principal ventaja de este espacio de color es que es muy utilizado en gráficas por computadora. La mayoría de los monitores y tarjetas de video trabajan con este modelo por lo que resulta sumamente práctico su empleo para aprovechar rutinas de software existentes y optimización por hardware [29]. YUV Para hacer compatible el cambio de televisión en blanco y negro a televisión a color se creó el espacio de color YUV. Éste espacio de color es utilizado por los estándares de video PAL, NTSC y SECAM [KEI 01]. El sistema de televisión en blanco y negro utiliza solamente la información de luminosidad (Y). La información de color (U y V) fue agregada de manera tal que los televisores en blanco y negro siguieran siendo capaces de desplegar su imagen sin interferencia. Los televisores a color codifican la información adicional de los componentes U y V para desplegar una imagen a colores. La luminosidad (Y) es la parte de la señal de video relacionada a la cantidad de brillo en cualquier punto de la imagen. Si la luminosidad es alta, la imagen es brillante, y si es baja, la imagen es obscura, es decir, el nivel de gris en la imagen. La cromaticidad (U y V) se define como la diferencia entre un color y una referencia blanca con la misma cantidad de luminosidad [LI 00]. U se obtiene al restar la luminosidad al componente azul (U = B-Y) y V al componente rojo (V = R-Y) donde B es el componente azul y R el componente rojo. Los términos “YUV” y “YCrCb” se refieren al mismo espacio de color. Y aunque no es parte de ninguna especificación, la literatura utiliza el término “YUV” para indicar la representación analógica de la señal de video, mientras que “YCrCb” es utilizado para la representación digital. La conversión entre RGB y YCrCb estaba dada por la matriz mostrada a continuación: Imagen 14. Matriz de conversión RGB a YVrCb. La Tabla 2, nos muestra los valores en YCrCb para los colores más representativos y su rango de valores: Tabla 2. Valores de colores en YCrCb. El espacio de color YUV al tener codificada la cromaticidad en dos componentes (U y V) y luminosidad en un tercero (Y) puede ser útil para aplicaciones de visión porque pueden adaptarse a condiciones de luz variable al ignorar el componente de luminosidad sin tener impacto en la detección de colores [29]. HSV El espacio de color HSV fue creado para poder manejar el color de manera intuitiva y fue diseñado en base a la manera en que los humanos percibimos e interpretamos el color. El matiz (H) es lo que normalmente pensamos como color. La saturación (S) es la cantidad de blanco que es mezclado con el color. Una saturación de cero indica que no hay matiz y el color está dentro de la escala de grises. La componente V indica la luminosidad. La Imagen 15. Muestra el cono hexagonal del modelo de color HSV. Imagen 15. Cono hexagonal e color HSV. La tapa del cono corresponde al valor de luminosidad más intenso (V =1). La punta del cono es el color negro (sin luminosidad). El matiz (H) es el ángulo alrededor del eje de luminosidad (V), por ejemplo un matiz con valor de 120º corresponde al verde. La saturación (S) tiene un rango de 0 a 1. El punto S =0, V =1 es el color blanco. Cualquier color con V =1 y S =1 es un pigmento puro. Añadir blanco equivale a disminuir S sin cambiar V y añadir negro es disminuir V sin cambiar S. La Tabla 3. Muestra los valores en HSV para algunos colores. Tabla 3. Valores de colores en HSV. El espacio de color HSV presenta las mismas ventajas que el espacio de color YUV para aplicaciones de visión debido a la fácil separación entre luminosidad y cromaticidad, sin embargo, al no estar soportado directamente por hardware el manejo de este espacio de color puede resultar en un procesamiento muy costoso en tiempo de computo [29]. PRE PROCESAMIENTO El pre-procesamiento es el segundo paso del procesamiento digital de imágenes. Se le da este nombre a las operaciones en las imágenes al más bajo nivel de abstracción, es decir, la entrada y salida de este paso son imágenes con valores de intensidad similares a los datos originales capturados por el digitalizador. El pre-procesamiento de imágenes no incrementa la cantidad de información de una imagen, sin embargo, es muy útil porque ayuda a suprimir información que no es relevante para los objetivos particulares de análisis en un caso dado. Por lo tanto, el objetivo del pre-procesamiento es una mejora de los datos de la imagen que suprima las distorsiones indeseadas e incremente las características relevantes para su posterior procesamiento. Algunos métodos de pre-procesamiento son las transformaciones de intensidad y las transformaciones geométricas [30]. TRANSFORMACIÓN DE INTENSIDAD En una transformación de intensidad se modifica el valor del píxel sin importar su posición dentro de la imagen, algunas transformaciones de intensidad incluyen modificar el brillo, contraste, matiz, saturación, gamma, etc. El brillo es la cantidad de luz que emite la imagen. El contraste se refiere a que tan lejos están los valores más blancos de los valores más negros en una imagen. Si el valor más blanco está muy lejos del valor más negro se dice que la imagen tiene un alto contraste. Con un alto contraste la imagen es muy nítida. Si los dos valores están muy cerca uno de otro se dice que la imagen tiene un pobre o bajo contraste y no se puede distinguir la diferencia entre blanco y negro provocando que la imagen aparezca grisácea [30]. La saturación es la cantidad de color presente. Es decir, cuánto pigmento es usado para hacer el color. Entre menos pigmento, el color es menos saturado, como si se añadiera blanco al color puro. El matiz es la longitud de onda del color. Esto significa que el matiz es un término empleado para el color base (rojo, amarillo, etc.). El matiz es independiente de la intensidad y la saturación del color. Por ejemplo, un matiz rojo puede aparecer café cuando hay baja saturación, rojo claro cuando hay mucha saturación y rosa con un alto nivel de brillo y sin embargo los tres tienen el mismo valor de matiz. El resultado de una transformación de valor en una imagen es mostrado en la Imagen 16. Imagen 16. Transformación de valor. TRANSFORMACIONES GEOMÉTRICAS Las transformaciones geométricas son comunes en gráficas por computadora y también son utilizadas en análisis de imágenes. Permiten la eliminación de distorsiones geométricas que ocurren cuando una imagen es capturada, como por ejemplo las provocadas por los lentes de la cámara [30]. Una transformación geométrica es una función T que coloca al píxel (x, y) en una nueva posición ( x ’, y’). La Imagen 17. Ilustra el concepto. Imagen 17. Transformación geométrica en un plano. SEGMENTACIÓN El tercer paso del procesamiento digital de imágenes es la segmentación que subdivide a una imagen en sus partes u objetos constituyentes. El nivel al que se lleva esta subdivisión depende del problema que se esté resolviendo, esto es, la segmentación debe detenerse cuando los objetos de interés para una aplicación han sido aislados. En general, la segmentación automática es una de las tareas más difíciles en el procesamiento de imágenes. Este paso del proceso determina el eventual éxito o fracaso del análisis de la imagen. Los algoritmos de segmentación de imágenes tienen tres formas comunes: métodos basados en bordes, técnicas basadas en regiones y técnicas de umbral [30]. MÉTODOS POR BORDES. Los métodos basados en bordes se centran en la detección de contornos. Delimitan el borde de un objeto y segmentan los píxeles dentro del contorno como pertenecientes a ese objeto. Su debilidad consiste en conectar contornos separados o incompletos, lo que los hace susceptibles a fallas [31]. MÉTODOS POR REGIONES. Las técnicas basadas en regiones, usualmente operan de la siguiente forma: la imagen es dividida en regiones agrupando píxeles vecinos con niveles de intensidad similares. Las regiones adyacentes son unidas bajo cierto criterio que involucra la homogeneidad y agudeza de las fronteras de la región. Un criterio muy estricto provoca fragmentación, un criterio poco estricto ocasiona uniones indeseadas [31]. MÉTODOS POR UMBRAL Las técnicas de umbral segmentan la imagen píxel por píxel, es decir, no toman en consideración el valor de los píxeles vecinos para el proceso. Si el valor de un píxel está dentro del rango de valores especificado para un objeto el píxel es segmentado. Son efectivas cuando los objetos y el fondo de la imagen tienen rangos de valores diferentes y existe un contraste marcado entre ellos. Como la información de los píxeles vecinos es ignorada, las fronteras de regiones borrosas pueden ocasionar problemas [31]. La elección de una técnica de segmentación está determinada por las características particulares del problema a resolver. La salida de esta etapa son los valores de los píxeles que forman la frontera de una región o bien la región misma. La Imagen 18. Muestra la imagen original y segmentada de la misma escena. Imagen 18. Segmentación. REPRESENTACIÓN Y DESCRIPCIÓN Después que una imagen ha sido segmentada en regiones, el conjunto de píxeles segmentados son usualmente representados y descritos en una estructura adecuada para su posterior procesamiento. La representación es conveniente porque en lugar de procesar una gran cantidad de datos se procesa una estructura sencilla que contiene la misma información. Se puede representar la región en términos de sus características externas (frontera) o bien, representarla en términos de sus características internas (los píxeles que componen a la región). Una vez que se ha escogido se debe describir la región de acuerdo a la decisión tomada. Por ejemplo, una región puede ser representada por su frontera y describirla por características como su longitud, la orientación de la línea recta entre sus puntos extremos, etc. Generalmente, una representación externa es escogida cuando el enfoque principal está en las características de la figura. Una representación interna es seleccionada cuando interesan las propiedades de los píxeles. Algunos esquemas de representación son: códigos de cadena, aproximaciones poligonales y esqueleto de una región [31]. CÓDIGOS DE CADENA Los códigos de cadena son usados para representar una frontera mediante una secuencia de segmentos conectados de línea recta. La dirección de cada segmento es codificada utilizando un esquema de numeración. La Imagen 19. Ilustra el esquema [30]. Imagen 19. Código de cadena. APROXIMACIÓN POLIGONAL. La meta de una aproximación poligonal es capturar la esencia de la figura con el mínimo posible de segmentos poligonales. Se basa en el principio de que un borde de píxeles consecutivos puede ser aproximado con cierto grado de precisión por un polígono. El problema consiste en encontrar los puntos de las esquinas o puntos de corte que lleven a una buena aproximación. La Imagen 20. Muestra una aproximación poligonal [30]. Imagen 20. Aproximación poligonal. ESQUELETO DE REGIÓN. Un esqueleto de región es la representación de la forma estructural de la figura reducida a su gráfica. Una figura en dos dimensiones puede ser representada por sus ejes medios (esqueleto) y las distancias de los ejes a su borde. La Imagen 21. Muestra una región con su esqueleto [30]. Imagen 21. Esqueleto de región. Para describir a los esquemas de representación se pueden utilizar algunos descriptores sencillos como son:  Perímetro. Es el número de píxeles alrededor del contorno.  Momentos. Son propiedades numéricas que se pueden obtener de una determinada imagen. Para una función discreta el momento de orden ( p + q ) se define como: Ecuación 3. Representación matemática del momento.  Área. El momento simple de orden 0 representa el área de la figura en imágenes binarias. Es la suma de los valores de todos los píxeles. Ecuación 4. Representación matemática para el área.  El Centroide (X,Y) es el centro de masa de la figura y se obtiene por medio de los momentos de orden 1 ( M(1,0), M(0,1) ) y de orden 0 (área): Ecuación 5. Centroide. RECONOCIMIENTO E INTERPRETACIÓN El último paso del procesamiento digital de imágenes es el reconocimiento e interpretación que consiste en descubrir, identificar y entender patrones que son relevantes en el desempeño de una tarea dada. Un patrón es una descripción cuantitativa o estructural de un objeto o entidad en una imagen. En general, un patrón está formado por uno o más descriptores (también conocidos como características) y son agrupados en clases. Una clase es una familia de patrones que comparten propiedades comunes. El reconocimiento de patrones comprende técnicas para asignar cada patrón a su respectiva clase de manera automática y sin intervención humana. Existen tres principales tipos de patrones, los vectores (para descripciones cuantitativas), las secuencias y los árboles (para descripciones estructurales): PATRONES DE VECTOR Los patrones de vector son representados por letras minúsculas en negrillas y toman la forma: Imagen 22. Forma de patrón de vector. Donde cada componente xi representa al i-ésimo descriptor y n es el número de descriptores. La naturaleza de los componentes en el patrón de vector depende de la técnica de medición utilizada para obtenerlos [30]. SECUENCIAS Para problemas de reconocimiento en donde se necesita tanto las mediciones cuantitativas como las relaciones espaciales entre los descriptores para determinar la pertenencia a una clase se utilizan secuencias de descripción. Son útiles en objetos o entidades cuya estructura está basada en una conexión de primitivas simples generalmente asociadas a su forma. La secuencia se forma ordenando las primitivas de manera tal que describan al patrón [32]. ARBOLES Los árboles, se utilizan para representaciones con una estructura más jerárquica. La raíz del árbol representa toda la escena, los niveles inferiores van clasificando la imagen en sus partes constituyentes hasta que se llega a un nivel en donde no se puede reconocer más. Los métodos de reconocimiento suponen que los descriptores de los patrones de vector fueron escogidos apropiadamente, y por lo tanto, la semejanza entre los objetos de cada clase resulta de su proximidad en el espacio de características. Cada clase entonces podría ser separada por una curva de discriminación [32]. 2. REALIMENTACIÓN DE POSICIÓN Y MODELO MATEMÁTICO El primer pase a seguir para la ejecución del proyecto es diseñar e implementar la realimentación de posición para el sistema cartesiano a controlar, esto con el fin de cerrar el lazo de control y poder implementar el algoritmo adecuado para obtener el funcionamiento óptimo del sistema en general. 2.1. TRANSDUCTORES DE POSICIÓN Los transductores de desplazamiento o transductores de posición, son empleados para medir diferentes rangos de distancia y obtener así una relación entre la magnitud física y la magnitud eléctrica que será la que emplearemos en los equipos de automatización o adquisición estándar. Los rangos de estos transductores de distancia son muy amplios, ya que las necesidades reales también lo son, desde rangos mínimos de unas pocas micras, hasta rangos muy elevados de larga distancia, 200m, por ejemplo. Para cubrir los diferentes rangos de medida, precisión y protección, disponemos de una gran variedad de transductores de desplazamiento, fabricados con diferentes tecnologías, que permiten cubrir todas sus necesidades [16]. Se deben tener en cuenta las siguientes características necesarias de un transductor que cumpla los requerimientos deseados:  Alta resolución: al ser un transductor de posición lineal, el lazo de realimentación es directo, es por esto que la resolución debe ser alta para tener un alto rango de posibles resultados.  Linealidad: los datos arrojados por el transductor deben tener un comportamiento de forma lineal, con el fin de tener un espacio de trabajo bien definido y confiable.  Repetitividad: el transductor utilizado debe ser capaz de reproducir las veces necesarias las lecturas realizadas, para evitar el malfuncionamiento del sistema de control debido al lazo de realimentación, llevando a reproducir trayectorias no ideales y por consiguiente un resultado final erróneo.  Inmunidad al ruido: el transductor instalado debe ser capaz de sortear las condiciones de trabajo al cual estará sometido el manipulador, ya que se presentaran vibraciones constantes en su operación.  Fácil instalación: la instalación del transductor deseado no debe interferir en el espacio de trabajo actual, debe ser una instalación sencilla y de fácil mantenimiento, evitando al máximo implementar nuevos mecanismos para su instalación.  Rango: una de las características más importantes, el rango del transductor debe ser compatible con el espacio de trabajo, para evitar la reducción de este. Existen dos tipos principales que serán examinados a fondo con el fin de realizar la selección adecuada para el sistema a controlar. 2.1.1. TRANSDUCTORES DE DESPLAZAMIENTO LINEAL INTRODUCCIÓN Los transductores de desplazamiento lineal miden el movimiento de un cuerpo a lo largo de una trayectoria rectilínea. Además de su empleo como elementos primarios, son usados con frecuencia como componentes secundarios en sistemas de medición, donde un cambio en otra magnitud física como la presión, fuerza, aceleración o la temperatura, es traducido a un cambio de resistencia y, a su vez, este cambio traduce un desplazamiento lineal. A continuación se estudian los distintos transductores de desplazamiento atendiendo a distintos principios físicos operativos. Para cada uno de ellos se describen sus campos de aplicación. Los principios físicos estudiados son comunes a otros muchos transductores de la asignatura y de otros capítulos. Por ejemplo, el efecto piezoeléctrico es el fundamento de un grupo destacado de acelerómetros. POTENCIÓMETRO RESISTIVO Consta de un elemento resistivo y un contacto móvil, como indica la figura. La tensión de salida se obtiene a partir de la aplicada, midiendo en el punto de contacto móvil con respecto a uno de sus extremos. El cuerpo cuyo movimiento se desea medir se conecta al contacto. Los cambios producidos en la tensión de salida guardan una relación lineal con los desplazamientos observados. Imagen 23. Esquema simple de un potenciómetro resistivo. Dependiendo del material empleado para construir la pista resistiva existen tres tipos básicos de potenciómetros: de arrollamiento conductor, de película de carbón y de película de plástico. Los primeros constan de un arrollamiento de cable conductor realizado sobre una pista no conductora. Cuando el contacto móvil se desliza a lo largo de la pista resistiva va realizando sucesivos contactos con las vueltas del arrollamiento. En consecuencia, la resolución del transductor viene dada por la distancia entre vuelta y vuelta. Un valor típico de precisión para potenciómetros es 1% de fondo de escala. Existen modelos capaces de medir entre los rangos ±2 mm, ±1 m [33]. TRANSFORMADOR LINEAL VARIABLE DIFERENCIAL LVDT El transformador lineal variable diferencial (LVDT; Linear Variable Differential Transformer;) es el más conocido de los transductores de desplazamiento inductivos de reluctancia variable. Esta familia de transductores convierte el desplazamiento en un cambio de tensión alterna, gracias a la alteración de las líneas de campo magnético entre dos o más arrollamientos, originadas por una tensión alterna aplicada a uno de los devanados. El LVDT consta de un transformador con un arrollamiento primario, y dos secundarios conectados en oposición-serie, como muestra en la imagen 24, donde la doble flecha indica el sentido del movimiento del núcleo ferromagnético [33]. Imagen 24. Dos esquemas del LVDT que indican el tipo de salida y el movimiento que se traduce. Los arrollamientos secundarios están conectados en oposición- serie. Core.- núcleo. TRANSDUCTORES DE INDUCTANCIA VARIABLE Su operación se fundamenta en la variación que experimenta la autoinducción de un arrollamiento, debido al cambio producido en el acoplo magnético entre el arrollamiento y un elemento móvil, generalmente ferromagnético. Estos transductores se clasifican en dos grupos: sistemas acoplados y sistemas libres de contacto. En los primeros, un núcleo magnético permeable se desliza por el interior de una bobina, según muestra la imagen 25. El vástago sensible está sujeto al núcleo móvil el cual, al moverse, altera la autoinducción del arrollamiento. Como se aprecia, el aspecto de los transductores de inductancia variable acoplados es muy similar al del LVDT, salvo que en este caso sólo presentan un arrollamiento con dos tomas extremas y una central [33]. . Imagen 25. Transductor acoplado con tres contactos. TRANSDUCTORES CAPACITIVOS DE DESPLAZAMIENTO LINEAL. Su principio operativo consiste en que un cambio de desplazamiento se traduce en un cambio de capacidad. Existen tres tipos de transductores capacitivos de desplazamiento lineal. La Imagen 26 muestra un condensador de placas paralelas compuesto por dos cilindros metálicos, que constituyen las placas, en cuyo interior se deposita el material dieléctrico. El desplazamiento del cilindro interior modifica la superficie abarcada de dieléctrico y, en consecuencia, la capacidad de la asociación [34]. Imagen 26. Condensador cilíndrico de placas paralelas que muestra el principio operativo del transductor capacitivo. Se señalan con flechas las placas. El segundo modelo se muestra en la Imagen 27. Consta de dos placas metálicas plano paralelas, una de las cuales es fija y la otra es móvil. A ella se une el elemento objeto de medida. El principio de operación es pues un cambio de capacidad provocado por el cambio en la distancia entre las placas. Estos dos modelos emplean aire como medio dieléctrico entre las placas. Estos dos modelos emplean aire como medio dieléctrico entre las placas. Imagen 27. (a) Transductor capacitivo con dos placas plano-paralelas. (b) Transductor con capa de dieléctrico sólido. El tercer modelo está formado por dos placas metálicas plano-paralelas, entre las cuales existe una capa de dieléctrico sólido. Una de las placas está unida al elemento objeto de medida. El principio operativo consiste pues en un cambio de la constante dieléctrica producido por el desplazamiento lineal de la placa móvil. Una situación genérica consiste en una asociación de dos condensadores en serie, uno de los cuales posee como dieléctrico el aire y otro el material sólido. SENSORES DE DEFORMACIÓN: GALGAS EXTENSIOMETRICAS. Un sensor de deformaciones o galga extensiométrica es un alambre conductor cuya resistencia cambia una pequeña cantidad cuando se alarga o se acorta. El cambio de longitud es pequeño, unas pocas millonésimas de pulgada. El sensor de deformación está ligado a una estructura, de modo que los porcentajes de cambio de longitud del sensor y la estructura son idénticos. El modelo típico es el tipo “hojuela”, como el mostrado en la Imagen 28. La longitud activa del sensor está a lo largo del eje transversal. Éste debe quedar orientado en la misma dirección del movimiento de la estructura (p.e. una barra) que va a medirse. La Imagen 28. Muestra también sus dimensiones principales. Se aprecian la anchura del soporte (matriz width), longitud del soporte (matriz length), anchura de la galga (grid length), longitud activa (gage length) y otras dimensiones [34]. Imagen 28. Esquema de un sensor de deformaciones. TRANSDUCTORES PIEZOELÉCTRICOS DE DESPLAZAMIENTO LINEAL. El efecto piezoeléctrico fue descubierto por los investigadores Jacques y Pierre Curie (1880-81). Descubrieron que al aplicar tensión a un material de cuarzo se establecían cargas eléctricas en éste. Por tanto, este fenómeno consiste en la aparición de fuerza electromotriz en un material dieléctrico cuando éste se deforma bajo la acción de un esfuerzo. En consecuencia, es un efecto reversible, ya que al aplicar una diferencia de potencial a un material piezoeléctrico aparecerá una deformación. Cuando una presión es aplicada a un cristal piezoeléctrico, la distribución de cargas eléctricas se modificará, generando una pequeña corriente medible. Por tanto, los materiales piezoeléctricos pueden emplearse en convertir energía eléctrica en mecánica y viceversa. La Imagen 29. Muestra una visión intuitiva del efecto piezoeléctrico [34]. Imagen 29. Didáctica del efecto piezoeléctrico. TRANSDUCTORES DE DESPLAZAMIENTO LINEAL ELECTRO-ÓPTICOS Cuando la superficie del objeto cuyo desplazamiento se desea medir es suficientemente reflectante (cuando no lo es se adjunta al objeto de medida una superficie que sí lo sea), una combinación fuente de luz/sensor puede emplearse para medir pequeños desplazamientos o desviaciones dimensionales (discriminación de piezas en una cadena de fabricación). La Imagen 30. Ilustra este principio operativo; la salida eléctrica del sensor decrece de forma exponencial cuando aumenta la separación respecto de la superficie reflectora. La intensidad de los rayos de luz emitidos puede ser constante, variar de forma senoidal o emitirse en forma de pulsos, dependiendo del tiempo de respuesta del sensor y la aplicación para la que haya sido diseñado el transductor. Los diodos Leds de infrarrojos suelen emplearse como 2 fuentes de luz [35]. Imagen 30. Principio operativo del método de reflexión. SENSORES DE RANGO: ULTRASÓNICOS Y FOTOELÉCTRICOS. Se emplean para medir distancias relativamente grandes en comparación con los anteriores modelos, diseñados para medir pequeños desplazamientos. Miden el desplazamiento lineal de un cuerpo respecto de un punto fijo. Poseen como característica común la fuente de energía, un detector de energía y un módulo electrónico que se encarga de medir el tiempo que emplea la energía en ir del emisor al receptor. La forma de energía puede ser luminosa o ultrasonido. Incluimos estos modelos en este apartado por poseer un funcionamiento muy parecido a los ópticos. En algunos modelos, tanto la fuente de energía como el receptor están fijos en la superficie del objeto móvil y la salida eléctrica depende de la cantidad de energía reflejada en una superficie fija (Imagen 31. a). En otros sistemas, la fuente de energía está fija al cuerpo móvil y la unidad detectora se localiza en un punto fijo (Imagen 31. b) [35]. Imagen 31. Dos modelos de sensores de rango ultrasónicos. INTERRUPTORES DE POSICIÓN El más popular de los interruptores de posición es el interruptor electromecánico. La Imagen 32. Muestra un modelo comercial. Constan de un émbolo o pulsador que, al pulsarse, establece el cambio entre las posiciones de normalmente abierto (NO: normally open) y de normalmente cerrado (NC: normally closed). El interruptor se instala de forma que cuando el objeto alcanza una posición determinada lo acciona [35]. Imagen 32. Modelo comercial de interruptor electromecánico. CONCLUSIÓN Luego del levantamiento de información realizado acerca de los diferentes tipos de transductores de posición de configuración lineal, y teniendo en cuenta las características necesarias explicadas en la sección 2.1. Se pueden analizar las ventajas y desventajas presentes en cada uno de los transductores o sensores ya explicados para así poder realizar una selección confiable. DISPOSITIVO VENTAJAS DESVENTAJAS Potenciómetro resistivo  Alta resolución.  Resistente a perturbaciones externas.  Lineal.  Instalación compleja.  Rango muy bajo para el espacio de trabajo actual. Transformador lineal variable diferencial LVDT  Fácil caracterización.  Alta resolución.  Rango variable según diseño.  Sensible al ruido eléctrico y mecánico.  Instalación compleja.  Baja repetitividad. Transductores de inductancia variable.  Fácil caracterización.  Sensible al ruido.  Instalación compleja.  Rango muy bajo para el espacio de trabajo actual.  Sensible al ruido eléctrico y mecánico. Transductores capacitivos de desplazamiento lineal.  Fácil caracterización.  Rango variable según construcción.  Instalación compleja.  Sensible al ruido.  Baja repetitividad. Sensores de deformación: galgas extensiometricas.  Alta resolución.  Alta repetitividad.  Resistentes a perturbaciones mecánicas externas.  Fácil caracterización.  Operación lineal.  Instalación compleja.  Bajo rango.  Requiere de mecanismos extras para su funcionamiento óptimo. Transductores piezoeléctricos de desplazamiento lineal.  No presenta una ventaja considerable para esta aplicación.  Caracterización compleja.  Rango mínimo.  Instalación compleja.  Sensible al ruido.  Operación no lineal.  Baja repetitividad. Transductores de desplazamiento lineal electro-ópticos.  Rango acorde al espacio de trabajo.  Operación lineal con tratamiento de señal externa.  Resistentes al ruido mecánico.  Fácil caracterización.  Sensibles al ruido eléctrico.  Su operación no es completamente lineal.  Baja repetitividad.  Requiere de una adecuación en el sistema mecánico para su instalación. Sensores de rango: ultrasónicos y fotoeléctricos.  Rango acorde al espacio de trabajo.  Operación lineal.  Fácil caracterización.  Sensibles al ruido eléctrico y mecánico.  Baja repetitividad.  Requiere de una adecuación en el sistema mecánico para su instalación. Interruptores de posición.  Alta repetitividad.  Fácil caracterización.  Baja resolución.  Instalación compleja, ya que requiere una adecuación de mecanismos externos para su instalación.  Su operación no es compatible con lo planteado. Tabla 4. Ventajas y desventajas de los transductores lineales. De acuerdo con la tabla anterior se puede concluir que el transductor de posición de configuración lineal óptimo para realizar la realimentación de posición son los de tipo óptico, como lo son el sensor infrarrojo y el ultrasónico, ya que cuentan con una configuración amigable para su montaje, con un rango ideal para el espacio de trabajo requerido en el sistema. 2.1.2. TRANSDUCTORES DE DESPLAZAMIENTO ANGULAR INTRODUCCIÓN Los transductores de desplazamiento angular miden el desplazamiento rotacional de un cuerpo que gira en torno a un eje. Su importancia estriba no sólo por el hecho de medir la rotación en sí misma, sino por la posibilidad de traducir fácilmente el cambio de posición angular en un cambio de posición lineal. POTENCIÓMETROS CIRCULARES Y HELICOIDALES Estos instrumentos son los más económicos para medir desplazamientos angulares, en especial los modelos circulares. Su estructura se muestra en la figura. El modo de operación es idéntico al de los potenciómetros lineales, salvo que ahora la pista resistiva se dobla según formas circulares. La tensión de salida, medida en el contacto deslizante, es ahora proporcional al desplazamiento angular del cuerpo, que se une al eje que contiene el contacto deslizante, respecto de la posición de partida. Imagen 33. Esquema del potenciómetro circular y helicoidal. Los modelos circulares poseen pistas de una vuelta. En consecuencia, el rango angular máximo es 0-360º, aunque generalmente se fabrican para pequeños rangos, 0- 10º. Su resolución está muy limitada. Por ello, se fabrican modelos helicoidales, en los que la pista resistiva es multivuelta en forma de hélice. Hay modelos de hasta 60 vueltas que consiguen mejorar la resolución clásica de los modelos circulares, ±1% del fondo de escala, alcanzando hasta ±0.002 % del fondo de escala. TRANSFORMADOR DIFERENCIAL ROTACIONAL. El método de construcción y conexión de los arrollamientos es idéntico al empleado en los LVDT, salvo que un núcleo, de forma característica, al rotar se encarga de variar la inductancia mutua entre los arrollamientos primario y secundario. Imagen 34. Modelo de funcionamiento del transformador diferencial rotacional. Como añadido las dificultades de lograr una simetría perfecta entre los dos secundarios, el núcleo debe tener un contorno adaptado al movimiento rotacional. En consecuencia, se han logrado sólo precisiones de ±1 %. Además, estos valores de precisión sólo se consiguen para excursiones limitadas del núcleo de ±40º respecto de la posición central (posición de salida nula). Para excursiones de ±60º la precisión cae hasta ±3 %, y el instrumento es inútil para medir desplazamientos superiores al indicado [35]. TRANSFORMADOR VARIABLE. Es un transductor inductivo cuyo principio operativo se fundamenta en el transformador. Si en éste pueden desplazarse sus devanados de forma que cambie la posición relativa (θ) entre los devanados primario y secundario, varía el acoplamiento entre ambos (varía la inductancia mutua). A situación se muestra en la Imagen 35. Imagen 35. Principio de funcionamiento [35]. TRANSFORMADORES SÍNCRONOS TRIFÁSICOS El sincro es un transductor electromecánico de la misma familia que el transformador variable. Su nombre se traduce como transformador síncrono trifásico. Tiene 3 estatores y, como veremos, posee un comportamiento similar al del resolver. La apariencia se muestra en la figura, donde aparece el ángulo de rotación del rotor, que será la magnitud de interés, que module la amplitud de la señal alterna de salida [34]. Imagen 36. Modelo del funcionamiento del “sincro”. Se aplican incluso en el ámbito militar y sus prestaciones de resolución y exactitud son similares a los codificadores digitales. Estos transductores soportan altas temperaturas, humedades, vibraciones y choques. En consecuencia son apropiados para operar en entornos hostiles. Los problemas de mantenimiento involucran sólo al rotor. Las asimetrías en los devanados son la única fuente de error; una precisión usual es ±0,5%. RESOLVER Se muestra en la Imagen 37. La disposición física. Imagen 37. Disposición física resolver. Constan de una bobina solidaria al eje excitada por una portadora, y dos bobinas fijas situadas a su alrededor [33]. ENCODERS Constan de un disco transparente con una serie de marcas opacas colocadas radialmente y equidistantes entre sí, de un sistema de iluminación y de un elemento foto receptor. El eje cuya posición se quiere medir va acoplado al disco, a medida que el eje gira se van generando pulsos en el receptor cada vez que la luz atraviese las marcas, llevando una cuenta de estos pulsos es posible conocer la posición del eje. La resolución depende del número de marcas que se pueden poner físicamente en el disco. Imagen 38. Configuración de un encoder [35]. CONCLUSIÓN Luego del levantamiento de información realizado acerca de los diferentes tipos de transductores de posición de configuración angular-rotacional, y teniendo en cuenta las características necesarias explicadas en la sección 2.1. Se pueden analizar las ventajas y desventajas presentes en cada uno de los transductores o sensores ya explicados para así poder realizar una selección confiable. DISPOSITIVO VENTAJAS DESVENTAJAS Potenciómetros circulares y helicoidales.  Alta resolución.  Resistente a perturbaciones externas.  Lineal.  Resistente a ruido eléctrico y mecánico.  Alto costo y difícil de conseguir.  Requiere de tratamiento especial de la señal para su correcto funcionamiento. Transformador diferencial rotacional.  Fácil caracterización.  Rango variable según diseño.  Resistentes a altas temperaturas y a la humedad.  Resistente a vibraciones mecánicas, choques.  Baja repetitividad.  Más utilizado en aplicaciones de diseño robusto debido a sus características, como lo son la industria militar y aeroespacial.  Costo de implementación alto. Transformador variable.  Fácil caracterización.  Soportan altas temperaturas, humedades, vibraciones y choques.  Instalación compleja.  Son apropiados para operar en entornos hostiles, por lo que sería innecesario su instalación.  Costos de implementación alto. Transformadores síncronos trifásicos “sincros”.  Fácil caracterización.  Soportan altas temperaturas, humedades, vibraciones y choques.  Instalación compleja.  Son apropiados para operar en entornos hostiles, por lo que sería innecesario su instalación.  Costos de implementación alto. Resolver.  Fácil caracterización.  Rango variable según construcción.  Instalación compleja.  Sensible al ruido.  Baja repetitividad. Encoders.  Alta repetitividad.  Operación lineal.  Resolución variable.  Alta repetitividad.  Resistentes a perturbaciones mecánicas externas.  Fácil caracterización.  Sensibles a la luz externa.  Requieren la adecuación de mecanismos para asegurar su correcto funcionamiento.  Requiere de un módulo externo para su caracterización como sensor de posición continuo. Tabla 5. Ventajas y desventajas de los transductores angulares. De acuerdo con la tabla anterior se puede concluir que el transductor de posición de configuración angular óptimo para realizar la realimentación de posición es el de tipo mecánico, como lo es el potenciómetro de giro continuo, ya que no requiere de una caracterización compleja, su resolución se puede ajustar dependiendo las necesidades finales del dispositivo y lo más importante la facilidad de computo e instalación. 2.2. CONCLUSIÓN FINAL DE IMPLEMENTACIÓN. Teniendo las dos opciones de implementación para la realimentación de posición, las cuales son:  Transductor lineal óptico.  Transductor angular tipo potenciómetro. Se realiza un comparativo entre estos dos tipos de realimentación, para así seleccionar el adecuado para el sistema. TRANSDUCTOR ÓPTICO LINEAL TRANSDUCTOR TIPO POTENCIÓMETRO  Rango acorde al espacio de trabajo.  Operación lineal con tratamiento de señal externa.  Resistentes al ruido mecánico.  Fácil caracterización.  Para su implementación se requiere adecuar un espacio libre de perturbaciones externas.  Su costo de implementación es relativamente alto, para asegurar la linealidad en el espacio de trabajo del dispositivo.  Resolución de corte relativamente baja, limitada por la resolución ideal del transductor a implementar.  Se pierden las ventajas arrojadas por el mecanismo de tuerca-tornillo implementado, el cual brinda más precisión en los movimientos.  Alta repetitividad.  Operación lineal.  Resolución variable.  Alta repetitividad.  Resistentes a perturbaciones mecánicas externas.  Fácil caracterización.  Costo de implementación proporcional a la resolución de sensado deseada.  Resolución de corte alta, ya que se aprovechan las ventajas del sistema de transmisión implementado.  La señal de sensado requiere un tratamiento dado por software, para adquirir el valor real del desplazamiento.  La señal de sensado es resistente al ruido, y fácil de manejar, evita la perdida de datos y lecturas erróneas. Tabla 6. Tabla comparativa entre los posibles transductores a implementar. De acuerdo con la tabla anterior se puede concluir que el transductor de posición adecuado para el dispositivo y para los objetivos planteados es el de configuración angular, ya que lo que se desea es obtener la máxima resolución de corte posible, lo cual se puede lograr utilizado este tipo de transductor. 2.2.1. POTENCIÓMETRO DE GIRO CONTINUO Ya que se seleccionó como transductor de posición el tipo potenciómetro de giro continuo, se realizó una selección teniendo en cuenta:  Costos.  Resolución necesaria.  Facilidad de implementación. Teniendo en cuenta los anteriores aspectos, se adquirió un potenciómetro como el visto en la Imagen 39. Imagen 39. Potenciómetro de giro continúo. Este potenciómetro de giro continuo cuenta con las siguientes características:  Diámetro de 6 mm de eje.  Longitud de eje 18 mm.  Vueltas ilimitadas.  Resistencia de 100Ω.  Resolución proporcional a la resolución del ADC del sistema de adquisición de datos. 2.3. SISTEMA MECÁNICO El manipulador de dos grados de libertad cuenta con un mecanismo de transmisión tipo tuerca husillo, cada grado de libertad es manipulado mediante motores paso a paso, tanto como para el eje x como para el eje y. Para el eje x se tienen dos motores sincronizados tipo paso a paso, adquiridos de la marca LINENGINEERING los cuales cuentan con las siguientes características:  NEMA 23.  Conexión serial.  Paso simple de 0.9°, es decir 400 pasos por revolución.  Torque: 9.177 Kg/cm. Para el eje y se tienen un motor tipo paso a paso, adquiridos de la marca LINENGINEERING los cuales cuentan con las siguientes características:  NEMA 17.  Conexión serial.  Paso simple de 0.9°, es decir 400 pasos por revolución.  Torque: 5.6 Kg/cm. 2.3.1. MECANISMO DE TRANSMISIÓN El mecanismo de transmisión tuerca-husillo cuenta con los siguientes parámetros físicos:  Paso: 5.75mm.  Entradas: 1. Este mecanismo nos permite calcular el avance que realiza el manipulador dada una vuelta al tornillo utilizando la siguiente expresión: 𝑎 = 𝑝 ∗ 𝑒 Ecuación 6. Expresión para el avance del husillo [36]. Siendo:  a: avance.  p: paso del tornillo.  e: entradas del tornillo. Con la expresión anterior se obtiene que el avance del husillo es de 5.75mm. 2.3.2. RESOLUCIÓN FINAL. Teniendo en cuenta el avance del husillo dada una revolución, y las características de los motores utilizados, se puede plantear una resolución del sistema mecánico como se ve a continuación: 𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑚𝑒𝑐á𝑛𝑖𝑐𝑜 = 𝑎𝑣𝑎𝑛𝑐𝑒 # 𝑝𝑢𝑙𝑠𝑜𝑠 𝑝𝑜𝑟 𝑟𝑒𝑣𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑚𝑒𝑐á𝑛𝑖𝑐𝑜 = 5.75 𝑚𝑚 400 𝑝𝑝𝑟 𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑚𝑒𝑐á𝑛𝑖𝑐𝑜 = 0.014375 𝑚𝑚/𝑝𝑢𝑙𝑠𝑜 Ecuación 7. Resolución del sistema mecánico. 2.4. MODELO MATEMÁTICO DEL SISTEMA REALIMENTADO Para implementar el sistema de control adecuado, es necesario obtener el modelo matemático del sistema de transmisión actual, el cual consta de:  Motor pasó a paso de corriente directa.  Driver de control para el motor pasó a paso.  Potenciómetro.  Sistema de transmisión de posición tipo tuerca-husillo. Teniendo en cuenta que la realimentación de posición implementada en el dispositivo tiene como fin detectar el movimiento angular del motor, el sistema de control tendrá la siguiente característica: Imagen 40. Diagrama de bloques sistema de control general. En donde el sistema de control será diseñado con el fin de asegurar que el motor de las revoluciones correspondientes para alcanzar la posición deseada, luego de esto se realizara las operaciones matemáticas correspondientes al sistema de transmisión existente para obtener la posición lineal actual del sistema. 2.4.1. MOTOR PASO A PASO Y DRIVER DE CONTROL Como bien se utilizan motores paso a paso para el control de posición en el dispositivo, teniendo en cuenta que el funcionamiento de un motor paso a paso se obtiene mediante la generación de secuencias, las cuales permiten al motor dar pasos simples o dobles, según sea necesario, como se observa en la siguiente figura. Imagen 41. Secuencias para el control de un motor paso a paso, paso simple o doble. Para controlar los motores paso a paso se adquirió un driver de potencia, fácil de usar, ideal para este tipo de manipuladores, el cual permite controlar los pasos de cada motor, el sentido de giro, y su velocidad. Imagen 42. Driver de potencia existente en el dispositivo [37]. 2.5. MODELO CINEMÁTICO DEL MANIPULADOR A continuación se estudiaran los modelos geométricos y cinemáticos del manipulador a controlar, se estudiaran los modelos directos, los cuales permiten obtener la posición final del efector final. Se estudiaran las velocidades de movimiento, ya que es un factor importante para la realización del sistema de control, teniendo en cuenta el tipo de movimiento a realizar el dispositivo. 2.5.1. CINEMÁTICA DIRECTA Como bien se sabe, la cinemática directa, se utiliza para obtener la posición y orientación del efector final, basándose de las variables de articulación; el manipulador a analizar es un manipulador tipo cartesiano que posee 2 variables articulares, movimiento en el eje x y en el eje y. Con estar articulaciones se procede a encontrar la matriz de transformación del manipulador. Como se trata de un manipulador cartesiano, su matriz de transformación se vuelve sencilla, ya que no tiene variables angulares, por lo tanto su matriz de transformación tiene la siguiente forma: 𝐴0 2 = 1 0 0 0 0 0 0 0 1 𝑦 −1 0 𝑥 0 0 0 Ecuación 8. Matriz de transformación Donde vemos que los únicos elementos variables son las variables de articulación presentes en el manipulador. 2.5.2. JACOBIANO El Jacobiano del manipulador, relaciona las velocidades articulares con las velocidades cartesianas del efector final. Teniendo en cuenta que el manipulador es de tipo cartesiano, el Jacobiano no tendrá componentes de velocidad angular, únicamente de velocidad lineal. El Jacobiano para el manipulador cartesiano de 2 grados de libertad viene dado de la forma: 𝐽𝑝 = 0 0 0 1 1 0 𝐽𝑜 = 0 0 0 0 0 0 Ecuación 9. Jacobiano del manipulador cartesiano. 2.5.3. ALGORITMO DE LÍNEA RECTA Con la ayuda del Jacobiano del manipulador, se puede implementar un algoritmo de línea recta, el cual es útil para analizar el comportamiento de las variables articulares cuando el efector final ejecuta un movimiento en línea recta, para así plantear las primeras características del controlador a utilizar; el algoritmo de línea recta utilizar es el siguiente: 𝑞𝑛+1 = 𝑞𝑛 + 𝐽𝑝(𝑞0) −1 ∗ ?⃗? 𝑑 |𝑉| ∗ 𝑛 Ecuación 10. Algoritmo de línea recta. En donde:  𝑞𝑛+1 : las variables articulares en la siguiente iteración.  𝑞𝑛 : las variables articulares en la iteración actual.  𝐽𝑝(𝑞0)−1 : el Jacobiano de posición según las variables articulares de la posición inicial.  ?⃗? : el vector de velocidades lineales de cada articulación.  d : distancia a recorrer por el efector final.  n : número de iteraciones. La implementación del algoritmo de línea recta se hizo mediante una interfaz en MatLab, en donde se calcula una trayectoria en línea recta a seguir por el efector final y se observa el comportamiento de las variables articulares en el transcurso del movimiento. Imagen 44. Interfaz realizada en MatLab. La interfaz cuenta con una sección de entrada de datos, en donde se seleccionan las coordenadas iniciales y finales, junto con su velocidad de avance y el número de iteraciones a computar. Imagen 45. Sección de entrada de datos de la interfaz en MatLab. Al ejecutar el algoritmo, se obtuvieron los siguientes resultados: Imagen 46. Avance de las articulaciones en el espacio. Como se puede observar en la Imagen 46, el avance que presentan las articulaciones es lineal, ya que el movimiento del efector final deber ser realizado en línea, recta. También se observa el comportamiento de las velocidades articulares del manipulador: Imagen 47. Velocidades articulares. Como se puede observar, las velocidades en el transcurso del movimiento son constantes y permanecen así, esto para garantizar el movimiento en línea recta deseado, con eso se puede concluir que el controlador a implementar debe tener la característica de velocidad constante de avance, para un resultado óptimo. Los datos obtenidos por el modelo cinemático del manipulador no son completos, ya que en estos no se involucra la dinámica del robot, y puede llevar a comportamientos no deseados al momento de su ejecución. 2.6. MODELO DINÁMICO DEL MANIPULADOR El modelo dinámico del manipulador juega un rol importante en la simulación de movimientos en el robot, ya que se pueden implementar diferentes estrategias de control y saber cuál es la más adecuada, sin necesidad de hacerlo en el modelo real. El modelamiento dinámico es útil para el diseño de robots, análisis de estructuras, y provee la información necesaria para la correcta selección de los elementos que componen al manipulador, como lo son los actuadores y los transductores de señal. Para adquirir el modelo dinámico del manipulador se utilizó el método LaGrange- Euler. 2.6.1. FORMULACIÓN LAGRANGE-EULER La formulación lagrange-euler se basa en la interpretación de la energía involucrada en el movimiento, la cual está dada por la siguiente expresión: 𝐿 = 𝐾 − 𝑃 Ecuación 11. Formulación LaGrange-Euler. De donde:  L : Lagrangiano.  K : energía cinética.  P : energía potencial. Como se sabe, el manipulador a utilizar consta de dos articulaciones prismáticas, y posee un movimiento planar, basándose en esto, se procede a obtener las expresiones de energía cinética y potencial de cada articulación: Eje x 𝐾𝑥 = 1 2 (𝑚1 + 𝑚2)𝑑?̇?2 𝑃𝑥 = 0 Ecuación 12. Expresión energía cinética y Potencial de la articulación sobre el eje x. Eje y 𝐾𝑦 = 1 2 (𝑚2)𝑑?̇?2 𝑃𝑦 = 0 Ecuación 13. Expresión energía cinética y Potencial de la articulación sobre el eje y. De las expresiones anteriores se puede expresar el lagrangiano del manipulador como: 𝐿 = 1 2 (𝑚1 + 𝑚2)𝑑?̇?2 + 1 2 (𝑚2)𝑑?̇?2 Ecuación 14. Lagrangiano del manipulador. Teniendo el lagrangiano del manipulador, se puede encontrar la expresión con respecto a las fuerzas o torques que se ejercen en los movimientos con la siguiente expresión: 𝜏 = 𝑑 𝑑𝑡 𝑑𝐿 𝑑?̇? − 𝑑𝐿 𝑑𝜃 Ecuación 15. Formulación dinámica. Aplicando la Ecuación xx. Se pueden obtener las expresiones para las fuerzas aplicadas en cada articulación: 𝜏𝑥 = (𝑚1 + 𝑚2)𝑑?̈? 𝜏𝑦 = (𝑚2)𝑑?̈? Ecuación 16. Formulación dinámica para cada articulación. Teniendo la formulación dinámica para cada articulación se puede expresar la dinámica del sistema de forma matricial: 𝐹1 𝐹2 = ( 𝑚1 + 𝑚2 0 0 𝑚2 ) 𝑑?̈? 𝑑?̈? Ecuación 17. Formulación dinámica del sistema en forma matricial. Como se puede observar, la formulación dinámica del sistema es bastante simple, ya que en el manipulador no hay efectos producidos por la gravedad, ni por la aceleración de coriolis, debido a que no existen articulaciones de revolución. Con la formulación dinámica del sistema se puede simular el comportamiento del manipulador al seguir una trayectoria arbitraria en el espacio, con la ayuda de Simulink, se simulo el comportamiento del sistema al seguir una trayectoria deseada. Imagen 48. Diagrama de bloques del sistema dinámico. Para simular el comportamiento del sistema, se le dio a cada articulación una trayectoria a seguir en determinado tiempo, para así forma un contorno al terminar su movimiento. Imagen 49. Trayectoria a seguir para cada el eje x (rojo) y el eje y (morado). Ejecutando la simulación se pueden observar el comportamiento de la velocidad, aceleración y fuerzas requeridas para ejecutar el movimiento deseado. Imagen 50. Velocidades articulares en la trayectoria. Como se puede observar, para ejecutar el movimiento deseado, hay que mantener una velocidad constante entre punto y punto, es por eso que se ven cambios bruscos de velocidad en las articulaciones, todo esto para lograr seguir correctamente el trayecto deseado. Imagen 51. Aceleraciones articulares. Como las velocidades entre punto y punto deben ser constantes y hay cambios drásticos dependiendo la orientación de los puntos, se observan cambios drásticos en la magnitud de la aceleración lineal, todo esto para poder seguir la trayectoria de una forma uniforme. Imagen 52. Fuerzas articulares. Las fuerzas articulares tienen el mismo comportamiento que la aceleración angular, ya que estas fuerzas son las encargadas de realizar el movimiento. Teniendo el modelo dinámico y el comportamiento de las variables articulares, se pueden proponer controladores y analizar sus ventajas y desventajas, para así seleccionar e implementar el óptimo. 3. SISTEMA DE CONTROL Para seleccionar el sistema de control adecuado hay que tener diferentes características presentes, para así poder realizar el control adecuado, estas son:  Programabilidad.  Eficiencia.  Capacidad de evolución.  Grado de autonomía.  Fiabilidad.  Adaptabilidad. 3.1. CONTROL NUMÉRICO CON REALIMENTACIÓN DE POSICIÓN El sistema de control numérico realimentado implementado se basa el realizar cálculos matemáticos para obtener la señal de control deseada, es decir su velocidad de avance, en donde se computa la posición actual, la posición estimada, la velocidad de avance lineal, para así poder obtener la señal de control de cada grado de libertad y poder alcanzar la posición deseada. Este tipo de control realiza únicamente la realimentación de posición al sistema, y la velocidad es calculada y reproducida, se asume que cada grado de libertad se mueve a la velocidad deseada. Esto puede llevar a una mala reproducción de la trayectoria deseada. El algoritmo de control de este tipo de control tiene la siguiente forma: 𝑉𝑎 = 1500 𝐻𝑧 𝑉𝑦 = 𝑉𝑎 ∗ sin 𝜃 𝑉𝑥 = 𝑉𝑎 ∗ cos 𝜃 Ecuación 18. Señal de control para cada grado de libertad. En donde:  Va: Velocidad de avance punto a punto.  Vy: Velocidad de avance del grado de libertad y.  Vx: Velocidad de avance del grado de libertad x.  Θ: Angulo entre puntos. Para calcular el Angulo θ se debe conocer la posición actual y la posición final a la que va a llegar el dispositivo, como se muestra en la siguiente imagen: Imagen 54. Angulo entre puntos. De donde se tiene que:  P1: posición actual del dispositivo.  P2: posición final del dispositivo.  C : trayectoria recorrida. Para obtener el valor del Angulo θ se utilizan identidades trigonométricas como se observa a continuación: 𝜃 = tan−1 𝑦 𝑥 Ecuación 19. Calculo del Angulo entre puntos. A continuación se expresa el Angulo entre puntos en términos de las coordenadas de la trayectoria a seguir, teniendo que:  P1: posición actual del dispositivo (x1, y1).  P2: posición final del dispositivo (x2, y2). 𝜃 = tan−1 𝑦2 − 𝑦1 𝑥2 − 𝑥1 Ecuación 20. Expresión final del Angulo entre puntos. Finalmente, para implementar esta señal de control se debe conocer el cuadrante en el cual se va a desplazar el dispositivo, para evitar errores en la reproducción de la trayectoria, se utiliza el comando atan2, presente en la mayoría de compiladores en C. Con lo dicho anteriormente, se puede expresar el cálculo de la señal de control de la siguiente manera: 𝜃 = 𝑎𝑡𝑎𝑛2((𝑦𝑓 − 𝑦0), (𝑥𝑓 − 𝑥0)) 𝑉𝑎 = 1500 𝐻𝑧 𝑉𝑦 = 𝑉𝑎 ∗ sin 𝜃 𝑉𝑥 = 𝑉𝑎 ∗ cos 𝜃 Ecuación 21. Expresión de la señal de control final. Se procede a simular el comportamiento del controlador utilizando Simulink de Matlab. En donde se considera la planta como la dinámica inversa ya calculada: Imagen 109. Diagrama de bloques controlador Basado en arco tangente. Una vez simulado se procede a analizar la respuesta con respecto a una trayectoria deseada: Imagen 110. Respuesta al controlador basado en arco tangente. En la imagen se puede observar el funcionamiento del controlador, y como hace que el dispositivo siga la trayectoria deseada, pero debido a que solo tiene realimentación de posición, se puede observar cómo se presentan resultados no deseados en el resultado final, esto debido al comportamiento del controlador, ya que este trabaja con velocidades de avance ideales, realizando cambios bruscos de velocidad forzando en diferentes ocasiones al dispositivo. 3.2. CONTROL DES-CENTRALIZADO El control desacoplado de las articulaciones se basa en independizar cada articulación y controlarla de forma independiente, hallando su función de transferencia y aplicando una técnica de control en lazo cerrado según su funcionamiento, normalmente se ven estrategias de control como lo son el P, PD, PID. El problema principal de todas las estrategias consideradas en este apartado es que tienen sistemas de control independientes para las articulaciones, por lo tanto son sistemas SISO (simple input, simple output) y por eso su programabilidad se hace más compleja, además las perturbaciones dependen en cada instante de las posiciones y velocidades de las distintas articulaciones, por esto es necesario ajustar un valor diferente de las contantes Kp, Kv, Ki, dependiendo del instante considerado. Para esto se deben estudiar estrategias de control que permitan contemplar el acoplamiento de las articulaciones de forma más apropiada. 3.3. CONTROL CENTRALIZADO El control centralizado toma el manipulador como un único conjunto y toman cada articulación como parte del modelo matemático a controlar, y no hacen parte de las perturbaciones de cada sistema de control independiente si se utilizara un control des- centralizado. Es por esto que el control centralizado es el adecuado para este tipo de sistemas, ya que se encargan que asegurar el funcionamiento del sistema en general este tipo de sistemas de control es de tipo MIMO (multiple input, multiple output). 3.3.1. CONTROL PD El control PD, es un tipo de control MIMO lineal, el cual asegura un seguimiento a la referencia o posición deseada, dado por la constante proporcional, y una velocidad constante de avance, gracias a la acción derivativa, es por esto que este tipo de controlador es muy utilizado en este tipo de manipuladores. El control PD tiene la siguiente estructura: Imagen 55. Diagrama de bloques del control PD [24]. Como se puede observar en el diagrama de bloques, este controlador es bastante sencillo de implementar y simular, solo basta con hallar las contantes de control Kp y Kd, según el tipo de respuesta deseada y realimentar la posición y velocidad del sistema para asegurar el funcionamiento del sistema. Para el cálculo de las constantes de velocidad y posición se tienen en cuenta las siguientes consideraciones: Siendo δ el coeficiente de amortiguamiento y Wn la frecuencia natural no amortiguada. Identificando coeficientes se tiene: 𝑊𝑛 = √𝐾𝑝 2𝛿√𝐾𝑝 = 𝐾𝑣 𝛿 = 𝐾𝑣 2√𝐾𝑝 Ecuación 22. Coeficientes de control Kp y Kv. Para el correcto funcionamiento de control se desea un comportamiento críticamente amortiguado, para buscar la respuesta en el mayor tiempo posible sin sobre impulsos, se tiene que: 𝛿 = 1 Ecuación 23. Comportamiento críticamente amortiguado. Con lo anterior se puede decir que: 𝐾𝑝 = 𝑊𝑛2 𝐾𝑑 = 2 𝑊𝑛 Ecuación 24. Expresión para las constantes Kp y Kd. Si se quiere que wn sea igual a 5, tenemos que las constantes de control Kp y Kd son: 𝐾𝑝 = | 25 0 0 25 | 𝐾𝑑 = | 10 0 0 10 | Ecuación xx. Contantes de control matriciales. Con las constantes de control calculadas, se procede a simular el comportamiento del controlador PD con la ayuda de Simulink, y se planea que siga una trayectoria deseada: Imagen 56. Trayectoria a seguir para cada el eje x (rojo) y el eje y (morado). Teniendo la trayectoria deseada a seguir se procede a simular el controlador utilizando MatLab: Imagen 57. Diagrama de bloques del controlador PD. En donde tenemos la siguiente respuesta en velocidad, aceleración y posición final: Imagen 58. Aceleración lineal del sistema de control. Vemos el comportamiento de la aceleración lineal en la ejecución de la trayectoria, se puede observar que tiene un comportamiento fluctuante ya que este controlador ejecuta la trayectoria en línea recta, y hace que la velocidad de avance sea constante de punto a punto. Imagen 59. Velocidad lineal del sistema de control. Como vemos el comportamiento de la velocidad lineal trata de mantenerse constante en el transcurso de la trayectoria, las fluctuaciones y sobre impulsos que se dan en los cambios bruscos de velocidad, pueden llevar a una respuesta suavizada y un error en estado estable en la salida del sistema, para corregir este aspecto se debe aumentar la robustez del controlador para así poder obtener velocidades constantes en la trayectoria. Imagen 60. Posición del sistema de control. Como se pudo observar por los efectos de la velocidad lineal se produce un error mínimo en la salida del sistema, pero se puede observar el funcionamiento del controlador, se ve que tiende a seguir la referencia planeada y cumple con los requerimientos, trata de minimizar el error y busca una velocidad de avance constante. Se puede observar el error en la posición más claramente haciendo un análisis en el movimiento espacial del efector final siguiendo la misma trayectoria. Imagen 61. Trayectoria deseada vs trayectoria obtenida. Se puede observar que la salida del controlador tiene una respuesta más suave con respecto a tu trayectoria, a simple vista el error en la posición no se nota pero como se pudo ver en la imagen de posición real, hay un margen de error en el controlador debido a la acción de la aceleración lineal del controlador. 3.3.2. CONTROL BASADO EN LA DINÁMICA INVERSA El control basado en la dinámica inversa del manipulador, involucra el modelo dinámico del sistema para obtener la señal de control adecuada, realizando una linearizacion exacta del sistema en casos en donde se presenten elementos no lineales. Este tipo de controladores tienen una señal de control de tipo: 𝑢 = 𝐵(𝑞)𝑦 + 𝑛(𝑞, ?̇?) Ecuación 25. Señal de control del controlador. De donde se tiene que: ?̈? = 𝑦 𝑛(𝑞, ?̇?) = 𝐶(𝑞, ?̇?)?̇? + 𝐹?̇? + 𝑔(𝑞) Ecuación 26. Señal de control del controlador. Como se ha expresado antes, el modelo dinámico no tiene elementos no lineales, ni aportes de la aceleración de coriolis ni fricciones relativa, por lo tanto el término 𝑛(𝑞, 𝑞) = 0̇ . Vemos la estructura del controlador por medio de su diagrama de bloques: Imagen 62. Diagrama de bloques del controlador Basado en la dinámica inversa [24]. Como se puede observar en el diagrama de bloques del controlador, la señal de control depende de la matriz de inercia directa, la cual se obtiene del modelo dinámico del sistema, y de la matriz de aportes a aceleración centrifuga, gravitacional y términos no lineales, que para el controlador sirven como compensaciones de la parte no lineal, ya que en el modelo dinámico obtenido del manipulador, estos términos no se tuvieron en cuenta, el controlador tendrá un esquema simplificado para sí implementación. Hay que tener en cuenta que el modelo dinámico, exactamente la matriz de inercia B, en este caso no depende de la configuración del sistema, es una matriz constante y por lo tanto no se requiere una realimentación de la posición actual. Utilizando los mismos parámetros de diseño y respuesta deseada que se utilizaron en la sección 3.2.1. Se procede a simular el comportamiento del controlador basado en la dinámica inversa utilizando Simulink. Imagen 63. Diagrama de bloques del controlador basado en la dinámica inversa. En donde tenemos la siguiente respuesta en velocidad, aceleración y posición final: Imagen 64. Velocidad deseada (rojo) vs velocidad real (rosa). Se puede observar el comportamiento de la velocidad en el transcurso del recorrido, se pueden observar los sobre impulsos que se presentan en cambios grandes de velocidad, esto puede afectar el resultado final si en su trayectoria se presentan cambios bruscos en la velocidad llevando a imperfecciones no deseadas, no obstante el resultado final será el adecuado ya que el controlador asegura un error 0 en estado estacionario debido al control de velocidad existente. Imagen 65. Aceleración eje x (arriba), aceleración eje y (abajo). Se puede observar que al proponer una aceleración deseada se puede lograr un seguimiento en la trayectoria de forma deseada, pero al tener los cambios en velocidad tan drásticos, se obtienen magnitudes de aceleraciones grandes en instantes muy pequeños, lo cual asegura el movimiento deseado y genera pequeños sobre impulsos en la velocidad como se había evidenciado anteriormente. Imagen 66. Trayectoria deseada vs trayectoria real. Se puede observar como el controlador sigue la trayectoria deseada sin presentar error en estado estacionario, solo se observan los efectos de los sobre impulsos en velocidad, los cuales se presentan cuando hay grandes cambios de velocidad, este sobre impulso se genera al vencer el repodo del dispositivo con la ayuda del controlador o al realizar cambios bruscos de velocidad. Se puede observar el resultado esperado en la posición más claramente haciendo un análisis en el movimiento espacial del efector final siguiendo la misma trayectoria como se realizó en el controlador anterior. Imagen 67. Trayectoria deseada vs trayectoria obtenida. Se puede observar el comportamiento del controlador al reproducir trayectorias, como los sobre impulsos que se generan por cambios de velocidad no afectan en gran manera el seguimiento de la trayectoria, lo que hace este controlador muy eficiente y robusto al momento de enfrentar cambios drásticos de velocidad. 3.4. IMPLEMENTACIÓN FINAL Lugo de obtener los resultados correspondientes de los controladores diseñados, su implementación en el sistema físico se realizara por medio de un sistema de adquisición de datos, es por esto que se verá necesario realizar la discretizacion correspondiente de cada controlador para evidenciar los resultados reales debido a que las señales de entrada al sistema no son continuas. Este proceso se realizara en la sección IMPLEMENTACIÓN FINAL Y RESULTADOS. 4. SISTEMA DE ENTRADA DE DATOS Como lo que se quiere con el dispositivo es aumentar su resolución de corte actual, debe existir una forma mediante la cual se logre evidenciar el aumento de la resolución de corte del dispositivo; para esto es necesario que el sistema en general tenga un método de entrada de datos, para así poder reproducir lo deseado por el usuario. El sistema de datos actual consta de una interfaz usuario-máquina que consta de un sistema de visión artificial, en donde se utiliza como sensor de entrada una cámara web cuya función es captar la imagen que el usuario desea reproducir mediante el dispositivo. 4.1. INTRODUCCIÓN La interfaz de usuario actual es la mostrada en la imagen 68. Imagen 68. Interfaz de usuario actual. Como se puede observar consta de 2 secciones diferentes, en el primer tenemos:  Espacio cámara web.  Entrada de datos para la calibración de la cámara web.  Detección de bordes y trayectorias.  Área e ajuste de resolución de corte final.  Área de envió de datos al mecanismo.  Sección de testigos. En la segunda sección se grafican los datos recibidos por el mecanismo, correspondientes a la señal de control de cada grado de libertad. 4.2. SISTEMA DE DETECCIÓN. El sistema de detección consta de los siguientes pasos:  Captura de imagen.  Calibración cama web.  Aplicación del algoritmo de detección.  Conformación del vector de datos según la resolución de corte deseada.  Exportación de datos. A continuación se explicara más a fondo la participación de cada una de estas secciones y su finalidad para obtener un resultado final más óptimo. 4.2.1. CAPTURA DE IMAGEN Para la captura de imágenes por parte del usuario, se utiliza la cámara web mostrada en la Imagen 74. Imagen 74. Camera web Microsoft LifeCam VX-800. De la cual se pueden saber sus principales especificaciones técnicas: Especificaciones Generales Color Negro Marca Microsoft Modelo VX-800 Serie LifeCam Especificaciones de la Cámara Sensor de Imagen CMOS Resolución de Video 640 x 480 Conexiones USB Características Físicas Dimensiones 52.2 x 52.3 x 62.4 mm Peso 68.6 gramos Tabla 7. Especificaciones técnicas de la cámara utilizada. Las principales características a tener en cuenta son:  Resolución de imagen: 640 x 480.  Tipo de sensor: CMOS. Al tener una cámara web como entrada de datos al sistema, se presenta un principal problema y es encontrar la correspondencia entre el espacio de trabajo real y el espacio de trabajo captado por la cámara web ya que esto puede llevar a obtener resultados no deseados. 4.2.2. CALIBRACIÓN DE LA CÁMARA WEB Calibrar una cámara significa encontrar sus parámetros internos, externos y posibles distorsiones que esta tenga. Se puede definir como un paso necesario en visión artificial para extraer información de imágenes en 2D, y poder ser usadas en cualquier aplicación. Una cámara tiene tanto parámetros intrínsecos como extrínsecos. Los parámetros intrínsecos son aquellos que describen el funcionamiento de una cámara, dentro de los cuales se destacan:  Distancia focal.  Punto principal.  Centro óptico. Los parámetros extrínsecos de una cámara son aquellos que definen la posición y orientación del cuadro de referencia de la cámara con respecto al mundo real, es decir dan la orientación de la cámara. JUSTIFICACIÓN Ya que en el proyecto a realizar se utiliza una cámara web convencional, este tipo de cámaras cuenta con varios tipos de distorsión dados por su proceso de manufactura, principio de funcionamiento y tipo de lente. Como la finalidad del proyecto es obtener coordenadas de un espacio de trabajo, estas distorsiones pueden afectar considerablemente el resultado final. Es por esto que al calibrar la cámara web a utilizar, se busca corregir estas distorsiones y obtener un resultado más confiable. SOFTWARE Para realizar la calibración de la cámara web se utiliza una librería de C# llamada Open CV, la cual brinda herramientas para poder realizar este proceso de la manera más adecuada. El principio de funcionamiento del software consiste en generar una escena conformada por puntos 3D proyectados desde la imagen utilizando una transformación de la perspectiva, para poder corregir distorsiones. Para realizar el proceso de calibración se requiere un tablero de ajedrez, ya que es el método más utilizado para realizar este proceso, para esto se debe construir un tablero de ajedrez en el cual este inmerso el espacio de trabajo a detectar, como se puede observar a continuación: Imagen 69. Espacio de trabajo en tablero de ajedrez. Con esto se asegura que la calibración de la cámara web sea para corregir los errores y distorsiones en este espacio de trabajo. Una vez construido el espacio de trabajo se procede a ingresar los datos en el software, tales como: Imagen 70. Ingreso de datos para calibración. Como se puede observar, los datos ingresados son:  Buffer: número de imágenes a tomar para realizar el proceso de calibración.  # Cuadros - Ancho: el número de cuadros a lo ancho del tablero – 1.  # Cuadros - Alto: el número de cuadros a lo alto del tablero – 1.  Tamaño del cuadro: el tamaño en centímetros del cuadro construido. Una vez los datos sean ingresados se procede a realizar el proceso de calibración, al cual consiste en detectar cada esquina presente en el tablero de ajedrez, para así encontrar la correspondencia, como se observa en la siguiente imagen: Imagen 71. Detección de esquinas en el tablero de ajedrez. Al ser detectado el tablero completo de ajedrez, el programa procede a almacenar las imágenes correspondientes, tantas como se indica en el buffer, para así realizar la posterior calibración del sistema. Una vez se realiza completamente el almacenamiento de las imágenes, se realiza el proceso de calibración, en donde se obtienen los parámetros intrínsecos y extrínsecos de la cámara y su distorsión, llevando a la corrección de la imagen, el software calcula el error del cálculo de los parámetros intrínsecos y procede a mostrar y corregir la distorsión presente en la cámara comparándola con imagen real como se puede observar a continuación: Imagen 72. Distorsión corregida. Se puede observar cómo se nota la corrección de la imagen ajustando su distorsión, pero como el espacio de trabajo es grande, es difícil notarlo fácilmente, por esto se realiza un ejemplo con un espacio de trabajo menor para observar el ajuste de distorsión realizado por software con los siguientes datos:  Buffer: 100.  #Cuadros – Ancho: 9.  #Cuadros – Alto : 6.  Tamaño del cuadro: 1.9 cm. Con los resultados anteriores tenemos el siguiente ajuste: Imagen 73. Ajuste de distorsión. Como se pudo observar, en la anterior imagen se observa claramente el ajuste de distorsión que realiza la calibración, asegurando que las dimensiones adquiridas dentro del espacio de trabajo son las correctas, y se puede aplicar con seguridad, la relación pixel/mm para proceder con el cálculo de trayectoria y su reproducción en el sistema físico. 4.3. RESOLUCIÓN SISTEMA DE ENTRADA DE DATOS Teniendo las características principales de la cámara web, y el funcionamiento del sistema de calibración, se procede a calcular la resolución del sistema de entrada de datos. Como se pudo observar en la sección anterior, la calibración de la cámara web requiere el ingreso de 4 datos, fundamentales para su correcto funcionamiento los cuales son:  Buffer: número de imágenes a tomar para realizar el proceso de calibración.  # Cuadros – Ancho: el número de cuadros a lo ancho del tablero – 1.  # Cuadros – Alto: el número de cuadros a lo alto del tablero – 1.  Tamaño del cuadro: el tamaño en centímetros del cuadro construido. El sistema de calibración de cámara web detecta el espacio de trabajo como se pudo observar en la Imagen 71. Luego de realizar el ajuste de distorsión se genera un nuevo espacio de trabajo virtual con la imagen corregida, en donde se obtienen las dimensiones del espacio de trabajo en pixeles como se muestra a continuación: Imagen 141. Espacio de trabajo con imagen sin distorsión. Teniendo en cuenta los datos anteriores se puede generar una expresión para la resolución de cada grado de libertad: 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = (# 𝐶𝑢𝑎𝑑𝑟𝑜𝑠 𝐴𝑛𝑐ℎ𝑜 − 1) ∗ 𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒𝑙 𝑐𝑢𝑎𝑑𝑟𝑜 𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑌 = (# 𝐶𝑢𝑎𝑑𝑟𝑜𝑠 𝐴𝑙𝑡𝑜 − 1) ∗ 𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒𝑙 𝑐𝑢𝑎𝑑𝑟𝑜 𝑌𝑚𝑎𝑥 − 𝑌𝑚𝑖𝑛 Ecuación 35. Resolución de cada grado de libertad. Con las expresiones anteriores se puede observar que la resolución espacial del sistema de entrada de datos se puede ajustar según sean las necesidades actuales, la principal limitación del sistema se encuentra en el método de entrada de datos, que en nuestro caso es la cámara web utilizada, ya que al trabajar con espacios de trabajo muy grandes o muy pequeños, la configuración física de la cámara no permite el enfoque, es decir lograr que la escena o en este caso el espacio de trabajo salga completamente nítido en la captura de la imagen lo cual provocaría resultados no deseados y ruido en el resultado final. Teniendo en cuenta que espacio de trabajo del sistema mecánico es de 40x30 cm. Se puede expresar una resolución con respecto a un espacio de trabajo de 40x28 para un correcto funcionamiento del sistema de calibración. La imagen sin distorsión capturada fue la siguiente: Imagen 142. Espacio de trabajo capturado. Con los siguientes datos de entrada:  Buffer: 100.  # Cuadros – Ancho: 11.  # Cuadros – Alto: 8.  Tamaño del cuadro: 4 cm. Con los datos anteriores, se obtiene el siguiente espacio de trabajo virtual:  Xmax – Xmin = 431 pixeles.  Ymax – Ymin = 262 pixeles. Con los datos anteriores se puede obtener una resolución máxima de cada grado de libertad permitida por el sistema de entrada de datos: 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = (# 𝐶𝑢𝑎𝑑𝑟𝑜𝑠 𝐴𝑛𝑐ℎ𝑜 − 1) ∗ 𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒𝑙 𝑐𝑢𝑎𝑑𝑟𝑜 𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = (11 − 1) ∗ 4𝑐𝑚 431 𝑝𝑖𝑥𝑒𝑙𝑒𝑠 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = 𝟎. 𝟗𝟐𝟖𝟎𝟕 𝒎𝒎/𝒑𝒊𝒙𝒆𝒍 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑌 = (# 𝐶𝑢𝑎𝑑𝑟𝑜𝑠 𝐴𝑙𝑡𝑜 − 1) ∗ 𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒𝑙 𝑐𝑢𝑎𝑑𝑟𝑜 𝑌𝑚𝑎𝑥 − 𝑌𝑚𝑖𝑛 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑌 = (8 − 1) ∗ 4𝑐𝑚 262 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑌 = 𝟏. 𝟎𝟔𝟖𝟕 𝒎𝒎/𝒑𝒊𝒙𝒆𝒍 4.3.1. ESTRUCTURA PARA CÁMARA WEB FINAL. Para asegurar de que el espacio de trabajo físico deseado sea captado correctamente por la cámara web se debe diseñar una estructura que permita calibrar la distancia correcta del lente hacia el área de dibujo, utilizando ayudas por software, las cuales indiquen al usuario el punto correcto para la calibración. 4.3.2. DISEÑO ESTRUCTURA FINAL Para el diseño de la estructura se debe tener en cuenta que la cámara pueda detectar el espacio de trabajo adecuado para el correcto funcionamiento del dispositivo. Como se pudo observar en la sección 2.3.2. la resolución del sistema mecánico es de 0.087912 mm/bit, lo cual indica que el espacio de trabajo debe ser proporcional a esta resolución para así obtener un resultado óptimo, es decir la estructura de la cámara debe permitirle al usuario calibrar el sistema de visión para obtener los resultados deseados, buscando siempre el mejor resultado. Para esto se diseñó una estructura con la capacidad de ser calibrada para obtener el espacio de trabajo ideal, como se muestra en la Imagen 78. Imagen 78. Estructura de cámara final. Como se puede observar en la imagen anterior, la estructura cuenta con la capacidad de ajustar la altura de la cámara para así poder abarcar todo el sistema de trabajo real evitando las pérdidas de información. 4.4. APLICACIÓN DEL ALGORITMO DE DETECCIÓN. Para la detección de contornos se aplicara un algoritmo de seguimiento que cuente con la siguiente estructura: Imagen 79. Diagrama de bloques del algoritmo de control. Para esto se realizara un procesamiento de imágenes pixel a pixel, accediendo a los parámetros de color del mismo para así detectar el primer pixel que pertenezca al contorno a cortar. Para esto se usaron los parámetros de color RGB, con ayuda de los valores en cada uno de los parámetros, para poder crear un condicional y así poder detectar la condición de inicio. Realizando la búsqueda del color negro como tal, se obtuvieron resultados irregulares, como se muestra a continuación: Imagen 80. Contorno real – contorno detectado irregular. Como se puede observar en la Imagen 81. El contorno detectado es algo irregular, esto se debe a la difuminación que tienen los colores para representar el color actual, es por esto que el contorno detectado tiene un acabado irregular. Para explicar este problema, se realizó un zoom al contorno deseado para evidenciar la difuminación que presenta el color normalmente en las imágenes. Imagen 81. Difuminarían del color en imágenes comunes. Como se puede observar el contorno dibujado, en su totalidad no es completamente negro, se pueden observar como un contorno negro está compuesto en su mayoría por bastes tonos de gris, lo cual presenta un problema, porque al detectar un contorno usando una imagen real y no una digital como la que se utilizó en el ejemplo, el contorno detectado no será el deseado. Para dar solución a este problema se plantea un umbral de detección, el cual incluya los tonos de grises que están presentes en una imagen real para que la detección sea más cercana lo más cercano a la realidad posible. 4.4.1. UMBRAL DE DETECCIÓN Para implementar el umbral de detección se realizó un proceso experimental, para poder determinar los valores exactos ara el umbral, para así poder contener los tonos necesarios para detectar correctamente el contorno, y evitar el alliasing entre los colores del resto de la imagen. Para esto re realizo una interfaz de prueba en c#, en donde se carga una imagen de un contorno a cortar real, para así poder detectar los niveles de color utilizando los parámetros:  Alpha.  Red.  Green.  Blue. Y así poder crear una ventana de detección correctamente. Imagen 82. Interfaz para cálculo del umbral. Se levantó la información de zonas en las cuales no existe un contorno, para así tener en cuenta que valores no deben entrar en los cálculos del umbral. Imagen 83. Calculo del umbral. Ahora se procede a detectar los valores del umbral que contengan la mayor cantidad de tonos grises, esto sin permitir que el alliasing interfiera en el proceso. Imagen 84. Calculo del umbral. Después de haber realizado el proceso de cálculo del umbral, se concluyeron los siguientes parámetros para implementar en el algoritmo de detección y así obtener resultados más confiables y completos:  Alpha = 255.  Blue <= 100.  Green <= 100.  Red <= 100. Implementando el umbral nombrado anteriormente, se obtuvieron los siguientes resultados utilizando imágenes reales capturadas por el sistema de adquisición de imágenes: Imagen 85. Ejemplos de la implementación del umbral. Se logró observar como la acción del umbral arroja resultados más completos y confiables, se logra observar como a simple vista se puede reproducir el contorno deseado a cortar. 4.4.2. CONFORMACIÓN DEL VECTOR DE DATOS. Para reproducir el contorno deseado mediante la herramienta de corte, es necesario representar la imagen a cortar en información legible para el sistema de control del dispositivo, esto se hace mediante coordenadas espaciales de corte las cuales deben ser enviadas en el orden previsto para que al ser reproducidas se logre conformar nuevamente el contorno deseado, esta conversión de datos, se logra en el proceso de detección de contorno explicado en la sección 4.2.2. Imagen 86. Sección del algoritmo encargada de almacenar las coordenadas. Esta sección del algoritmo de detección se encarga de almacenar las coordenadas en pixeles de cada sección del algoritmo en el orden en el cual es detectado, y con esto se asegura que las coordenadas tengan el orden correcto. Imagen 87. Coordenadas adquiridas en pixeles mediante el algoritmo de detección. Con el listado de coordenadas se procede a exportar los datos para así poder iniciar la reproducción de la trayectoria. 4.4.3. EXPORTACIÓN DE DATOS. Para exportar los datos al sistema de control se realizara de forma secuencia, teniendo en cuenta el siguiente diagrama de bloques: Imagen 88. Diagrama de bloques del envió de datos. El sistema de envió de datos requiere condiciones de inicio y de parada, las cuales son proporcionadas por el dispositivo de adquisición de datos, las cuales cumplen con la función de asegurar la completa recepción de datos y así evitar pérdidas de información. Para comunicar el sistema de adquisición de datos y la interfaz-usuario máquina, se utilizó el módulo USART de la tarjeta de adquisición de datos, el cual cuenta con las siguientes características:  Full dúplex, comunicación asincrónica.  8 módulos de comunicación.  Tamaño de palabra de 8 o 9 bits.  Bits de parada y paridad. Teniendo las características principales del módulo de comunicación a emplear, se procede a elegir la configuración del módulo para comunicación, el cual será configurado de la siguiente manera:  Palabra de 8 bits.  Sin paridad.  1 bit de parada.  9600 baudios. Teniendo como referencia la configuración anterior y dado el hecho de que se necesitan enviar las coordenadas correspondientes a la trayectoria, es claro que se debe aplicar un método alterno para evitar al máximo la perdida de datos, es por esto que la comunicación entre la interfaz de usuario y la tarjeta de adquisición de datos será de la siguiente forma.  Se implementara un método de encriptación, el cual consiste en tener bits de control y bits de datos dentro de la palabra a enviar, para así poder enviar completamente los datos. Imagen 89. Esquema comunicación encriptada.  En la tarjeta de adquisición de datos, se aplicara un método de selección y control, ayudándose de registros de control para asegurar la recepción de los datos a utilizar.  El método de envió de datos desde la HMI a la tarjeta de adquisición de datos es el siguiente: o Se enviara coordenada a coordenada, compuesta por un valor de X y un valor de Y. o Cada uno de los valores de X y, puede alcanzar un valor de hasta 640 dependiendo la aplicación, debido a esto se tomara cada dato obtenido como una palabra de 10 bits, para evitar la pérdida de información (máximo 1023), y debido a que se tendrá que enviar 2 palabras de 10 bits para el correcto envió de una coordenada, se fraccionara cada coordenada para su envió, como se muestra a continuación: Imagen 90. Fraccionamiento de datos de envió. o Al tener los datos fraccionados, se asigna una posición de control a cada dato enviado para así poder realizar el proceso de comunicación de manera eficiente y evitar la pérdida de datos. Imagen 91. Posición de control de cada dato a enviar. o Una vez enviados los datos, en la tarjeta de adquisición de datos se procede a concatenar los datos recibidos para así poder conformar el vector de trayectoria y proceder a aplicar el algoritmo de control adecuado. 4.4.4. RESOLUCIÓN PROTOCOLO DE COMUNICACIÓN Como se pudo observar anteriormente el sistema de comunicación limita él envió de una palabra de 10 bits para cada coordenada por grado de libertad. Esto da un valor máximo de 1023 por valor enviado, el cual al llegar al sistema de control es convertido en un valor de distancia real para así poder reproducir la trayectoria correctamente. Esto presenta una limitación en él envió de coordenadas para ser reproducidas, lo cual se puede expresar como una resolución del protocolo de comunicación. 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 = 𝐸𝑠𝑝𝑎𝑐𝑖𝑜 𝑑𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑜 1023 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = 𝐸𝑠𝑝𝑎𝑐𝑖𝑜 𝑑𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑜 𝑒𝑗𝑒 𝑋 [𝑚𝑚] #𝑏𝑖𝑡𝑠 [𝑏𝑖𝑡] 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑌 = 𝐸𝑠𝑝𝑎𝑐𝑖𝑜 𝑑𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑜 𝑒𝑗𝑒 𝑌 [𝑚𝑚] # 𝑏𝑖𝑡𝑠 [𝑏𝑖𝑡] Tomando como ejemplo el espacio de trabajo total del dispositivo, se puede plantear la resolución del protocolo de comunicación general. 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = 400 𝑚𝑚 1023 𝑏𝑖𝑡𝑠 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = 𝟎. 𝟑𝟗𝟏 𝒎𝒎/𝒃𝒊𝒕 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑋 = 300 𝑚𝑚 1023 𝑏𝑖𝑡𝑠 𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 𝑒𝑗𝑒 𝑌 = 𝟎. 𝟐𝟗𝟑𝟐 𝒎𝒎/𝒃𝒊𝒕 5. IMPLEMENTACIÓN FINAL Y RESULTADOS La implementación final se realizó utilizando la tarjeta de desarrollo STM32F4- Discovery, para tomar los datos de la realimentación de posición, para recibir y enviar los datos con la interfaz humano-máquina y para implementar los sistemas de control a implementar. Esta tarjeta de desarrollo nos brinda las siguientes ventajas:  Facilidad de programación.  Estabilidad.  Resistente a ruidos.  Gran capacidad de memoria.  Posee gran variedad de módulos útiles para desarrollar lo planeado (PWM, CCP, UART, Interrupciones, etc.). 5.1. RESULTADOS. Para presentar los resultados se define una trayectoria irregular a seguir por el manipulador y se observa el comportamiento del cada uno de los controladores definidos así mismo como el comportamiento del sistema de visión artificial. 5.1.1. RESULTADOS SISTEMA DE VISIÓN ARTIFICIAL. Como se planteó en el capítulo anterior, se diseñó un espacio de trabajo inmerso en el tablero de ajedrez utilizado para el proceso de calibración del sistema de visión artificial, este se ubica en la estructura de la cámara web diseñada en el capítulo anterior. La cual permite a la cámara capturar el espacio de trabajo necesario para adquirir las trayectorias y el restando necesario para el proceso de calibración como se observa en la Imagen 92 y 93. Imagen 92. Estructura cámara web con espacio de trabajo en tablero de ajedrez. Imagen 93. Imagen tomada desde la cámara web. Una vez el espacio de trabajo es capturado adecuada mente, se procede a realizar el proceso de calibración de la cama web explicado en la sección 4.2.1. Imagen 94. Proceso de calibración terminado. Una vez el sistema de visión artificial es calibrado, se procede a captar la trayectoria deseada ingresada por el usuario, este método se realiza utilizando papel de fondo claro, con tinta negra como se explica en la sección 4.2.3.1., se proponen los siguientes tipos de trayectorias para evidenciar la función del sistema de visión artificial.  Trayectoria regular tipo circunferencia de radio conocido: Imagen 95. Imagen real – Imagen obtenida desde cámara web.  Trayectoria irregular ingresada: Imagen 96. Imagen real – Imagen obtenida desde cámara web. Una vez captadas las trayectorias se procede a aplicar el algoritmo de detección para obtener las trayectorias deseadas en ambas trayectorias a ingresar para así poder observar el error presente en el sistema de visión artificial. TRAYECTORIA REGULAR Para la trayectoria tipo circunferencia se obtuvo la siguiente trayectoria: Imagen 97. Bordes detectados. Se ajusta a la resolución máxima de trayectoria para poder evidenciar el error en el sistema de visión utilizando herramientas externas: Imagen 98. Resultados obtenidos. Como se puede observar a continuación, se observan las coordenadas obtenidas para ser reproducidas como trayectorias, las cuales son exportadas en archivos .txt, para su posterior envió, también se observa la resolución de corte del sistema de visión artificial, dada en milímetros por pixel avanzado. Para evidenciar el funcionamiento del sistema de visión artificial y su precisión, se proceden a utilizar las coordenadas obtenidas por el algoritmo de control y utilizarlas para reproducir la misma trayectoria en un software cad para su posterior impresión, el software a utilizar será SolidWorks. Imagen 99. Software CAD. Con la ayuda de este software se crea una trayectoria definida a partir de las coordenadas obtenidas por el sistema de visión artificial, para así poder imprimir la trayectoria obtenida por el algoritmo. Imagen 100. Pieza obtenida en SolidWorks. Imagen 101. Plano obtenido en tamaño real de acuerdo a las coordenadas obtenidas. Al adquirir el plano en tamaño real desde las coordenadas obtenidas por el algoritmo de detección, se procede a imprimir y comparar los resultados obtenidos. Imagen 102. Trayectoria dibujada – Trayectoria obtenida. Como se pudo observar, la comparación entre la trayectoria ingresada y la obtenida se realiza por el método visual, se observa la precisión del algoritmo de control y especialmente del método de calibración de la cámara web, ya que este se realiza exclusivamente con el fin de asegurar la corrección de distorsión en la imagen y la captura del espacio de trabajo real junto con las dimensiones reales. TRAYECTORIA IRREGULAR A continuación se realiza el mismo proceso para la trayectoria irregular. De la imagen ingresada, se obtuvo la siguiente trayectoria: Imagen 103. Trayectoria obtenida por el algoritmo de control. Se ajusta a la resolución máxima de trayectoria para poder evidenciar el error en el sistema de visión utilizando herramientas externas: Imagen 104. Resultados obtenidos. Con las coordenadas obtenidas se procede a realizar el mismo proceso de exportación de datos y obtención de trayectoria dada por el sistema de visión, y así comprobar la precisión del algoritmo de control para trayectorias irregulares.  Pieza ensamblada en SolidWorks: Imagen 105. Pieza ensamblada en SolidWorks.  Plano a tamaño real de la trayectoria a seguir por el manipulador: Imagen 106. Plano a tamaño real.  Resultados obtenidos: Imagen 107. Trayectoria dibujada – trayectoria obtenida. Se observa que tanto para las trayectorias regular e irregular el comportamiento del controlador es el mismo, lo cual da una gran ventaja ya que no limita el sistema de visión artificial, y le brinda la posibilidad al usuario de ingresar cualquier tipo de trayectoria posible sin ninguna limitación notable. 5.2. RESULTADOS IMPLEMENTACIÓN FÍSICA. Una vez adquiridos los resultados del sistema de visión artificial, se procede a reproducir las trayectorias en el dispositivo ya mencionado, como se pudo observar en la sección 3. Se plantearon 3 tipos de controladores para reproducir las trayectorias deseadas, los cuales son:  Control numérico con realimentación de posición.  Control PD.  Control PD+. Para poder implementar estos controladores, se utilizó como ya se ha mencionado, la tarjeta de desarrollo STM32F4-Discovery, en la cual se implementó cada uno de los controladores ya mencionados, el programa realizado para reproducir la trayectoria se basa en los siguientes pasos:  Inicio del programa: o Inicialización de todas las variables y módulos (interrupciones, ADC, PWM, UART, etc.). o Búsqueda del 0 de maquina: se inicia el módulo PWM para que el mecanismo encuentre su posición inicial y quede listo para las operaciones a realizar.  Condición de inicio de transferencia de datos: o El programa entra en un bucle, en el cual espera la condición de inicio de transferencia de datos, esta se da cuando el sistema de visión artificial ha terminado de calcular la trayectoria satisfactoriamente.  Ciclo de transferencia de datos: o Una vez recibida la condición de transferencia, el programa ingresa en el ciclo de transferencia de datos, en donde se reciben las coordenadas de la trayectoria como se observó en la sección 4.2.5. o Una vez almacenada toda la trayectoria en el buffer de datos a seguir, el sistema de visión artificial envía la condición de fin de ciclo para proceder a la reproducción de las trayectorias.  Control: Cuando se recibe la condición de fin de ciclo de transferencia de datos, el programa entra en el ciclo de control. o Aplicación del algoritmo de control. o Lectura de los módulos ADC, y cálculo de posición actual del mecanismo. o Envió de datos correspondientes a la señal de control del mecanismo para ambos grados de libertad. o Comparación:  Se compara la posición actual con la deseada, y se da la condición de avance para proceder con la siguiente coordenada. o Se realiza el mismo proceso con todas las coordenadas de la trayectoria.  Condición de parada total: se da cuando se reproducen satisfactoriamente todas las coordenadas del buffer de datos, esto hace que el programa vuelva a la condición de inicio, buscando el 0 de máquina. A continuación se procede a reproducir las trayectorias utilizadas en la sección 5.1.1. En cada controlador implementado, para así poder analizar el comportamiento de cada uno de los controladores para analizar cual puede llegar a ser el más adecuado para cada tipo de trayectoria: 5.2.1. CONTROLADOR NUMÉRICO CON REALIMENTACIÓN DE POSICIÓN Para implementar el controlador, primero se procede a simular su comportamiento en tiempo discreto debido a que la implementación de este se realizara en una tarjeta de desarrollo y se espera obtener un comportamiento lo más cercano al ideal. Para realizar la discretizacion del controlador hay que tener en cuenta las siguientes características:  Planta: La planta para este controlador corresponde al dispositivo de 2 grados de libertad, que para la simulación se representa como la dinámica inversa, la cual recibe un torque, y entrega una posición angular. Imagen 111. Diagrama de bloques de la planta.  Controlador: En este caso el controlador consta de operaciones trigonométricas las cuales se simulan mediante un compilador C utilizando la herramienta MATLAB function de Simulink. Imagen 112. Controlador basado en arco tangente.  Señales: En este controlador hay varios tipos de señales: o Señal de referencia: esta es la señal que sirve de entrada de datos al sistema, la cual contiene la trayectoria a seguir por el dispositivo. o Realimentación: La realimentación para el controlador son las señales computadas por el bloque de MATLAB function, las cuales corresponden a la posición actual del dispositivo. Para simular el controlador en tiempo discreto se procede a discretizar la posición actual del dispositivo, ya que es la señal entrante al controlador, utilizando los parámetros del conversor análogo digital de la tarjeta de desarrollo a utilizar. Imagen 113. Controlador numérico discretizado. Utilizando la misma trayectoria a analizar, se procede a analizar el comportamiento del controlador discretizado y el controlador en tiempo continuo. Imagen 114. Trayectoria controlador en tiempo continuo (arriba), trayectoria controlador en tiempo discreto (abajo). Se puede observar cómo se tiene el mismo comportamiento en ambos controladores. Pero al discretizar la señal entrante al controlador, provoca un comportamiento más brusco, lo que provoca pequeñas oscilaciones en el resultado final. Estas oscilaciones se pueden evitar mediante software. Con esto se procede a implementar las siguientes trayectorias ya analizadas mediante el sistema de visión artificial en la sección 5.1.1. Y a analizar el comportamiento del sistema de control y su efecto en el resultado final. Imagen 108. Trayectorias a implementar por el controlador actual. Se envían las coordenadas y se procede a reproducir el sistema de control para así observar el comportamiento de este. Inicialmente se reproduce la trayectoria simple o circular, para observar tanto el comportamiento de la señal de control, como el resultado final obtenido. Con ayuda de la interfaz humano-maquina, se puede obtener el comportamiento de la señal de control para ambos grados de libertad: Imagen 115. Comportamiento de la señal de control con trayectoria circular. Como se puede observar anteriormente es deducible que el comportamiento de la señal de control sea ideal, debido al principio del controlador, el cual asume velocidad constante para un avance ideal punto a punto. Con este comportamiento se obtuvo el siguiente resultado final. Imagen 116. Trayectoria circular reproducida. Se puede observar como el comportamiento ideal del controlador lleva a reproducir algunos imperfectos en la trayectoria final, debido a los cambios bruscos de velocidad que provoca el controlador. A continuación se procede a reproducir la trayectoria irregular para observar tanto el comportamiento de la señal de control, como el resultado final obtenido. Con ayuda de la interfaz humano-maquina, se puede obtener el comportamiento de la señal de control para ambos grados de libertad: Imagen 117. Comportamiento señal de control con trayectoria irregular. Como se puede observar anteriormente y al igual que con la trayectoria circular, el controlador se comporta de manera ideal y realiza grandes cambios instantáneos de velocidad. Esto llevo a la obtención del siguiente resultado final. Imagen 118. Trayectoria irregular reproducida. Claramente se observa el efecto de los cambios bruscos de velocidad en el seguimiento de la trayectoria propuesta. 5.2.2. CONTROLADOR PD Para implementar el controlador, primero se procede a simular su comportamiento en tiempo discreto debido a que la implementación de este se realizara en una tarjeta de desarrollo y se espera obtener un comportamiento lo más cercano al ideal. Para realizar la discretizacion del controlador hay que tener en cuenta las siguientes características:  Planta: La planta para este controlador corresponde al dispositivo de 2 grados de libertad, que para la simulación se representa como la dinámica inversa, la cual recibe un torque, y entrega una posición angular. Imagen 119. Diagrama de bloques de la planta.  Controlador: En este caso el controlador consta de 2 constantes, una de error de posición y la segunda de velocidad instantánea Imagen 120. Contantes del controlador PD.  Señales: En este controlador hay varios tipos de señales: o Señal de referencia: esta es la señal que sirve de entrada de datos al sistema, la cual contiene la trayectoria a seguir por el dispositivo. o Realimentación: La realimentación para el controlador son las señales computadas por las constantes del controlador, las cuales son posición y velocidad actual. Para simular el controlador en tiempo discreto se procede a discretizar las señales entrantes al controlador, como lo son la referencia y relimentacion, utilizando los parámetros del conversor análogo digital de la tarjeta de desarrollo. Imagen 121. Controlador PD discretizado. Utilizando la misma trayectoria a analizar, se procede a analizar el comportamiento del controlador discretizado y el controlador en tiempo continuo. Imagen 122. Trayectoria controlador en tiempo continuo (arriba), trayectoria controlador en tiempo discreto (abajo). Se puede observar cómo se tiene el mismo comportamiento en ambos controladores. Pero para hacer la simulación más exacta a la realidad, se procede a eliminar la realimentación directa de velocidad, ya que solo existe realimentación de posición y esa velocidad realimentada se obtiene directamente desde la señal de posición mediante una derivada en tiempo discreto. Imagen 123. Controlador real en tiempo discreto. Ya teniendo el controlador real simulado, se procede a observar la respuesta a la trayectoria ingresada para las anteriores simulaciones. Imagen 124. Respuesta del controlador en tiempo discreto real. Se observa como el controlador real implementado presenta el mismo comportamiento que el simulado en tiempo continuo. Con esto se procede a implementar las siguientes trayectorias ya analizadas mediante el sistema de visión artificial en la sección 5.1.1. Y a analizar el comportamiento del sistema de control y su efecto en el resultado final. Imagen 125. Trayectorias a seguir por el controlador actual. Se envían las coordenadas y se procede a reproducir el sistema de control para así observar el comportamiento de este. Inicialmente se reproduce la trayectoria simple o circular, para observar tanto el comportamiento de la señal de control, como el resultado final obtenido. Con ayuda de la interfaz humano-maquina, se puede obtener el comportamiento de la señal de control para ambos grados de libertad: Imagen 126. Comportamiento de la señal de control con trayectoria circular. Se observa el controlador realiza el seguimiento punto a punto basándose en el algoritmo de control del controlador PD. Se observa como actúa el algoritmo de control al reproducir la trayectoria, iniciando con un pico máximo de velocidad y reduciendo a medida que se presenta el avance. Con este comportamiento se obtuvo el siguiente resultado final. Imagen 127. Trayectoria circular reproducida. Se puede observar como el comportamiento del controlador hace que el seguimiento de la trayectoria sea más adecuado, pero se pueden observar algunas imperfecciones debido a los picos instantáneos de velocidad ya mencionados anteriormente. A continuación se procede a reproducir la trayectoria irregular para observar tanto el comportamiento de la señal de control, como el resultado final obtenido. Con ayuda de la interfaz humano-maquina, se puede obtener el comportamiento de la señal de control para ambos grados de libertad: Imagen 128. Comportamiento señal de control con trayectoria irregular. Como se puede observar anteriormente el controlador se comporta de igual manera al reproducir la trayectoria deseada. Obteniendo así el siguiente resultado final. Imagen 129. Trayectoria irregular reproducida. Claramente se observa la mejora con respecto al controlador anterior, sin embargo se observan pequeñas malformaciones en la trayectoria. 5.2.3. CONTROLADOR PD+ Para implementar el controlador, primero se procede a simular su comportamiento en tiempo discreto debido a que la implementación de este se realizara en una tarjeta de desarrollo y se espera obtener un comportamiento lo más cercano al ideal. Para realizar la discretizacion del controlador hay que tener en cuenta las siguientes características:  Planta: La planta para este controlador corresponde al dispositivo de 2 grados de libertad, que para la simulación se representa como la dinámica inversa, la cual recibe un torque, y entrega una posición angular. Imagen 130. Diagrama de bloques de la planta.  Controlador: En este caso el controlador consta de 2 constantes, una de error de posición y la segunda de error de velocidad y una matriz, la cual corresponde a la dinámica del manipulador. Imagen 131. Contantes del controlador PD+.  Señales: En este controlador hay varios tipos de señales: o Señal de referencia: esta es la señal que sirve de entrada de datos al sistema, la cual contiene la trayectoria a seguir por el dispositivo. o Realimentación: La realimentación para el controlador son las señales computadas por las constantes del controlador, las cuales son posición y velocidad actual. Para simular el controlador en tiempo discreto se procede a discretizar las señales entrantes al controlador, como lo son la referencia y relimentacion, utilizando los parámetros del conversor análogo digital de la tarjeta de desarrollo. Imagen 132. Controlador PD+ discretizado. Utilizando la misma trayectoria a analizar, se procede a analizar el comportamiento del controlador discretizado y el controlador en tiempo continuo. Imagen 133. Trayectoria controlador en tiempo continuo (arriba), trayectoria controlador en tiempo discreto (abajo). Se puede observar cómo se tiene el mismo comportamiento en ambos controladores. Pero para hacer la simulación más exacta a la realidad, se procede a eliminar la realimentación directa de velocidad, ya que solo existe realimentación de posición y esa velocidad realimentada se obtiene directamente desde la señal de posición mediante una derivada en tiempo discreto. Imagen 134. Controlador real en tiempo discreto. Ya teniendo el controlador real simulado, se procede a observar la respuesta a la trayectoria ingresada para las anteriores simulaciones. Imagen 135. Respuesta del controlador en tiempo discreto real. Se observa como el controlador real implementado presenta el mismo comportamiento que el simulado en tiempo continuo. Con esto se procede a implementar las siguientes trayectorias ya analizadas mediante el sistema de visión artificial en la sección 5.1.1. Y a analizar el comportamiento del sistema de control y su efecto en el resultado final. Imagen 136. Trayectorias a implementar por el controlador actual. Se envían las coordenadas y se procede a reproducir el sistema de control para así observar el comportamiento de este. Inicialmente se reproduce la trayectoria simple o circular, para observar tanto el comportamiento de la señal de control, como el resultado final obtenido. Con ayuda de la interfaz humano-maquina, se puede obtener el comportamiento de la señal de control para ambos grados de libertad: Imagen 137. Comportamiento de la señal de control con trayectoria circular. Como se puede observar anteriormente el controlador evita los cambios instantáneos de velocidad que tiene el controlador numérico, y tiende a realizar un movimiento constante a diferencia del controlador PD. Con este comportamiento se obtuvo el siguiente resultado final. Imagen 138. Trayectoria circular reproducida. Se puede observar como el comportamiento del controlador hace que el seguimiento se realice de forma suave, haciendo mínimas las imperfecciones, a diferencia de lo evidenciado en los anteriores controladores. A continuación se procede a reproducir la trayectoria irregular para observar tanto el comportamiento de la señal de control, como el resultado final obtenido. Con ayuda de la interfaz humano-maquina, se puede obtener el comportamiento de la señal de control para ambos grados de libertad: Imagen 139. Comportamiento señal de control con trayectoria irregular. Como se puede observar anteriormente y al igual que con la trayectoria circular, el controlador presenta un movimiento constante, evitando los cambios drásticos de velocidad. Esto llevo a la obtención del siguiente resultado final. Imagen 140. Trayectoria irregular reproducida. Claramente se observa la mejora en la reproducción, en donde las imperfecciones se llevan al mínimo. 6. RESOLUCIÓN FINAL DEL SISTEMA INTEGRADO Una vez integrados todos los subsistemas que componen el sistema general, los cuales son:  Sistema de entrada de datos.  Sistema de comunicación.  Sistema de control. Como se pudo observar en el proceso en general cada uno de estos subsistemas cuenta con una resolución específica para cada grado de libertad. Para este caso se tomara el espacio de trabajo total del manipulador (40x30 cm) para poder obtener una resolución general.  Sistema de entrada de datos: o Resolución eje x = 0.92807 mm/pixel. o Resolución eje y = 1.0687 mm/pixel.  Sistema de comunicación: o Resolución eje x = 0.391 mm/bit. o Resolución eje y = 0.2932 mm/bit.  Sistema de control: o Resolución eje x = 0.087912 mm/bit. o Resolución eje y = 0.087912 mm/bit. Para obtener la resolución del sistema general, se toma como referencia la menor, ya que es la principal limitante para el sistema en general, en este caso la resolución de cada grado de libertad es limitada por el sistema de entrada de datos, ya que evidentemente es la menor de todas. Así que la resolución del sistema general para cada grado de libertad es:  Resolución eje x = 0.92807 mm.  Resolución eje y = 1.0687 mm. 7. CONCLUSIONES Viendo las limitaciones que presenta el dispositivo al reproducir trayectorias, como lo son la baja resolución en su resultado final, el tipo de control utilizado, entre otras, se vio la necesidad de plantear una optimización en su funcionamiento en general, con el fin de obtener un sistema que cumpla con los requisitos comerciales y le dé un valor agregado para competir con el mercado actual. Para mejorar el sistema de entrada de datos se implementaron varias soluciones, basadas en procesamiento de imágenes algoritmos de detección y funcionamiento interno de la cámara web. Se logró observar como calibrando la cámara web adecuadamente se puede corregir la distorsión debido al tipo de lente de la cámara utilizada. Obteniendo así resultados más confiables al obtener la correspondencia distancia-pixel arrojada por la cámara web. Una vez establecido el espacio de trabajo se implementó un algoritmo de detección el cual segmenta los contornos deseados a reproducir con la máxima resolución posible, eliminando posibles ruidos presentes en la imagen capturada. Integrando el sistema de calibración con el algoritmo de detección se logró implementar un sistema de detección de contornos el cual le brinda al usuario la posibilidad de manipular la resolución final del dispositivo según sea la aplicación. Al plantear un sistema de control al dispositivo para reproducir la trayectoria deseada, se observó la importancia de contar con el principio de funcionamiento del manipulador, donde se destaca el modelo matemático, cinemático y dinámico. Los cuales permiten conocer el comportamiento de las variables articulares al realizar un movimiento deseado y poder así plantear técnicas de control que permitan minimizar el error y obtener el resultado esperado. Teniendo en cuenta que la finalidad del proyecto es aumentar la resolución del sistema en general, esto se logró integrando los subsistemas presentes en el sistema general, para obtener la resolución máxima posible, la cual es la menor de los subsistemas que lo componen, en este caso el sistema de entrada de datos presenta una resolución espacial considerablemente menor, tomando el ejemplo del espacio de trabajo total del manipulador, el sistema de entrada de datos cuenta con una resolución de 𝟏. 𝟎𝟔𝟖𝟕 𝒎𝒎/𝒑𝒊𝒙𝒆𝒍 para el eje Y, comparandola con la resolucion del sistema de control obtenida en la seccion RESOLUCIÓN DEL SISTEMA MECÁNICO la cual es de 0.087912 𝑚𝑚/𝑏𝑖𝑡, se puede observar como el limitante actual se encuentra en el sistema de adquisición de datos. Esta problemática se puede mejorar de diferentes formas:  Aumentando la resolución de la cámara web.  Reduciendo el espacio de trabajo final.  Utilizando una cámara con auto enfoque.  Implementando otro método de entrada de datos que permita resoluciones espaciales mayores. Para trabajos futuros, se pueden proponer diferentes técnicas para aumentar la resolución y el funcionamiento en general del sistema como las mencionadas anteriormente, las cuales buscan acercarse a la resolución del sistema de control. Y poder así aumentar las aplicaciones del manipulador. Fuera de esto se observó como la integración de todos los subsistemas llevo a un funcionamiento óptimo, cumpliendo con los requisitos deseados y obteniendo así un sistema de detección y reproducción de trayectorias de bajo costo con variedad de aplicaciones. 8. BIBLIOGRAFÍA [1] “Mesa de Posicionamiento XY”, Centro de Desarrollo e Investigación de Mecatrónica, Grupos de Proyectos, 2002. [2] Mery Yaneth Sarmiento Saavedra and Jesús Pedroza Rojas, 'Construcction of Mamachine for Thermal cut of Metallic Silhouettes Attenden by Computer' Revista Colombiana de Tecnologías de Avanzadas, Vol. 1,No. 7 (2006). [3] Gustavo González, Guillermo Gutiérrez and Carlos Cagliolo, ÍNTERPRETE DE CAD Y SU APLICACIÓN PARA OPTIMIZACIÓN DE PARÁMETROS DE CONTROL DE UN ROBOT INDUSTRIAL', CUDAR, UTN-FRC, Córdoba, Argentina, 2000. [4] Structure Probe, Inc., 'Cortador Ultrasónico de Disco SPI', 1996 - 2007. Structure Probe, Inc., 2007. [5] M. Brady, R. Paul, “The First International Symposium”, The MIT Press, Cambridge MA, 1984. [6] F. Porras, J. Cid M , A. Lara, A. Mendoza, F. Reyes, A. Gracia, J. Méndez, O. Gutiérrez, F. Amaro, “PROGRAMACION DE UN ROBOT CARTESIANO”, Benemetira Universidad de Puebla. Disponible en: http://proton.ucting.udg.mx/somi/memorias/electron/Ele-23.pdf [7] “Mesa de Posicionamiento XY”, Centro de Desarrollo e Investigación de Mecatrónica, Grupos de Proyectos, 2002. [8] J. Gosalbez, A. Salazar, R. Miralles, I. Bosch, L. Vergara, “MEJORA DE LA DETECCION Y CARACTERIZACION DE MATERIALES CON UN SISTEMA AUTOMATICO DE ULTRASONIDOS”, Departamento de Comunicaciones, Universidad politécnica de Valencia 2005. [9] “Medición de espesor de recubrimientos”, Disponible en: http://www.helmut- fischer.com/globalfiles/Segelboot_spanish_04.pdf [10] C. Platero, “Inspección y clasificación automática de pasta de papel TCF y EFC”, Visión Artificial con aportaciones al Reconocimiento de Formas, UPM, 1998. [11] Katsuhiko Ogata. Ingeniería de control moderna. Pearson Educación, 2003. [12] VARGAS E., REYNOSO G., “Diseño de un Manipulador Industrial para Aplicaciones de Limpieza en Subestaciones Eléctricas”, Cerro de las Campanas No. 14, (En Línea:) http://www.mecatronica.net/emilio/papers/amrob01.PDF [13] FU, K. “Robótica: Control, detección, visión e inteligencia”, McGraw-Hill, Madrid, España: julio de 1988, pp 3. [14] Sonka Hlavac & Boyle, “Image Processing, Analysis, and Machine Vision”, PWC Publishings, 1999. [15] González, Woods, “Digital Image Processing”, Adison-Wesley Publishing Company, 1993. [16] Tomado de: http://www.sensing.es/Desplazamiento_Cm.htm [17] QNX RTOS 4.25 System Architecture. Note Control Systems Magazine, Vol 19, number 3, June 1999. [18] R. P. Paul, Robot Manipulators: Mathematics, Programming, and Control, The MIT Press. Cambridge Massachussets, 1981. [19] Photon microGUI 1.13 Programmer’s Guide. [20] ROBÓTICA Y VISIÓN ARTIFICIAL. Quira Nelson. Rivera Carlos. Corporación Universitaria Autónoma del Cauca. [21] INTRODUCCIÓN A LA ROBÓTICA. Cristina Urdiales García. Universidad de Málaga – Escuela Técnica Superior de Ingenieros de Telecomunicaciones. [22] Jonathan Carrera díaz and Fernando Garrido Reséndiz, 'Software de Simulación del Robot PUMA Unimation 560 Basado en el Modelo Cinemático Directo e Inverso de Posición', Diseño e implementación del software de simulación del robot PUMA 560, University of State Hidalgo, 2000. [23] Rafael Sanz Domínguez,Aplicaciones industriales de la robótica,Curso de verano: Robots y Humanos :hacia la convivencia, Universidad de Santiago de Compostela,19-22 de Julio del 2004. [24] Mikell P. Goover, MitchellWeiss, Roger N. Nagel y Nicholas G. Odrey, ROBOTICA INDUSTRIALTecnología, Programación y Aplicaciones,Ed. McGraw-Hill 1990. [25] R. Ramos, J. Yamamoto, F. Rendo, M. Anigstein, "Interfase de programación orientada a objetos para el control de ejes robóticos," XIV Simposio Nacional de Control Automático AADECA, Bs As, 1994. [26] J. J. Craig, Introduction to Robotics: Mechanics and Control, Pearson, Prentice- Hall, México. 2004. [27] “Procesamiento Digital de Imágenes”, Disponible en: http://dandpaz.blogspot.com.co/2008/07/procesamiento-digital-de-imgenes.html [28] Bruce, Balch, Veloso “Fast and inexpensive color image segmentation for interactive robots” Proceedings of the 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS ’00), 2000. [29] Brown, David William “An Introduction to OBJECT-ORIENTED ANALYSIS Objects and UML in Plain English” John Wiley & Sons, Inc, 2002. [30] González, Woods “Digital Image Processing” Adison-Wesley Publishing Company, 1993. [31] Chazelle et al. “Application challenges to computational geometry: CG impact task force report” Technical Report TR-521-96, Princeton University, 1996. http://ncstrl.cs.princeton.edu/expand.php?id=TR-521-96 [32] L. Martinez, “SISTEMA DE VISION PARA EL EQUIPO DE ROBOTS AUTONOMOS DE ITAM”, Proyecto de grado para titulo en Ingeniero en Computación, Facultad de Ingeniería, Instituto tecnológico autónomo de México ITAM. 2004. [33] H.N. Norton, Handbook of transducers, Prentice Hall, Englewood Cliffs, New Jersey, 1987. [34] R. Pallás, Transductores y Acondicionadores de Señal. Marcombo, Boixareu Editores, Barcelona, 1989. [35] R. Coughlin y F. Driscoll, Amplificadores Operacionales y Circuitos Integrados Lineales. 4ª Edición. Prentice-Hall Hispanoamericana. México, 1993. [36] Tomado de: http://almez.pntic.mec.es/jgonza86/Mecanismo%20de%20husillo%20y%20tuerca.ht m [37] Controladora 3 ejes 6 amperios, Tecnicnc. Disponible en: http://tecnicnc.com/tuto/MANUAL%20CONTROLADORA%20CNC.pdf