Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD DE CARABOBO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA IMPLEMENTACIÓN DE UN SISTEMA DE MANIPULACIÓN Y CONTROL MEDIANTE VISIÓN ARTIFICIAL PARA UN AUTÓMATA INDUSTRIAL SCARA ELIANA DEL VALLE ADRIÁN MARCANO ALEXANDER GABRIEL CASTAÑEDA ESTÉVEZ VALENCIA, Noviembre de 2011 UNIVERSIDAD DE CARABOBO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA IMPLEMENTACIÓN DE UN SISTEMA DE MANIPULACIÓN Y CONTROL MEDIANTE VISIÓN ARTIFICIAL PARA UN AUTÓMATA INDUSTRIAL SCARA Proyecto Especial de Grado presentado ante la Ilustre Universidad de Carabobo para optar al título de Ingeniero Electricista ELIANA DEL VALLE ADRIÁN MARCANO ALEXANDER GABRIEL CASTAÑEDA ESTÉVEZ UNIVERSIDAD DE CARABOBO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA IMPLEMENTACIÓN DE UN SISTEMA DE MANIPULACIÓN Y CONTROL MEDIANTE VISIÓN ARTIFICIAL PARA UN AUTÓMATA INDUSTRIAL SCARA Autores: ELIANA DEL VALLE ADRIÁN MARCANO ALEXANDER GABRIEL CASTAÑEDA ESTÉVEZ Tutor: ING. WILMER SANZ UNIVERSIDAD DE CARABOBO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA CERTIFICADO DE APROBACIÓN Los abajo firmantes, miembros del jurado designado para estudiar el Proyecto Especial de Grado titulado: “IMPLEMENTACIÓN DE UN SISTEMA DE MANIPULACIÓN Y CONTROL MEDIANTE VISIÓN ARTIFICIAL PARA UN AUTÓMATA INDUSTRIAL SCARA”, realizado por los bachilleres: Eliana Del Valle Adrián Marcano y Alexander Gabriel Castañeda Estévez, hacemos constar que hemos revisado y aprobado dicho Proyecto Especial. _____________________ Ing. Wilmer Sanz Presidente _____________________ _____________________ Ing. Wendy García Ing. Teddy Rojas VALENCIA, Noviembre de 2011 DEDICATORIA Dedico este trabajo a mi familia por a haberme apoyado y guiado durante todo el camino en esta carrera, que no dudaron en darme aliento cuando pensé sentirme derrotada, también a mis amigos por su cariño sincero y apoyo incondicional. Eliana Del Valle Adrián Marcano V DEDICATORIA A Dios por guiarme y corregirme en su camino, para que este trabajo de grado realizado con todo el esfuerzo y conocimiento acumulado durante esta carrera sea de su agrado y cumpla su propósito de enseñanza para con los futuros estudiantes. A mi familia por el amor, el soporte y la ayuda en cada día de mi vida. A mi momia bella por estar siempre a mi lado y hacer de este trabajo aun más especial. A ustedes les dedico este trabajo. Alexander Gabriel Castañeda Estévez VI AGRADECIMIENTOS Agradecemos a las siguientes personas por haber colaborado directamente a que este proyecto de grado fuese exitoso: Wilmer Sanz. Profesor Tutor. Wenddy García. Profesor. Teddy Rojas. Profesor. Franco Caverzán. Preparador y Amigo. A las empresas especializadas en los trabajos de metalmecánica Tecnitren, Mecanizados P.C. & L. y Unión Metalmecánica. Y a toda nuestra familia por su infinito apoyo en este trabajo. VII UNIVERSIDAD DE CARABOBO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE SISTEMAS Y AUTOMÁTICA Autores: Eliana Del Valle Adrián Marcano Alexander Gabriel Castañeda Estévez Tutor: Ing. Wilmer Sanz RESUMEN El robot manipulador SCARA presente en el Laboratorio de Robótica y Visión Industrial, de la Facultad de Ingeniería, de la Universidad de Carabobo; que se nombro en este trabajo como SCARAUC, fue diseñado con el propósito de simular trabajos de cortes o soldaduras en piezas o láminas; donde dicha actividad es específica y limita en gran medida la ilustración de las funciones de este autómata altamente utilizado en la industria; es por esto que se plantea el objetivo de adaptar el robot SCARAUC para lograr la manipulación de diversos objetos de su entorno, mediante una herramienta de trabajo en forma de pinza y la adición de un sistema de control por medio de visión artificial. Esto permitió obtener como resultado la manipulación de objetos, además de la capacidad de percepción del entorno, a través de la visión artificial mediante el procesamiento de las imágenes tomadas con una cámara web, con la finalidad de generar información de los elementos que rodean al manipulador, permitiendo al robot clasificar objetos en su espacio de trabajo. Para esto se cuenta con un software realizado en el lenguaje Basic, el cual se encarga de realizar los cálculos necesarios, a partir de las imágenes capturadas por la cámara para ubicar la posición en el plano de trabajo donde se encuentra el objeto y proporcionárselas al autómata para ubicar sus articulaciones en la posición deseada. Así como también, permite realizar una comunicación con el usuario de forma amigable. Palabras Claves: SCARA, Visión Artificial, Clasificación, Control, Manipulación. VIII ÍNDICE DE CONTENIDO DEDICATORIA .................................................................................................................... V AGRADECIMIENTOS ...................................................................................................... VII RESUMEN ........................................................................................................................ VIII ÍNDICE DE CONTENIDO .................................................................................................. IX ÍNDICE DE FIGURAS ..................................................................................................... XIII ÍNDICE DE TABLAS ........................................................................................................ XV INTRODUCCIÓN ............................................................................................................. XVI CAPÍTULO I: EL PROBLEMA 1.1. PLANTEAMIENTO DEL PROBLEMA .................................................................... 1 1.2. OBJETIVOS ................................................................................................................ 3 1.2.1. OBJETIVO GENERAL ....................................................................................... 3 1.2.2. OBJETIVOS ESPECÍFICOS ............................................................................... 3 1.3. JUSTIFICACIÓN DE LA INVESTIGACIÓN ............................................................ 4 1.4. ALCANCE .................................................................................................................. 5 CAPÍTULO II: MARCO TEÓRICO 2.1. ANTECEDENTES DEL PROBLEMA ....................................................................... 6 2.2. BASES TEÓRICAS ..................................................................................................... 8 2.2.1 ESTUDIO CINEMÁTICO DEL ROBOT SCARA .............................................. 8 IX 2.2.2 ESTUDIO CINEMÁTICO DIRECTO ................................................................ 10 2.2.2.1 SIGNIFICADO GEOMÉTRICO DE LOS RESULTADOS OBTENIDOS 14 2.2.2.2 REPRESENTACIÓN DE LA ORIENTACIÓN .......................................... 16 2.2.3 ESTUDIO CINEMÁTICO INVERSO ................................................................ 17 2.2.4 ESTUDIO CINEMÁTICO DIFERENCIAL ....................................................... 21 2.2.4.1 DETERMINACIÓN DE LAS SINGULARIDADES .................................. 24 2.2.5 VISIÓN ARTIFICIAL ........................................................................................ 26 2.2.5.1 UBICACIÓN DE LOS OBJETOS EN EL ESPACIO ................................. 27 2.2.5.1.1 REPRESENTACIÓN DE LA IMAGEN EN EL ESPACIO ................ 27 2.2.5.1.2 CONVERSIÓN DE PÍXELES EN DISTANCIA .................................29 2.2.5.1.3 OBTENCIÓN DE LAS COORDENADAS ESPACIALES ................. 31 2.2.5.2 DETECCIÓN DE OBJETOS ....................................................................... 33 CAPÍTULO III: MARCO METODOLÓGICO 3.1 TIPO DE INVESTIGACIÓN ..................................................................................... 35 3.2 DISEÑO DE LA INVESTIGACIÓN .......................................................................... 35 3.3 TÉCNICAS E INSTRUMENTOS DE RECOLECCIÓN DE DATOS ....................... 36 3.4 TÉCNICAS DE PROCESAMIENTO Y ANÁLISIS DE LOS DATOS ..................... 37 3.5 PROCEDIMIENTOS METODOLÓGICOS APLICADOS ....................................... 37 X CAPÍTULO IV: ANÁLISIS, PRESENTACIÓN E INTERPRETACIÓN DE RESULTADOS 4.1 ESPECIFICACIONES TÉCNICAS DEL ROBOT. ................................................... 39 4.1.1 DIMENSIONES DEL ROBOT Y VOLUMEN DE TRABAJO .............................. 40 4.2 DESARROLLO TÉCNICO DEL ROBOT. ................................................................ 41 4.2.1 ADAPTACIONES Y MODIFICACIONES FINALES DEL DISEÑO. ............ 41 4.2.2 IMPLEMENTACIÓN Y CONTROL DEL ACTUADOR FINAL ..................... 43 4.3. ECUACIONES DEL MODELO CINEMÁTICO. ..................................................... 44 4.4 TARJETA DE CONTROL ......................................................................................... 45 4.4.1 MICROCONTROLADOR. ..................................................................................... 49 4.5 VISIÓN ARTIFICIAL. ............................................................................................... 49 4.5.1 ÁREA DE TRABAJO PARA LA VISIÓN. ....................................................... 51 4.5.2 CALIBRACIÓN DE LA CÁMARA. .................................................................. 52 4.5.3 OBTENCIÓN DE LAS COORDENADAS ESPACIALES ............................... 53 4.5.4 DETECCIÓN DE OBJETOS .............................................................................. 54 4.6 INTERFAZ DE USUARIO ........................................................................................ 58 4.6.1 PANTALLA DE PRESENTACIÓN ................................................................... 59 4.6.2 MENÚ INICIAL ................................................................................................. 59 4.6.3 TEACH PENDANT ............................................................................................ 61 XI 4.6.4 VISIÓN POR COMPUTADOR. ......................................................................... 64 4.6.5 INTERPOLACIÓN DE TRAYECTORIAS ....................................................... 67 CAPÍTULO V: CONCLUSIONES Y RECOMENDACIONES 5.1 CONCLUSIONES ...................................................................................................... 69 5.2 RECOMENDACIONES ............................................................................................. 70 REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 71 APÉNDICES ........................................................................................................................ 74 APÉNDICE A ................................................................................................................... 74 APÉNDICE B ................................................................................................................... 75 APÉNDICE C ................................................................................................................... 78 XII ÍNDICE DE FIGURAS Figura 2.1 Modelo Virtual del Robot SCARAUC, detalle de sus articulaciones.................. 8 Figura 2.2 Volumen de Trabajo del Robot SCARAUC ........................................................ 9 Figura 2.3 Vista de Planta del Volumen de Trabajo del Robot SCARAUC ......................... 9 Figura 2.4 Diagrama Funcional del robot SCARAUC ........................................................ 10 Figura 2.5 Sistema de Coordenadas Generalizadas para el Robot SCARAUC .................. 11 Figura 2.6 Análisis geométrico de los resultados de la cinemática directa ......................... 15 Figura 2.7 Sistema de Posicionamiento mediante Visión Artificial ................................... 26 Figura 2.8 Geometría para la calibración de la cámara ....................................................... 28 Figura 2.9 Imagen con un objeto detectado......................................................................... 29 Figura 2.10 Perspectiva de la ubicación tridimensional del objeto ..................................... 32 Figura 4.1 Dimensiones del robot SCARAUC ................................................................... 40 Figura 4.2 Dimensiones del volumen de trabajo del robot SCARAUC .............................. 40 Figura 4.3 Robot SCARAUC antes y después del proyecto de grado ................................ 42 Figura 4.4 Pinza implementada en el robot SCARAUC. .................................................... 43 Figura 4.5 Servomotor adosado a la pinza del robot. .......................................................... 44 Figura. 4.6 Diagrama funcional de la Tarjeta de Control del SCARAUC .......................... 46 Figura 4.7 Tarjeta de control del robot anterior a este proyecto de grado ........................... 47 Figura 4.8 Tarjeta de Control del Robot SCARAUC .......................................................... 48 XIII Figura. 4.9 Diagrama de Flujo del Programa del PIC18f4550 para el control del robot .... 50 Figura 4.10 Sistema para la Visión Artificial. ..................................................................... 51 Figura 4.11 Área de visión sobre el área de trabajo del robot SCARAUC. ........................ 52 Figura 4.12 Resultado de la detección de formas. ............................................................... 56 Figura 4.13 Resultado de la detección de círculos con el software RoboCom3.0. ............. 57 Figura 4.14 Resultado de la detección de rectángulos con el software RoboCom3.0. ........ 57 Figura 4.15 Resultado de la detección de triángulos con el software RoboCom3.0. .......... 58 Figura 4.16 Pantalla de Presentación del software RoboCom 3.0 ...................................... 59 Figura 4.17 Menú Principal del software RoboCom 3.0 ..................................................... 60 Figura 4.18 Ventana de información acerca del software RoboCom 3.0 ............................ 60 Figura 4.19 Teach Pendant del software RoboCom 3.0 ...................................................... 62 Figura 4.20 Diagrama de flujo del Teach Pendant del software RoboCom 3.0 .................. 63 Figura 4.21 Ventana para Visión por Computadora del software RoboCom 3.0 ............... 64 Figura 4.22 Ventana para almacenamiento de figuras detectadas. ...................................... 65 Figura 4.23 Diagrama de flujo para la detección de formas en el video del software RoboCom 3.0 ........................................................................................................................ 66 Figura 4.24 Diagrama de flujo de la ventana de Interpolación de Trayectorias del software RoboCom 3.0 ........................................................................................................................ 67 Figura 4.25 Ventana de Interpolación de Trayectorias del software RoboCom 3.0 ........... 68 XIV Figura A.1 Diagrama esquemático de la tarjeta SCARAUC. ............................................. 74 Figura B.1 Cara superior de la tarjeta SCARAUC. ............................................................. 75 Figura B.2 Cara inferior de la tarjeta SCARAUC. .............................................................. 76 Figura B.3 Contorno de componentes dela tarjeta SCARAUC. ........................................ 77 ÍNDICE DE TABLAS Tabla 2.1 Parámetros Denavit – Hartenberg........................................................................ 12 Tabla 2.2 Derivadas parciales de la posición y orientación respecto a las articulaciones. .. 23 Tabla 4.1 Especificaciones técnicas del robot SCARAUC. ................................................ 39 Tabla 4.2 Límites de desplazamiento de las articulaciones del robot SCARAUC. ............. 42 Tabla C.1 Tabla de costos de las implementaciones del proyecto ...................................... 78 XV INTRODUCCIÓN La robótica es la ciencia y la tecnología de los robots. Se ocupa del diseño, manufactura y aplicaciones de los robots. La robótica combina diversas disciplinas como son: la mecánica, la electrónica, la informática, la inteligencia artificial y la ingeniería de control. Los sistemas robóticos actuales cuentan con múltiples conjuntos sensoriales que le brindan al robot un mayor grado de comprensión de su entorno y de las tareas que realizan, como lo son; sensores de fuerza, sensores de proximidad, sensores infrarrojos, sensores ultrasónicos, acelerómetros, giroscopios, sistemas de visión, entre otros. El robot SCARA fue creado por un grupo de industrias electrónicas japonesas, en colaboración con dos universidades, para insertar componentes electrónicos de forma vertical en los circuitos impresos. Desde su creación el robot SCARA ha alcanzado un gran campo de aplicación en los procesos industriales donde existen tareas que requieren de trabajos en un plano con altas velocidades y gran precisión en los movimientos del autómata. El objetivo principal del presente proyecto de grado es desarrollar un sistema de control de un robot manipulador de tipo SCARA mediante un sistema de visión por computadora y con conexión USB para facilitar su empleo por los estudiantes de la cátedra de Robótica y Visión Industrial. El sistema a implementar para el manejo del autómata SCARA del laboratorio de Robótica y Visión Industrial de la Escuela de Ingeniería Eléctrica contará con una interfaz de control en una computadora que interpretará las instrucciones del usuario y le ordenará a la tarjeta de control del robot realizar las tareas, movimientos o trayectorias deseadas. XVI http://es.wikipedia.org/wiki/Ciencia http://es.wikipedia.org/wiki/Robot http://es.wikipedia.org/wiki/Mec%C3%A1nica http://es.wikipedia.org/wiki/Electr%C3%B3nica http://es.wikipedia.org/wiki/Inform%C3%A1tica http://es.wikipedia.org/wiki/Inteligencia_artificial http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_control http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_control CAPÍTULO I EL PROBLEMA 1.1. PLANTEAMIENTO DEL PROBLEMA La Cátedra de Robótica y Visión Industrial del Departamento de Sistemas y Automática de la Facultad de Ingeniería de la Universidad de Carabobo, dispone de un laboratorio cuya finalidad es la realización de experiencias prácticas donde se pueda comprender el manejo de los principales Robots Industriales (RI) estudiados en esta asignatura. Uno de los autómatas industriales que se encuentra en el laboratorio de la cátedra, es el robot de configuración SCARA, producto de un proyecto de grado de la Facultad de Ingeniería de la Universidad de Carabobo, presentado durante el año 2004, al cual nos referiremos a lo largo de este proyecto como SCARAUC. La palabra SCARA corresponde con las siglas en ingles de Selective Compliant Assembly Robot Arm o Selective Compliant Articulated Robot Arm, que se traduce como: Brazo Robot de Ensamblaje (o Articulado) de Obediencia (o Docilidad) Selectiva [1]. Estos robots poseen tres articulaciones; dos de tipo rotoide y paralelas entre sí, además de una tercera de tipo prismática cuyo eje es también paralelo a las otras dos, permitiendo que sean adecuados para los procesos en donde se manejan pequeños productos y al mismo tiempo se demande velocidad y precisión en los movimientos. En las industrias donde estén presentes procesos de manejar y posicionar objetos, los robots SCARA son ideales, debido a que su propia configuración presenta movimientos precisos [2]. El robot SCARA del proyecto de grado anterior a este, fue diseñado únicamente con el objetivo de seguir trayectorias programadas mediante un apuntador láser en su extremo, simulando trabajos de cortes o soldaduras en piezas o láminas, donde la tercera articulación era controlada de forma tal que su movimiento solo poseía dos estados (Arriba ó Abajo), además de que la comunicación, con la con la interfaz de usuario que se diseño para este robot, se estableció solo con el estándar de comunicación RS-232; el cual, poco a poco está 1 siendo desaparecido del mercado de las computadoras personales y sustituido por el estándar de comunicación USB; por lo cual se evidencia que dichas funcionalidades son específicas y limitan, en gran medida, la ilustración de las funciones de este robot altamente utilizado en la industria. Es por esto que se plantea la propuesta de añadir herramientas al SCARAUC que permitan, de esta forma, obtener un aumento de las capacidades que realizará este autómata industrial. La primera característica que se desea desarrollar es la de manipulación de objetos y esta capacidad se generará mediante la adición y adaptación de una pinza (“gripper”) como elemento final, que contendrá el punto central de la herramienta. La segunda característica a implementar es la de percepción del entorno, a través de la visión artificial mediante el procesamiento de las imágenes tomadas con una cámara web, con la finalidad de capturar información de los elementos que rodean al manipulador. Al procesar esta información se generará una acción según las necesidades requeridas en el proceso, permitiendo al robot clasificar objetos en su espacio de trabajo según ciertas características del objeto. Adicionalmente se agregará al sistema de control el estándar de comunicación USB, para garantizar que el sistema mantenga su vigencia y facilite al estudiantado el manejo del robot desde sus propias computadoras personales. Con estas implementaciones se podrán elaborarán prácticas diversas y didácticas para los estudiantes de esta materia. Dejando además la posibilidad de intercambiar los accesorios utilizados en el elemento final del manipulador industrial, con el fin de permitir otras posibles modificaciones o aplicaciones de este autómata en futuros proyectos. 2 1.2. OBJETIVOS 1.2.1. OBJETIVO GENERAL Adaptar el robot SCARAUC del Laboratorio de Robótica y Visión Industrial para la manipulación de diversos objetos de su entorno, mediante una herramienta de trabajo en forma de pinza y la adición de un sistema de control por visión artificial. 1.2.2. OBJETIVOS ESPECÍFICOS - Instalar una herramienta en forma de pinza que permita al robot SCARAUC la manipulación de objetos en su entorno de trabajo. - Añadir un cuarto eje de movimiento tipo rotoide, para controlar cambios en la orientación de la herramienta terminal. - Construir un nuevo circuito impreso de la Unidad de Control, para que incluya el manejo de los elementos añadidos y para que se adapte el sistema de comunicación al estándar USB. - Elaborar una nueva interfaz hombre-máquina (HMI) mediante un software para el control de los movimientos en las tareas del robot SCARAUC. - Instalar un sistema de visión artificial en el robot SCARAUC que le proporcione percepción de su entorno. 3 1.3. JUSTIFICACIÓN DE LA INVESTIGACIÓN El robot SCARA, con el que cuenta el Laboratorio de Robótica y Visión Industrial, debe tener como principales funciones las de manipulación, orientación y posicionamiento de objetos. Para la realización optima de estas actividades, es necesario contar con una herramienta para la sujeción del objeto y con una fuente de informaciónque sirva de realimentación para el control del elemento final del robot. El SCARAUC no fue diseñado para realizar las tareas de un manipulador, por lo que al inicio de este trabajo de grado no poseía mayor aplicación industrial que la del trazado de trayectorias. Por consiguiente es indispensable entonces, realizar modificaciones en el robot SCARAUC de forma tal que pueda realizar nuevas aplicaciones, tales como; el traslado de piezas automático, la capacidad de telemando, la programación de diversas tareas, el reconocimiento de los objetos de su entorno, entre otras; para que de esta forma pueda efectuar los trabajos de un autómata industrial. La realización de este trabajo será un aporte en la línea de investigación de la Robótica y Visión Industrial el cual permitirá, tanto a la Cátedra de Robótica y Visión Industrial como al alumnado que cursa esta materia, beneficiarse con una herramienta en donde se puedan poner en práctica todos los conocimientos impartidos y dominar la teoría básica de la robótica, como lo es la cinemática directa, la cinemática inversa, la planificación de tareas y la visión artificial, los cuales serán indispensables al momento de trabajar con Robots Industriales en el ámbito empresarial. 4 1.4. ALCANCE El presente proyecto tiene como finalidad la modificación del robot SCARAUC ubicado en las instalaciones del laboratorio de Robótica y Visión Industrial del Departamento de Sistemas y Automática de la Facultad de Ingeniería de la Universidad de Carabobo, mediante la adición de una herramienta básica tipo pinza, que permitirá operar en su volumen de trabajo, pequeños objetos de menor longitud que la apertura máxima de la pinza. Para lograr el correcto uso del robot, se desarrollará un software que servirá de interfaz hombre-máquina, donde se controlarán los movimientos del manipulador industrial desde un computador; dicho software permitirá realizar movimientos individuales, programar tareas y realizar un análisis del entorno mediante la visión artificial, tal como la clasificación de objetos de figuras geométricas básicas por sus características de forma y color. Todo el sistema de control de movimientos estará implementado en el computador y un microcontrolador estará encargado de manejar los motores paso a paso, DC y servomotores que mueven las articulaciones del robot y de controlar cada señal proveniente de los sensores de movimiento que se encuentran implementados en el robot. Tomando como base el diseño de la estructura de la interfaz desarrollada en los anteriores proyectos de grado, se elaborará un nuevo software en la plataforma de Visual Studio 2010 Ultimate, conjuntamente al modelo virtual del robot SCARAUC creado en el programa RoboWorks 2.0 Full, que comprenderá las herramientas virtuales de las anteriores aplicaciones, tales como, la ejecución de trayectorias, el control individual de cada articulación, el manejo del robot virtual o real de forma simultánea o de manera individual y la interpolación de trayectorias. Se adicionarán las funciones del control de la pinza, el manejo y procesamiento de las imágenes proveniente de la visión artificial y la recepción y transmisión de datos mediante el estándar USB. 5 CAPÍTULO II MARCO TEÓRICO 2.1. ANTECEDENTES DEL PROBLEMA Hanqi Zhuang, Wen-Chiang Wu y Zvi S. Roth (1995) Título: Camera-Assisted Calibration of SCARA Arms. En este documento se presenta a la calibración de la cámara como un medio eficaz y económico para mejorar el rendimiento de la precisión de un robot manipulador a través de la modificación de su software de control. De igual manera, plantea los resultados de la investigación mediante la aplicación de las aproximaciones de Lenz y Tsai así como también muestra un enfoque para calibrar un brazo articulado SCARA equipado con una cámara montada en la herramienta terminal. A fin de medir las posiciones del robot, se utilizan nuevas técnicas para calibrar la cámara en las diversas configuraciones de robot. Nakamura M., Munasinghe R., Goto S. y Kyura N. (2000) Título: Enhanced Contour Control of SCARA Robot Under Torque Saturation Constraint. En esta publicación se estudia el control de trayectorias de un brazo robótico SCARA, este control es implementado para el movimiento del efector final a lo largo de un camino de referencia cartesiana, con una velocidad previamente asignada. Cuando se produce una saturación del par en los actuadores, y se prolonga esta situación por algún tiempo, resulta en un incremento en el error del seguimiento de la trayectoria. De igual forma los retrasos en la dinámica del sistema provocan alteraciones en la búsqueda del contorno. Así también, se presenta un algoritmo de generación de trayectorias, que consigue evitar tanto la saturación óptima de par y los retrasos de compensación dinámica del sistema. 6 Nagchaudhuri A., Kuruganty S. y Shakur A. (2002) Título: Introducción a los conceptos de mecatrónica en un curso de Robótica usando un Robot Industrial SCARA equipado con un sensor de visión. En este artículo se muestra el funcionamiento de un Robot Industrial SCARA a un curso de estudiantes de pregrado de mecatrónica mediante un sistema de visión. Se emplean diferentes métodos y técnicas de control tales como reconocimiento visual de patrones, calibración de la cámara y manipulación flexible guiada por visión. Rivas C. Adolfo L. (2005) Título: Diseño e implementación de un controlador e interfaz gráfica de usuario interactiva con computador personal, para un robot manipulador SCARA con dos grados de libertad dedicado al marcaje de piezas en láminas metálicas. Núñez D. Guillermo I. (2006) Titulo: Organización del Laboratorio de Robótica y Visión Industrial de la Universidad de Carabobo sobre la base de experiencias prácticas con los Robots Cilíndrico y SCARA Los dos trabajos de grado anteriores son de gran importancia para la realización de este trabajo debido a que en ellos se encuentra la información correspondiente al diseño del autómata, las unidades de control de dicho manipulador, sus circuito esquemático y el código de programación de su microcontrolador, que son referencia obligatoria a la hora de hacer cualquier modificación en su hardware y/o software. Rojas Z. Teddy V. (2008) Título: Diseño de un sistema de visión artificial para un manipulador industrial antropomórfico. Este trabajo servirá como base para implementar el sistema de visión artificial que poseerá el autómata SCARAUC, lo que permitirá emplear un sistema de control similar al planteado por el autor. 7 2.2. BASES TEÓRICAS 2.2.1 ESTUDIO CINEMÁTICO DEL ROBOT SCARA Un robot SCARA (RRPR), como el mostrado en la figura 2.1, es un robot que posee cuatro articulaciones con ejes paralelos entre sí, de las cuales tres de ellas son de tipo rotoide y una de tipo prismática, en donde esta última se encuentra diseñada para que la herramienta del robot realice un movimiento continuo y que además permita controlar la altura del brazo del actuador. La cuarta articulación de tipo rotoide cumple la función de proporcionar un grado de orientación al Punto Central de la Herramienta (TCP). Figura 2.1. Modelo Virtual del Robot SCARAUC, detalle de sus articulaciones (Dibujo tomado del modelo virtual creado en RoboWorks 2.0 Full). Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) El autómata posee un volumen de trabajo de forma toroidal de sección rectangular tal como es mostrado en la figura 2.2 y a su vez presenta un plano de trabajo que se halla ilustrado en la figura 2.3, este plano se encuentra limitado por la morfología del robot y por la longitud de sus eslabones. Articulación 1 Articulación 2 Articulación 3 Articulación 4 8 Figura 2.2 Volumen de Trabajo del Robot SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) Figura2.3 Vista de Planta del Volumen de Trabajo del Robot SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) En adelante se procederá a realizar los estudios Cinemático Directo, Inverso, Diferencial y el estudio de las singularidades del robot SCARAUC a partir del cálculo Cinemático Diferencial del mismo. 9 2.2.2 ESTUDIO CINEMÁTICO DIRECTO Al realizar el estudio de cinemática directa, lo que se busca obtener son las variables de posición y orientación del elemento terminal del manipulador, en función de la posición de cada una de las articulaciones. Es decir, dada una posición inicial del efector final de un robot, se desea determinar su posición final luego de aplicar movimientos de traslación y rotación que dependen únicamente de la configuración particular de la articulación, por lo tanto la labor a realizar es hallar la matriz de transformación T que permite obtener el resultado de las rotaciones o traslaciones efectuadas por cada articulación. Esta matriz depende de unos parámetros denominados parámetros de Denavit - Hartenberg (D-H). Se dibuja un modelo funcional del robot SCARA con la incorporación de la herramienta final y la articulación adicional, tal como se muestra en la figura 2.4, donde se representa cada articulación del robot, sus conexiones y dimensiones, luego se definen los sistemas de coordenadas como se muestra en la figura 2.5, lo que permite describir el movimiento relativo de sus eslabones a través de los parámetros de D-H. Figura 2.4 Diagrama Funcional del robot SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 10 Figura 2.5 Sistema de Coordenadas Generalizadas para el Robot SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) En la tabla 2.1 se muestra el resultado de la deducción de los parámetros de D-H. En ella se identifica el número de articulaciones y el valor del parámetro correspondiente. Los parámetros representados son: El parámetro “a” es la distancia normal que existe entre los ejes articulares Zi-1 y Zi con respecto al eje Xi, el parámetro “α” es el ángulo de torsión que existe entre ejes Zi-1 y Zi con respecto al eje Xi, el parámetro “θ” representa la distancia angular que existe entre los eje normales Xi-1 y Xi con respecto al eje Zi-1, este ángulo es variable en las articulaciones rotoides y es constante en las articulaciones prismáticas y el parámetro “d” que representa la distancia lineal que existe entre los ejes normales Xi-1 y Xi con respecto al eje Zi-1, el cual permanece constante en articulaciones rotoides y variable en las articulaciones prismáticas. 11 Tabla 2.1 Parámetros Denavit – Hartenberg. Articulación θ d a α q 1 q1 La Lb 0° θ1 2 q2 0 Lc 180° θ2 3 0 q3 0 0° d3 4 q4 Ld 0 0° θ4 Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) La matriz de transformación T se obtiene a través de la pre-multiplicación sucesiva de las matrices de paso homogéneas 𝐴𝑖𝑖−1 como se muestra en la ecuación (2.1), en donde los elementos de la matriz de paso están en función de los parámetros obtenidos en la tabla 2.1, tal como se muestra en la ecuación (2.2). 𝑻 = 𝑨𝟏𝟎 ∙ 𝑨𝟐𝟏 ∙ 𝑨𝟑𝟐 ∙ 𝑨𝟒𝟑 (2.1) 𝑨𝒊𝒊−𝟏 = � 𝐜𝐨𝐬(𝜽𝒊) −𝐜𝐨𝐬(𝜶) ∙ 𝐬𝐞𝐧(𝜽𝒊) 𝐬𝐞𝐧(𝜶) ∙ 𝐬𝐞𝐧(𝜽𝒊) 𝒂 ∙ 𝐜𝐨𝐬(𝜽𝒊) 𝐬𝐞𝐧(𝜽𝒊) 𝐜𝐨𝐬(𝜶) ∙ 𝐜𝐨𝐬(𝜽𝒊) −𝐬𝐞𝐧(𝜶) ∙ 𝐜𝐨𝐬(𝜽𝒊) 𝒂 ∙ 𝐬𝐞𝐧(𝜽𝒊) 𝟎 𝐬𝐞𝐧(𝜶) 𝐜𝐨𝐬(𝜶) 𝒅 𝟎 𝟎 𝟎 𝟏 � (2.2) Ahora se obtendrán las cuatro matrices de paso homogéneas por sustitución de los parámetros correspondientes a cada articulación. 12 𝑨𝟏𝟎 = � 𝐜𝐨𝐬(𝜽𝟏) −𝐬𝐞𝐧(𝜽𝟏) 𝟎 𝑳𝒃 ∙ 𝐜𝐨𝐬(𝜽𝟏) 𝐬𝐞𝐧(𝜽𝟏) 𝐜𝐨𝐬(𝜽𝟏) 𝟎 𝑳𝒃 ∙ 𝐬𝐞𝐧(𝜽𝟏) 𝟎 𝟎 𝟏 𝑳𝒂 𝟎 𝟎 𝟎 𝟏 � 𝑨𝟑𝟐 = � 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 𝒅𝟑 𝟎 𝟎 𝟎 𝟏 � 𝑨𝟐𝟏 = � 𝐜𝐨𝐬(𝜽𝟐) 𝐬𝐞𝐧(𝜽𝟐) 𝟎 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟐) 𝐬𝐞𝐧(𝜽𝟐) −𝐜𝐨𝐬(𝜽𝟐) 𝟎 𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟐) 𝟎 𝟎 −𝟏 𝟎 𝟎 𝟎 𝟎 𝟏 � 𝑨𝟒𝟑 = � 𝐜𝐨𝐬(𝜽𝟒) −𝐬𝐞𝐧(𝜽𝟒) 𝟎 𝟎 𝐬𝐞𝐧(𝜽𝟒) 𝐜𝐨𝐬(𝜽𝟒) 𝟎 𝟎 𝟎 𝟎 𝟏 𝑳𝒅 𝟎 𝟎 𝟎 𝟏 � Luego, al multiplicar las cuatro matrices de paso homogéneas obtenemos como resultado la siguiente Matriz de Transformación Homogénea: 𝑻 = � 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) 𝟎 𝑳𝒄 ∙ 𝐜𝐨𝐬( 𝜽𝟏 + 𝜽𝟐) + 𝑳𝒃 ∙ 𝐜𝐨𝐬(𝜽𝟏) 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) −𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) 𝟎 𝑳𝒄 ∙ 𝐬𝐢𝐧(𝜽𝟏 + 𝜽𝟐) + 𝑳𝒃 ∙ 𝐬𝐢𝐧(𝜽𝟏) 𝟎 𝟎 −𝟏 𝑳𝒂 − 𝑳𝒅 − 𝒅𝟑 𝟎 𝟎 𝟎 𝟏 � La anterior operación da como resultado la Matriz de Transformación T, que incluye una sub-matriz para describir la orientación (Matriz de Rotación), la Posición (Vector de Traslación), la perspectiva (que en nuestro caso corresponde a un vector nulo) y el factor de escalado (igual a uno) [1]. 𝑻 = � 𝑹𝒐𝒕𝒂𝒄𝒊ó𝒏𝟑𝒙𝟑 𝑻𝒓𝒂𝒔𝒍𝒂𝒄𝒊ó𝒏𝟑𝒙𝟏𝑷𝒆𝒓𝒔𝒑𝒆𝒄𝒕𝒊𝒗𝒂𝟏𝒙𝟑 𝑬𝒔𝒄𝒂𝒍𝒂𝒅𝒐𝟏𝒙𝟏 � 13 La Matriz de Rotación está compuesta de tres vectores que son usados para modelar la rotación del TCP con respecto a un sistema de coordenadas móvil, los cueles son: el vector Normal 𝒏��⃗ : (𝒏𝒙,𝒏𝒚,𝒏𝒛), el vector Slide 𝒔�⃗ : (𝒔𝒙, 𝒔𝒚, 𝒔𝒛) y el vector Approach 𝒂��⃗ : (𝒂𝒙,𝒂𝒚,𝒂𝒛) y para la posición del TCP con respecto al sistema de referencia escogido para la base del robot, el vector de Translación 𝒑��⃗ : (𝒑𝒙,𝒑𝒚,𝒑𝒛). Quedando así la matriz de Transformación Generalizada en la Ecuación (2.3) [2]. 𝑻 = � 𝒏𝒙 𝒔𝒙 𝒂𝒙 𝒑𝒙 𝒏𝒚 𝒔𝒚 𝒂𝒚 𝒑𝒚 𝒏𝒛 𝒔𝒛 𝒂𝒛 𝒑𝒛 𝟎 𝟎 𝟎 𝟏 � (2.3) En los resultados obtenidos anteriormente tenemos que el vector de Translación que determina la posición del TCP en el robot SCARAUC es el siguiente: 𝑃𝑥 = 𝐿𝑐 ∙ cos( 𝜃1 + 𝜃2) + 𝐿𝑏 ∙ cos(𝜃1) 𝑃𝑦 = 𝐿𝑐 ∙ sin(𝜃1 + 𝜃2) + 𝐿𝑏 ∙ sin(𝜃1) 𝑃𝑧 = 𝐿𝑎 − 𝐿𝑑 − 𝑑3 2.2.2.1 SIGNIFICADO GEOMÉTRICO DE LOS RESULTADOS OBTENIDOS En la figura 2.6, se observa el significado geométrico de los resultados obtenidos en las coordenada Px y Py del Vector de Traslación del robot SCARAUC. El ángulo θ2 se mide desde el eje del radio Lb hasta el eje que corresponde al radio Lc; así la proyección de Lc (Pcx y Pcy) hacia cualquiera de los ejes coordenados debe tomar en cuenta que su inclinación es de θ1+θ2 grados. 14 Lb θ1 Br az o d e l a A rt 1 Br az o de la A rt 2 θ2 Lc Lb θ1 θ2Lc Pbx Pcx Pcy Pby Px Py Figura 2.6 Análisis geométrico de los resultados de la cinemática directa Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) Así, que si Pcx y Pbx son las proyecciones en el eje X de los radios de las circunferencias descritas por los eslabones del brazo robot y Pcy, Pby las proyecciones en el eje Y dadas por: 𝑷𝒄𝒙 = 𝑳𝒄 ∙ 𝐜𝐨𝐬( 𝜽𝟏 + 𝜽𝟐) 𝑷𝒄𝒚 = 𝑳𝒄 ∙ 𝐬𝐢𝐧(𝜽𝟏 + 𝜽𝟐) 𝑷𝒃𝒙 = 𝑳𝒃 ∙ 𝐜𝐨𝐬(𝜽𝟏) 𝑷𝒃𝒚 = 𝑳𝒃 ∙ 𝐬𝐢𝐧(𝜽𝟏) Entonces las coordenadas resultantes finales en X y en Y, vienen dadas por la sumatoria de las proyecciones de Lb y Lc en los ejes correspondientes: 𝑃𝑥 = 𝑃𝑐𝑥 + 𝑃𝑐𝑦 = 𝐿𝑐 ∙ cos( 𝜃1 + 𝜃2) + 𝐿𝑏 ∙ cos(𝜃1) 𝑃𝑦 = 𝑃𝑏𝑥 + 𝑃𝑏𝑦 = 𝐿𝑐 ∙ sin(𝜃1 + 𝜃2) + 𝐿𝑏 ∙ sin(𝜃1) 15 2.2.2.2 REPRESENTACIÓN DE LA ORIENTACIÓN Debido a que en el robot SCARAUC se realizará la implementación de una cuarta articulación como se observa en la figura 2.1, se dotará al autómata con la característica de poder proporcionar a un objeto, por lo menos una coordenada de orientación, es decir que dicha articulación tendrá una función similar a la que cumple una muñeca en un humano. Para lograr esta representación mínima de la orientación es necesario usar los ángulos de Euler RPY, Roll (ϕ), Pitch (θ) y Yaw (ψ). Estas variables junto con las coordenadas X, Y y Z determinadas anteriormente, comprenden un conjunto de seis variables independientes conocidas como espacio operacional del robot, que facilitan el estudio de trayectorias (Variación de la posición y la orientaciónen el tiempo) del efector final a través de la relación que estas guardan con los parámetros articulares [1]. A fin de poder relacionar la sub-matriz de orientación con los ángulos de Euler es necesario recurrir a la matriz de rotaciones puras sucesivas generada con los ángulos RPY, de la forma: 𝑅(𝑧,𝜑)𝑅(𝑦,𝜃)𝑅(𝑥,𝜓) = � cos𝜑 ∙ cos𝜃 − sen𝜑 ∙ cos𝜓 + cos𝜑 ∙ sen𝜃 ∙ sen𝜓 sen𝜑 ∙ sen𝜓 + cos𝜑 ∙ sen𝜃 ∙ cos𝜓 sen𝜑 ∙ cos𝜃 cos𝜑 ∙ cos𝜓 + sen𝜑 ∙ sen𝜃 ∙ sen𝜓 −cos𝜑 ∙ sen𝜓 + sen𝜑 ∙ sen𝜃 ∙ cos𝜓 − sen𝜃 cos𝜃 ∙ sen𝜓 cos𝜃 ∙ sen𝜓 � (2.4) La sub-matriz de orientación del robot SCARAUC: 𝑴𝒐𝒓𝒊𝒆𝒏𝒕 = � 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) 𝟎 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) −𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐 − 𝜽𝟒) 𝟎 𝟎 𝟎 −𝟏 � (2.5) Igualando miembro a miembro conseguimos las relaciones de los ángulos RPY: φ = θ1 + θ2 − θ4 θ = 0° ψ = 180° 16 2.2.3 ESTUDIO CINEMÁTICO INVERSO En la Cinemática Inversa, se quiere ubicar al TCP en el punto del espacio que se desee y para lograr esto es necesario conocer que movimientos de traslación y rotación de las articulaciones del robot nos permitirán llegar hacia tal punto. Esto puede generar que existan distintas trayectorias o caminos que puedan posicionar el TCP en el lugar seleccionado. Es decir, que se desea buscar la expresiones de θ1, θ2, d3 y θ4 a partir de las posiciones en el plano del TCP en la trayectoria. Para conseguirlo, se parte de la ecuación (2.1) de la matriz de Transformación y se pre-multiplica por las matrices inversas que la componen para así hallar una igualdad que permita obtener un sistema de ecuaciones a partir del cual se determine una solución [3]: (𝑨𝟏𝟎)−𝟏 ∙ 𝑻 = 𝑨𝟐𝟏 ∙ 𝑨𝟑𝟐 ∙ 𝑨𝟒𝟑 (2.6) Realizando el cálculo de la inversa de las matrices de paso a utilizar en la ecuación (2.6) resulta: �𝑨𝟏𝟎� −𝟏 = � 𝐜𝐨𝐬(𝜽𝟏) 𝐬𝐞𝐧(𝜽𝟏) 𝟎 −𝑳𝒃 −𝐬𝐞𝐧(𝜽𝟏) 𝐜𝐨𝐬(𝜽𝟏) 𝟎 𝟎 𝟎 𝟎 𝟏 −𝑳𝒂 𝟎 𝟎 𝟎 𝟏 � 17 Sustituyendo en la ecuación (2.6) las matrices de paso y la matriz de transformación T en su forma general tal como la ecuación (2.3), queda como resultado la siguiente expresión: Para simplificar las expresiones se realizará la siguiente sustitución: 𝑐𝑜𝑠(θn) = 𝐶𝑛 𝑠𝑖𝑛(θn) = 𝑆𝑛 �𝑨𝟏𝟎� −𝟏 ∙ 𝑻 = � 𝑪𝟏 ∙ 𝒏𝒙 + 𝑺𝟏 ∙ 𝒏𝒚 𝑪𝟏 ∙ 𝒔𝒙 + 𝑺𝟏 ∙ 𝒔𝒚 𝑪𝟏 ∙ 𝒂𝒙 + 𝑺𝟏 ∙ 𝒂𝒚 𝑪𝟏 ∙ 𝒑𝒙 + 𝑺𝟏 ∙ 𝒑𝒚 − 𝑳𝒃 𝑪𝟏 ∙ 𝒏𝒚 − 𝑺𝟏 ∙ 𝒏𝒙 𝑪𝟏 ∙ 𝒔𝒚 − 𝑺𝟏 ∙ 𝒔𝒙 𝑪𝟏 ∙ 𝒂𝒚 − 𝑺𝟏 ∙ 𝒂𝒙 𝑪𝟏 ∙ 𝒑𝒚 − 𝑺𝟏 ∙ 𝒑𝒙 𝒏𝒛 𝒔𝒛 𝒂𝒛 𝒑𝒛 − 𝑳𝒂 𝟎 𝟎 𝟎 𝟏 � 𝑨𝟐𝟏 ∙ 𝑨𝟑𝟐 ∙ 𝑨𝟒𝟑 = � 𝐜𝐨𝐬(𝜽𝟐 − 𝜽𝟒) −𝐬𝐞𝐧(𝜽𝟐 − 𝜽𝟒) 𝟎 𝑪𝟐 ∙ 𝑳𝒄 −𝐬𝐞𝐧(𝜽𝟐 − 𝜽𝟒) −𝐜𝐨𝐬(𝜽𝟐 − 𝜽𝟒) 𝟎 𝑺𝟐 ∙ 𝑳𝒄 𝟎 𝟎 −𝟏 −𝑳𝒅 − 𝒅𝟑 𝟎 𝟎 𝟎 𝟏 � Igualando término a término en la columna de posición se obtienen las siguientes ecuaciones: 𝑪𝟏 ∙ 𝒑𝒙 + 𝑺𝟏 ∙ 𝒑𝒚 − 𝑳𝒃 = 𝑪𝟐 ∙ 𝑳𝒄 (2.7) 𝑪𝟏 ∙ 𝒑𝒚 − 𝑺𝟏 ∙ 𝒑𝒙 = 𝑺𝟐 ∙ 𝑳𝒄 (2.8) 𝒑𝒛 − 𝑳𝒂 = −𝑳𝒅 − 𝒅𝟑 (2.9) 𝑪𝟏 ∙ 𝒏𝒙 + 𝑺𝟏 ∙ 𝒏𝒚 = 𝐜𝐨𝐬(𝜽𝟒−𝜽𝟐) (2.10) 18 De donde se obtiene directamente el parámetro d3 de la ecuación (2.9): 𝒅𝟑 = −𝑳𝒅 − 𝒑𝒛 + 𝑳𝒂 Para θ1 y θ2 se requiere de un cálculo más laborioso. Partiendo del siguiente sistema de ecuaciones formado por (2.7) y (2.8): 𝑪𝟏 ∙ 𝒑𝒙 + 𝑺𝟏 ∙ 𝒑𝒚 = 𝑪𝟐 ∙ 𝑳𝒄 + 𝑳𝒃 𝑪𝟏 ∙ 𝒑𝒚 − 𝑺𝟏 ∙ 𝒑𝒙 = 𝑺𝟐 ∙ 𝑳𝒄 Elevando al cuadrado y sumando ambas ecuaciones se obtiene lo siguiente: (𝑪𝟏 ∙ 𝒑𝒙 + 𝑺𝟏 ∙ 𝒑𝒚)𝟐 + (𝑪𝟏 ∙ 𝒑𝒚 − 𝑺𝟏 ∙ 𝒑𝒙)𝟐 = (𝑪𝟐 ∙ 𝑳𝒄 + 𝑳𝒃)𝟐 + (𝑺𝟐 ∙ 𝑳𝒄)𝟐 (𝑪𝟏 ∙ 𝒑𝒙)𝟐 + 𝟐 ∙ 𝒑𝒙 ∙ 𝒑𝒚 ∙ 𝑪𝟏 ∙ 𝑺𝟏 + (𝑺𝟏 ∙ 𝒑𝒚)𝟐 +(𝑪𝟏 ∙ 𝒑𝒚)𝟐 − 𝟐 ∙ 𝒑𝒙 ∙ 𝒑𝒚 ∙ 𝑪𝟏 ∙ 𝑺𝟏 + (𝑺𝟏 ∙ 𝒑𝒙)𝟐 = (𝑪𝟐 ∙ 𝑳𝒄)𝟐 + 𝟐 ∙ 𝑪𝟐 ∙ 𝑳𝒄 ∙ 𝑳𝒃 + (𝑳𝒃)𝟐 + (𝑺𝟐 ∙ 𝑳𝒄)𝟐 Simplificando términos y despejando θ2: (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 + 𝟐 ∙ 𝒑𝒙 ∙ 𝒑𝒚 ∙ 𝑪𝟏 ∙ 𝑺𝟏 − 𝟐 ∙ 𝒑𝒙 ∙ 𝒑𝒚 ∙ 𝑪𝟏 ∙ 𝑺𝟏 = (𝑳𝒄)𝟐 + (𝑳𝒃)𝟐 + 𝟐 ∙ 𝑪𝟐 ∙ 𝑳𝒄 ∙ 𝑳𝒃 (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 = (𝑳𝒄)𝟐 + (𝑳𝒃)𝟐 + 𝟐 ∙ 𝑪𝟐 ∙ 𝑳𝒄 ∙ 𝑳𝒃 𝑪𝟐 = (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 − (𝑳𝒄)𝟐 − (𝑳𝒃)𝟐 𝟐 ∙ 𝑳𝒄 ∙ 𝑳𝒃 𝜽𝟐 = ± 𝐜𝐨𝐬−𝟏 � (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 − (𝑳𝒄)𝟐 − (𝑳𝒃)𝟐 𝟐 ∙ 𝑳𝒄 ∙ 𝑳𝒃 � Para buscar una ecuación para el parámetro θ1, partimos del mismo sistema de ecuaciones: 19 𝑪𝟏 ∙ 𝒑𝒙 + 𝑺𝟏 ∙ 𝒑𝒚 = 𝑪𝟐 ∙ 𝑳𝒄 + 𝑳𝒃 𝑪𝟏 ∙ 𝒑𝒚 − 𝑺𝟏 ∙ 𝒑𝒙 = 𝑺𝟐 ∙ 𝑳𝒄 Reacomodando los términos: 𝑺𝟏 ∙ 𝒑𝒚 = 𝑪𝟐 ∙ 𝑳𝒄 + 𝑳𝒃 − 𝑪𝟏 ∙ 𝒑𝒙 𝑺𝟏 ∙ 𝒑𝒙 = −𝑺𝟐 ∙ 𝑳𝒄 + 𝑪𝟏 ∙ 𝒑𝒚 Dividiendo estas últimas ecuaciones para eliminar S1 y reordenando: 𝑝𝑦 ∙ (−𝑆2 ∙ 𝐿𝑐 + 𝐶1 ∙ 𝑝𝑦) = 𝑝𝑥 ∙ (𝐶2 ∙ 𝐿𝑐 + 𝐿𝑏 − 𝐶1 ∙ 𝑝𝑥) −𝑝𝑦 ∙ 𝑆2 ∙ 𝐿𝑐 + 𝐶1 ∙ (𝑝𝑦)2 = 𝑝𝑥 ∙ 𝐶2 ∙ 𝐿𝑐 + 𝑝𝑥 ∙ 𝐿𝑏 − 𝐶1 ∙ (𝑝𝑥)2 𝑪𝟏 ∙ (𝒑𝒙)𝟐 + 𝑪𝟏 ∙ (𝒑𝒚)𝟐 = 𝑳𝒄 ∙ 𝒑𝒙 ∙ 𝑪𝟐 + 𝑳𝒄 ∙ 𝒑𝒚 ∙ 𝑺𝟐 + 𝒑𝒙 ∙ 𝑳𝒃 𝑪𝟏 ∙ ((𝒑𝒙)𝟐 + (𝒑𝒚)𝟐) = 𝑳𝒄 ∙ (𝒑𝒙 ∙ 𝑪𝟐 + 𝒑𝒚 ∙ 𝑺𝟐) + 𝒑𝒙 ∙ 𝑳𝒃 𝑪𝟏 = 𝑳𝒄 ∙ (𝒑𝒙 ∙ 𝑪𝟐 + 𝒑𝒚 ∙ 𝑺𝟐) + 𝒑𝒙 ∙ 𝑳𝒃 (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 𝜽𝟏 = ± 𝐜𝐨𝐬−𝟏 � 𝑳𝒄 ∙ (𝒑𝒙 ∙ 𝑪𝟐 + 𝒑𝒚 ∙ 𝑺𝟐) + 𝒑𝒙 ∙ 𝑳𝒃 (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 � Ahora por último, para buscar el parámetro θ4 se realizará a partir de la ecuación (2.10): 𝑪𝟏 ∙ 𝒏𝒙 + 𝑺𝟏 ∙ 𝒏𝒚 = 𝐜𝐨𝐬(𝜽𝟒−𝜽𝟐) 𝜽𝟐 − 𝜽𝟒 = 𝐜𝐨𝐬−𝟏(𝑪𝟏 ∙ 𝒏𝒙 + 𝑺𝟏 ∙ 𝒏𝒚) 𝜽𝟒 = 𝜽𝟐 − 𝐜𝐨𝐬−𝟏(𝑪𝟏 ∙ 𝒏𝒙 + 𝑺𝟏 ∙ 𝒏𝒚) 20 Finalmente el conjunto de ecuaciones resultantes: 𝜽𝟏 = ± 𝐜𝐨𝐬−𝟏 � 𝑳𝒄 ∙ (𝒑𝒙 ∙ 𝑪𝟐 + 𝒑𝒚 ∙ 𝑺𝟐) + 𝒑𝒙 ∙ 𝑳𝒃 (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 � 𝜽𝟐 = ± 𝐜𝐨𝐬−𝟏 � (𝒑𝒙)𝟐 + (𝒑𝒚)𝟐 − (𝑳𝒄)𝟐 − (𝑳𝒃)𝟐 𝟐 ∙ 𝑳𝒄 ∙ 𝑳𝒃 � 𝒅𝟑 = −𝑳𝒅 − 𝒑𝒛 + 𝑳𝒂 𝜽𝟒 = 𝜽𝟐 − 𝐜𝐨𝐬−𝟏(𝑪𝟏 ∙ 𝒏𝒙 + 𝑺𝟏 ∙ 𝒏𝒚) 2.2.4 ESTUDIO CINEMÁTICO DIFERENCIAL La Cinemática Diferencial permite conocer la relación entre las velocidades de las articulaciones y la velocidad del efector final. Esta relación se encuentra descrita a través de una matriz denominada Matriz Jacobiana, la cual expresa las velocidades, lineal y rotacional del efector final, como funciones de las velocidades de cada una de las articulaciones. El estudio Cinemático Diferencial se realiza a través del cálculo de la matriz Jacobiana, que permite obtener las velocidades instantáneas de las articulaciones respecto del TCP [3], tal que: � �̇� �̇� �̇� �̇� � = 𝐽 ∙ � 𝑞1̇ 𝑞2̇ 𝑞3̇ 𝑞4̇ � (2.11) 21 Donde x, y, z son las ecuaciones de posición que definen donde está ubicado el TCP y ϕ es un ángulo de Euler que nos permite conocer la orientación del mismo. q1 = θ1 q2 = θ2 q3 = d3 q4 = θ4 La matriz J corresponde a: J= ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ ∂x ∂θ1 ∂x ∂θ2 ∂x ∂d3 ∂x ∂θ4 ∂y ∂θ1 ∂y ∂θ2 ∂y ∂d3 ∂y ∂θ4 ∂z ∂θ1 ∂z ∂θ2 ∂z ∂d3 ∂z ∂θ4 ∂φ ∂θ1 ∂φ ∂θ2 ∂φ ∂d3 ∂φ ∂θ4⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ (2.12) Dado que ya se obtuvieron las ecuaciones de x, y, z, ϕ del cálculo de cinemática directa, se procede a construir la Jacobiana a partir de estas ecuaciones: 𝑥 = 𝐿𝑐 ∙ cos( 𝜃1 + 𝜃2) + 𝐿𝑏 ∙ cos(𝜃1) 𝑦 = 𝐿𝑐 ∙ sin(𝜃1 + 𝜃2) + 𝐿𝑏 ∙ sin(𝜃1) 𝑧 = 𝐿𝑎 − 𝐿𝑑 − 𝑑3 𝜑 = 𝜃1 + 𝜃2 − 𝜃4 22 Derivando parcialmente estas ecuaciones, resulta la tabla 2.2, de derivadas parciales: Tabla 2.2. Derivadas parciales de la posición y orientación respecto a las articulaciones. 𝝏𝒙 𝝏𝜽𝟏 = −𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐) − 𝑳𝒃 ∙ 𝐬𝐞𝐧(𝜽𝟏) 𝝏𝒙 𝝏𝜽𝟐 = −𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐) 𝝏𝒙 𝝏𝒅𝟑 = 𝟎 𝝏𝒙 𝝏𝜽𝟒 = 𝟎 𝝏𝒚 𝝏𝜽𝟏 = 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) + 𝑳𝒃 ∙ 𝐜𝐨𝐬(𝜽𝟏) 𝝏𝒚 𝝏𝜽𝟐 = 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) 𝝏𝒚 𝝏𝒅𝟑 = 𝟎 𝝏𝒚 𝝏𝜽𝟒 = 𝟎 𝝏𝒛 𝝏𝜽𝟏 = 𝟎 𝝏𝒛 𝝏𝜽𝟐 = 𝟎 𝝏𝒛 𝝏𝒅𝟑 = −𝟏 𝝏𝒛 𝝏𝜽𝟒 = 𝟎 𝝏𝝋 𝝏𝜽𝟏 = 𝟏 𝝏𝝋 𝝏𝜽𝟐 = 𝟏 𝝏𝝋 𝝏𝒅𝟑 = 𝟎 𝝏𝝋 𝝏𝜽𝟒 = −𝟏 Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) Finalmente sustituyendo cada uno de estos términos obtenemos la matriz Jacobiana: 𝑱 = � −𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐) − 𝑳𝒃 ∙ 𝐬𝐞𝐧(𝜽𝟏) −𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏+ 𝜽𝟐) 𝟎 𝟎 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) + 𝑳𝒃 ∙ 𝐜𝐨𝐬(𝜽𝟏) 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) 𝟎 𝟎 𝟎 𝟎 −𝟏 𝟎 𝟏 𝟏 𝟎 −𝟏 � (2.13) De la misma manera puede hallarse la Jacobiana inversa que se usa para obtener la posición final instantánea en función de la velocidad de las articulaciones. 𝑱−𝟏 = � 𝒋𝟏𝟏 𝒋𝟏𝟐 𝟎 𝟎 𝒋𝟐𝟏 𝒋𝟐𝟐 𝟎 𝟎 𝟎 𝟎 −𝟏 𝟎 𝒋𝟒𝟏 𝒋𝟒𝟐 𝟎 −𝟏 � (2.14) Donde: 23 𝑗11 = − 𝐿𝑐 ∙ cos (𝜃1 + 𝜃2) 𝐿𝑏 ∙ 𝐿𝑐 ∙ cos(𝜃1 + 𝜃2) ∙ 𝑠𝑒𝑛(𝜃1) − 𝐿𝑏 ∙ 𝐿𝑐 ∙ 𝑠𝑒𝑛(𝜃1 + 𝜃2) ∙ cos (𝜃1) 𝑗12 = − 𝐿𝑐 ∙ sen (𝜃1 + 𝜃2) 𝐿𝑏 ∙ 𝐿𝑐 ∙ cos(𝜃1 + 𝜃2) ∙ 𝑠𝑒𝑛(𝜃1) − 𝐿𝑏 ∙ 𝐿𝑐 ∙ 𝑠𝑒𝑛(𝜃1 + 𝜃2) ∙ cos (𝜃1) 𝑗21 = 𝐿𝑐 ∙ cos(𝜃1 + 𝜃2) + 𝐿𝑏 ∙ cos (𝜃1) 𝐿𝑏 ∙ 𝐿𝑐 ∙ cos(𝜃1 + 𝜃2) ∙ 𝑠𝑒𝑛(𝜃1) − 𝐿𝑏 ∙ 𝐿𝑐 ∙ 𝑠𝑒𝑛(𝜃1 + 𝜃2) ∙ cos (𝜃1) 𝑗22 = 𝐿𝑐 ∙ sen(𝜃1 + 𝜃2) + 𝐿𝑏 ∙ sen (𝜃1) 𝐿𝑏 ∙ 𝐿𝑐 ∙ cos(𝜃1 + 𝜃2) ∙ 𝑠𝑒𝑛(𝜃1) − 𝐿𝑏 ∙ 𝐿𝑐 ∙ 𝑠𝑒𝑛(𝜃1 + 𝜃2) ∙ cos (𝜃1) 𝑗41 = 𝐿𝑏 ∙ cos (𝜃1) 𝐿𝑏 ∙ 𝐿𝑐 ∙ cos(𝜃1 + 𝜃2) ∙ 𝑠𝑒𝑛(𝜃1) − 𝐿𝑏 ∙ 𝐿𝑐 ∙ 𝑠𝑒𝑛(𝜃1 + 𝜃2) ∙ cos (𝜃1) 𝑗42 = 𝐿𝑏 ∙ sen (𝜃1) 𝐿𝑏 ∙ 𝐿𝑐 ∙ cos(𝜃1 + 𝜃2) ∙ 𝑠𝑒𝑛(𝜃1) − 𝐿𝑏 ∙ 𝐿𝑐 ∙ 𝑠𝑒𝑛(𝜃1 + 𝜃2) ∙ cos (𝜃1) 2.2.4.1 DETERMINACIÓN DE LAS SINGULARIDADES Una vez encontrada la Jacobiana se procede a obtener su determinante, conocido como el Jacobiano [3]: 24 ∆𝑱 = � −𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐) − 𝑳𝒃 ∙ 𝐬𝐞𝐧(𝜽𝟏) −𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐) 𝟎 𝟎 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) + 𝑳𝒃 ∙ 𝐜𝐨𝐬(𝜽𝟏) 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) 𝟎 𝟎 𝟎 𝟎 −𝟏 𝟎 𝟏 𝟏 𝟎 −𝟏 � ∆𝑱 = −𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) ∙ 𝐬𝐞𝐧(𝜽𝟏) + 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐) ∙ 𝐜𝐨𝐬(𝜽𝟏) (2.15) Igualamos a cero para determinar los valores que generan singularidades en el determinante: ∆𝑱 = 𝟎 −𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝜽𝟐) ∙ 𝐬𝐞𝐧(𝜽𝟏) + 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝜽𝟐) ∙ 𝐜𝐨𝐬(𝜽𝟏) = 𝟎 Se buscan los valores de θ1 y θ2 que permiten que esta igualdad se mantenga. θ1 no tiene restricciones ya que corresponde a la rotación que existe en la base. Por lo cual se procede a verificar los límites de θ2. Para θ2 = 0: 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏) ∙ 𝐜𝐨𝐬(𝜽𝟏) = 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏) ∙ 𝐬𝐞𝐧(𝜽𝟏) De donde se verifica la igualdad. Para θ2 = π: 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏 + 𝝅) ∙ 𝐜𝐨𝐬(𝜽𝟏) = 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏 + 𝝅) ∙ 𝐬𝐞𝐧(𝜽𝟏) −𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏) ∙ 𝐜𝐨𝐬(𝜽𝟏) = −𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏) ∙ 𝐬𝐞𝐧(𝜽𝟏) 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐬𝐞𝐧(𝜽𝟏) ∙ 𝐜𝐨𝐬(𝜽𝟏) = 𝑳𝒃 ∙ 𝑳𝒄 ∙ 𝐜𝐨𝐬(𝜽𝟏) ∙ 𝐬𝐞𝐧(𝜽𝟏) Comprobándose que los términos son iguales. Esto implica que los límites de trabajo del robot están definidos para los valores de θ2 = 0 y θ2 = π. 25 2.2.5 VISIÓN ARTIFICIAL La visión artificial se define como la tarea de extraer información del mundo real a partir de la captura de imágenes digitalizadas mediante el empleo de una cámara, donde luego se procede al procesamiento de las imágenes a través de diversas técnicas con un computador, con el fin de obtener la mayor cantidad de información del entorno. Existen diversos aspectos que afectan los resultados de la captura de imágenes y consecuentemente al posterior procesamiento de la misma, los cuales son fenómenos independientes de los dispositivos empleados. Entre estos fenómenos se encuentran la iluminación de la escena, la geometría de los objetos, los colores y texturas de las superficies y los parámetros y la distorsión de la cámara empleada [4]. La Visión Artificial es una gran herramienta para establecer la relación entre el mundo tridimensional y las vistas bidimensionales que son tomadas de él. Por medio de este planteamiento construiremos un modelo del sistema de visión a diseñar para el manipulador industrial SCARAUC; representado en el esquema funcional de la figura 2.7. Figura 2.7 Sistema de Posicionamiento mediante Visión Artificial Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 26 2.2.5.1 UBICACIÓN DE LOS OBJETOS EN EL ESPACIO 2.2.5.1.1 REPRESENTACIÓN DE LA IMAGEN EN EL ESPACIO Una característica importante en las cámaras web es que en la mayoría de los tipos de resoluciones disponibles la relación de aspecto de la imagen que presenta es de 3:4 [4], esto implica que la imagen posee un ancho mayor que el largo. Las resoluciones que presentan el formato 3:4 en la cámara web empleada [5] son: 160x120, 320x240, 640x480, 800x600, 1280x960, 1600x1200, 3360x2520 píxeles en las otras dos resoluciones disponibles (176x144 y 352x288 píxeles) los cuerpos en las imágenes capturadas se ven deformados horizontalmente, aunque en el cálculo de las coordenadas de estos objetos ese estiramiento resulta compensado de forma automática. Considerando la relación de aspecto de 3:4 de la fotografía y a una altura cualquiera de observación, con la cámara web empleada en este trabajo de grado, se puede establecer mediante la geometría de la figura 2.8, que: Los ángulos de interés son: 𝛽 = 36,87° (Fijo por la geometría) y 𝛼 = tan−1 �ℎ𝑖𝑝 𝑍 � Donde: ℎ𝑖𝑝 = 𝑋 2∙cos(𝛽) = Z ∙ tan(𝛼) (2.16) 27 Centro de la Imagen b a Z Y X Plano de la Imagen (3:4) Punto de Observacion hip Figura 2.8 Geometría para la calibración de la cámara Fuente: Elaborado por Rojas T. (2007) Luego; 𝑋 = 2 ∙ 𝑍 ∙ tan(𝛼) ∙ cos(𝛽) (2.17) 𝑌 = 2 ∙ 𝑍 ∙ tan(𝛼) ∙ sin(𝛽) (2.18) Estas relaciones se deben a que siempre se observará un rectángulo de proporción 3:4 en la imagen capturada por la cámara sin importar la altura de observación; es de notar que el ángulo 𝛼 depende exclusivamente de la mecánica óptica del dispositivo utilizado y que variará según la cámara empleada. 28 Se debe realizar entonces el siguiente experimento para determinar la representación de la imagen: se miden las dimensiones reales del rectángulo visto en la imagen (valores X y Y) para una distancia de observación conocida (Z), bajo la estricta condición que el eje focal de la cámara esté perpendicular al plano observado. 2.2.5.1.2 CONVERSIÓN DE PÍXELES EN DISTANCIA Antes de poder determinar las coordenadas espaciales de los objetos detectados en una imagen bidimensional, se debe conocer el valor de la ubicación del objeto en distancia de píxeles, es decir que se transforma la posición del píxel central de un objeto (coordenadas en cantidad de píxeles respecto al origen de la imagen) en una distancia de valor relativo a las dimensiones conocidas del plano observado [4]. Si observamos la imagen de 7 x 5 píxeles de la figura 2.9. C O Píxel (0,0) Píxel (6,4) Píxel Central del Objeto(Po) Figura 2.9 Imagen con un objeto detectado Fuente: Elaborado por Rojas T. (2007) Dado el píxel PO (1,3) que representa el centro de un objeto detectado en la imagen; obsérvese que las coordenadas se encuentran referidas al origen O fijado en la esquina 29 superior izquierda de la imagen. De esta forma, el píxel PO posee las coordenadas respecto al centro de la imagen C (3,2), siguientes: 𝑃𝐶𝑋 = 𝑃𝑂𝑋 − 𝐶𝑋 = 1 − 3 = −2 𝑃𝐶𝑌 = 𝐶𝑌 − 𝑃𝑂𝑌 = 2 − 3 = −1 A partir de la imagen de la figura 2.9 como referencia, se plantea el siguiente conjunto de coordenadas para el centro del objeto: • Respecto al origen de la imagen 𝑃𝑂 = (𝑃𝑂𝑋,𝑃𝑂𝑌) en Píxeles • Respecto al centro de la imagen 𝑃𝐶 = (𝑃𝐶𝑋,𝑃𝐶𝑌) en Píxeles • Respecto al centro del plano de observación 𝑃′ = (𝑃′𝑋,𝑃′𝑌) en unidades de longitud Sean también los siguientes valores: • Ancho de la imagen WI Píxeles • Largo de la imagen HI Píxeles • Centro de la imagen 𝐶 �𝐼𝑁𝑇 �WI 2 � , 𝐼𝑁𝑇 �HI 2 �� en Píxeles • Factor de imagen 𝐹𝐼 = 𝑌 𝐻𝐼 = 𝑋 𝑊𝐼 en unidades de longitud por píxeles 30 Donde INT (.) es la función “Parte Entera” y (X, Y) son las cotas horizontal y vertical en unidades de longitud del plano de observación. De esta manera se tiene que: 𝑃𝐶𝑋 = 𝑃𝑂𝑋 − 𝐼𝑁𝑇� WI 2 � y 𝑃𝐶𝑌 = 𝑃𝑂𝑌 − 𝐼𝑁𝑇 � HI 2 � (2.19) Finalmente, 𝑃′𝑋 = 𝑃𝐶𝑋 ∙ 𝐹𝐼 en unidades de longitud (2.20) 𝑃′𝑌 = 𝑃𝐶𝑌 ∙ 𝐹𝐼 en unidades de longitud (2.21) 2.2.5.1.3 OBTENCIÓN DE LAS COORDENADAS ESPACIALES Luego de detectar un objeto dentro de una imagen y siendo conocida la posición bidimensional respecto al centro del plano de observación, se pueden obtener las coordenadas de su ubicación espacial respecto al origen de cualquier sistema de referencia XYZ; para esto obsérvese la figura 2.10. Según la figura 2.10, se ha ubicado la cámara por encima del plano de observación en un punto con coordenadas (XC, YC, ZC) respecto al sistema de referencia XYZ. El plano de observación donde se halla un objeto a detectar, está por debajo de la cámara a una distancia HC (altura de observación); por lo que el plano de observación no debe estar necesariamente a la altura cero respecto al origen de referencia XYZ, por lo que el plano se encuentra a la altura efectiva ZC - HC. 31 Figura 2.10 Perspectiva de la ubicación tridimensional del objeto Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) La forma en la que se encuentran los elementos para el sistema de visión artificial es tal que el vector PC (bidimensional y ubicado en el plano XY) es paralelo al eje Y’ del sistema de referencia bidimensional del plano de observación; por lo que la orientación de la cámara es tal que permite que el eje vertical de la imagen coincida con PC. 32 La altura del centro de un cuerpo esférico de radio conocido respecto a la base es fácilmente calculable según la ecuación (2.22): 𝑍 = 𝑍𝐶 − 𝐻𝐶 + 𝑅𝑎𝑑𝑖𝑜 𝑑𝑒 𝑙𝑎 𝐸𝑠𝑓𝑒𝑟𝑎 (2.22) Finalmente y según la figura 2.10, las coordenadas (X, Y) restantes se determinan a partir de la suma vectorial: 𝑃𝐸 = 𝑃𝐼 + 𝑃𝐶 Donde PI (XC, YC) presenta las coordenadas resultantes de la conversión de “píxeles a distancia” tal como se detalló en el punto anterior [4]. 2.2.5.2 DETECCIÓN DE OBJETOS Para determinar la posición requerida por el extremo del manipulador, con la finalidad de cumplir con la tarea de tomar objetos, es necesario procesar las imágenes captadas artificialmente para interpretar las formas y tamaños de objetos que estén dentro del volumen de trabajo de un manipulador robótico. El procesamiento se encuentra entonces orientado al reconocimiento de objetos y a la determinación de las coordenadas de ubicación de los mismos, con respecto a los ejes de coordenadas de referencia definido en la base del manipulador. Inicialmente se debe definir que una imagen digital es simplemente un arreglo matricial donde los elementos constitutivos son unidades denominados píxeles. La cámara digital es un mecanismo que toma la energía lumínica que llega al lente y al sensor para convertirla en información digital contenida en una matriz. Las imágenes digitales poseen características tales como la profundidad del píxel y las resoluciones espacial, espectral y temporal. De tal manera que una imagen digital se representa como un archivo de datos que describe a cada píxel de la imagen. El procesamiento de la imagen se realiza esencialmente con herramientas de cálculo matriciales adaptadas para producir efectos y transformaciones específicas sobre las imágenes capturadas. 33 En los sistemas de control basados en la posición se realiza una extracción de las características de una imagen para determinar la localización de un objetivo con respecto al sistema de coordenadas base, sustentándose en un modelo geométrico del cuerpo a alcanzar. Se puede concluir entonces que para alcanzar una buena apreciación de la localización de un objeto, anteriormente se debe poder reconocerlo en la imagen. A partir de las características encontradas y de los posibles objetos que se espera puedan aparecer (conociendo anteriormente el problema), el sistema debe determinar que objetos se encuentran en la imagen. Esta etapa es la de mayor grado de abstracción de todas las que forman un sistema de visión por computadora y en su mayoría es necesario realizar grandes simplificaciones y restricciones para que trabaje de forma correcta. 34 CAPÍTULO III MARCO METODOLÓGICO 3.1 TIPO DE INVESTIGACIÓN Según el manual de tesis de grado de especialización y tesis doctorales de la Universidad Pedagógica Experimental Libertador (UPEL, 2003), expresa que un proyecto factible “es la investigación, elaboración y desarrollo de la propuesta de un modelo operativo viable para solucionar problemas, requerimientos o necesidades de organizaciones o grupos sociales; puede referirse a la formulación de políticas, programas, tecnologías, métodos o procesos”. Debido a lo anteriormente expuesto, esta investigación se encontrará enmarcada dentro de la modalidad de Proyecto Factible, puesto que el modelo que se implementará para ejecutar la investigación, consistirá en efectuar un diseño viable para realizar un control de variables específicas a partir de una base diagnóstica. 3.2 DISEÑO DE LA INVESTIGACIÓN La presente investigación es según la clasificación expuesta por el autor Fidias G. Arias [6], un diseño en la modalidad Documental y de Campo: Documental ya que se basa en la obtención y análisis de datos provenientes de materiales impresos u otro tipo de documentos y es una investigación de Campo debido a que se realiza un análisis sistemático del problema planteado con el propósito de describirlo, interpretarlo, entender su naturaleza y factores constituyentes, explicando sus causas y efectos, haciendo uso de los métodos característicos de los enfoques de investigación conocidos, mientras que los datos de interés son recogidos en forma directa de la realidad, en este sentido se trata de una investigación a partir de datos originales o primarios. 35 3.3 TÉCNICAS E INSTRUMENTOS DE RECOLECCIÓN DE DATOS Las técnicas e instrumentos de recolección de datos utilizados para obtener la información indispensable a emplear en el presente trabajo de grado serán los siguientes: Análisis Documental Consiste en la revisión, análisis e interpretación de textos, páginas web, manuales de operación, artículos, publicaciones, trabajos de grado e investigaciones anteriores que involucren un alto grado de competencia y afinidad con la propuesta. De esta forma se logrará un profundo nivel de conocimiento de los detalles referentes a la dinámica de funcionamiento de los brazos robots industriales SCARA. Así mismo, se establecerán esquemas de trabajos basados en otras investigaciones. Revisión de Registros Consiste en la inspección de información de tipo técnico, tales como: planos, diagramas, manuales, reportes técnicos y recursos bibliográficos con relación al objeto de estudio. Observación Radica en establecer una relación con el objeto de estudio, permitiendo generar una teoría y un método adecuado para que la investigación se oriente de manera correcta y el trabajo de campo arroje datos exactos y confiables. Puede realizarse tanto de forma directa como indirecta. Directa al observar y recopilar información dentro del conjunto de elementos que se quiere conocer e investigar y de manera indirecta mediante la utilización de instrumentos que muestren la problemática subjetivamente, produciendo una mayor proximidad a la realidad. 36 3.4 TÉCNICAS DE PROCESAMIENTO Y ANÁLISIS DE LOS DATOS La información proveniente de fuentes bibliográficas se recolectará, se estudiará y se seleccionará de forma tal que sean de gran relevancia para la investigación. Clasificándola según su contenido y organizándola por el grado de conocimiento teórico que contenga la misma. 3.5 PROCEDIMIENTOS METODOLÓGICOS APLICADOS A continuación se describirán las fases que se seguirán para completar el desarrollo de la propuesta en el autómata industrial SCARAUC: Fase 1 Diseñoe Implementación de la Herramienta de Trabajo En esta fase se determinarán las características de la herramienta de trabajo del manipulador industrial SCARAUC y se realizarán los cálculos necesarios para las dimensiones de la misma, tomando en cuenta la longitud máxima de la tercera articulación. Fase 2 Implementación del la Cuarta Articulación Durante el desarrollo de esta fase se implementará un cuarto eje de movimiento en la herramienta terminal del robot SCARAUC, permitiendo tomar objetos de la manera más adecuada. Fase 3 Modificación del Sistema de Comunicación Se modificará el sistema de comunicación del robot para que se adapte al estándar USB y pueda ser manejado desde cualquier computador. Fase 4 Construcción de una nueva Tarjeta de Control y Fuerza del SCARAUC Se diseñará y construirá un nuevo circuito impreso de la Unidad de Control y Fuerza, para que incluya el manejo de la herramienta de trabajo y la cuarta articulación. 37 Fase 5 Desarrollo de la nueva HMI para el control del SCARAUC En el transcurso de esta fase se desarrollará el diseño de las ventanas de la interfaz grafica HMI para la comunicación entre el robot SCARAUC y una computadora desde la cual se controlen sus movimientos. Fase 6 Instalación del Sistema de Visión por Computadora. Mejorar las capacidades de control del robot SCARAUC implementando un sistema de Visión por Computadora como herramienta principal de percepción del entorno de trabajo, mediante el uso de una cámara web. 38 CAPÍTULO IV ANÁLISIS, PRESENTACIÓN E INTERPRETACIÓN DE RESULTADOS A lo largo de este capítulo se mostrarán los resultados obtenidos una vez culminada la reingeniería del robot SCARAUC, así como el conjunto de pruebas que se realizaron para asegurar su correcto funcionamiento. 4.1 ESPECIFICACIONES TÉCNICAS DEL ROBOT. El robot SCARAUC es un robot construido en su mayoría de aluminio que posee cuatro articulaciones de un grado de libertad, el cual cuenta con una fuente de alimentación de computadoras como suministro de energía y presenta un módulo de control y fuerza encargado de realizar los movimientos ordenados por la interfaz de usuario, que a su vez, maneja un sistema de captura de imágenes para otorgarle un mayor grado de percepción o conocimiento del entorno. Las especificaciones técnicas del robot SCARAUC se muestran en la siguiente tabla: Tabla 4.1.Especificaciones técnicas del robot SCARAUC. Características Valor Tensión de alimentación 12V / 5V Corriente mínima de alimentación 2 A Corriente máxima de alimentación 10 A Carga de trabajo 100 g Apertura máxima de la pinza 4,5 cm Peso del robot 11,6 kg Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 39 4.1.1 DIMENSIONES DEL ROBOT Y VOLUMEN DE TRABAJO La figura 4.1 muestra las dimensiones de los eslabones de cada articulación del robot SCARAUC. Además en la figura 4.2 se representan los resultados de las dimensiones del volumen de trabajo obtenido en el presente trabajo. Figura 4.1. Dimensiones del robot SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) Figura 4.2. Dimensiones del volumen de trabajo del robot SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 40 4.2 DESARROLLO TÉCNICO DEL ROBOT. 4.2.1 ADAPTACIONES Y MODIFICACIONES FINALES DEL DISEÑO. De acuerdo con los objetivos especificados en este trabajo, se realizaron modificaciones y adaptaciones en el robot SCARAUC, tales como; una elevación del soporte del motor DC con la finalidad de habilitar un espacio en la parte inferior del robot para colocar la tarjeta de control y la fuente de suministro de poder, permitiendo de esta forma reducir el volumen que ocupan estos elementos. También se aumentaron las longitudes del primer y segundo eslabón, permitiendo un incremento de la longitud entre los ejes y por lo tanto un mayor alcance para el robot. La distancia que corresponde al parámetro Lb paso de 17 a 22,5 cm y la distancia de Lc se aumento de 16 a 17,5 cm, para aumentar la longitud del brazo a un total de 7 cm. De igual forma se reemplazaron los motores de las articulaciones dos y tres por motores paso a paso unipolares marca Minebea modelos PM55L048 [7] y se realizó el mecanizado de dos ranuras en la parte superior del primer eslabón, de forma tal que se permita ajustar la tensión aplicada en la correa que mueve al segundo eslabón y se eviten, de esta forma errores por deslizamientos de la correa. Para la tercera articulación se requirió construir una nueva cremallera de mayor longitud con un soporte tubular de un diámetro superior al anterior, por el tubo se introdujeron cables flexibles para la alimentación y control de los motores de la pinza, de igual forma se rediseñó la pieza de adaptación entre el segundo y tercer eslabón construyendo una bocina con la forma de la cremallera para mejorar el soporte, permitiendo evitar desplazamientos indeseados y disminuir el roce presente con el movimiento de la cremallera. Así también, fue necesario construir una pieza que conecta a la cuarta articulación y la herramienta, al tercer eslabón del robot. Se pueden apreciar todos estos cambios realizados en el autómata SCARAUC durante el desarrollo de este proyecto de grado en la figura 4.3. 41 Figura 4.3 Robot SCARAUC antes y después del proyecto de grado Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) La siguiente tabla muestra los límites de movimiento de los motores que maneja el autómata. Tabla 4.2.Límites de desplazamiento de las articulaciones del robot SCARAUC. Motor 1 ±180° Motor 2 ±143° Motor 3 0-25,5cm Motor 4 0-180° Motor 5 0- 4,5cm Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 42 4.2.2 IMPLEMENTACIÓN Y CONTROL DEL ACTUADOR FINAL En el robot, se implementó un efector final en forma de pinza como el que es mostrado en la figura 4.4, fabricado en aluminio y con un peso de 65 gramos, el cual es capaz de sostener objetos con unas dimisiones máximas de 4,5cm de ancho y puede sujetar un objeto hasta una profundidad de 4 cm, de forma tal que estos puedan ser trasladados a una posición especificada por el usuario a través de la interfaz. El efector logra levantar pesos de un máximo de 100g y se permite orientar de modo tal que sujetará al objeto de la forma más óptima posible. Figura 4.4 Pinza implementada en el robot SCARAUC. Fuente: Elaborado por SparkFun Electronics (2011) Para el control de pinza se emplearon dos servomotores [8] de baja potencia, de movimiento continuo y un rango de giro de [0° - 180°]. Uno de estos servomotores se encuentra adosado a la propia estructura de la pinza mediante tornillos, como se muestra en la figura 4.5 y cumple las funciones de apertura y cierre de la pinza. Mientras que el otro está instalado en la pieza de transición del tercer eslabón y se encarga de la orientación de la pinza. 43 Figura 4.5 Servomotor adosado a la pinza del robot. Fuente: Elaborado por SparkFun Electronics (2011) El control hecho para la pinza es realizado por el microcontrolador mediante un comando de movimiento indicado por la interfaz de usuario, el microcontrolador PIC procederá a generar un tren de pulsos produciendo una señal periódica, de forma tal que el motor se ubique en los grados que equivalen a los centímetros de apertura o cierre de la pinza. 4.3. ECUACIONES DEL MODELO CINEMÁTICO. Las ecuaciones obtenidas del modelo cinemático del robot SCARAUC se presentan a continuación. Cinemática Directa 𝑃𝑥 = 𝐿𝑐 ∙ cos( 𝜃1 + 𝜃2) + 𝐿𝑏 ∙ cos(𝜃1) 𝑃𝑦 = 𝐿𝑐 ∙ sin(𝜃1 + 𝜃2) + 𝐿𝑏 ∙ sin(𝜃1) 𝑃𝑧 = 𝐿𝑎 − 𝐿𝑑 − 𝑑3 𝜑 = 𝜃1 + 𝜃2 − 𝜃4 44 Cinemática Inversa 𝜃1 = ± cos−1 � 𝐿𝑐 ∙ (𝑝𝑥 ∙ 𝐶2 + 𝑝𝑦 ∙ 𝑆2) + 𝑝𝑥 ∙ 𝐿𝑏 (𝑝𝑥)2 + (𝑝𝑦)2 � 𝜃2 = ± cos−1 � (𝑝𝑥)2 + (𝑝𝑦)2 − (𝐿𝑐)2 − (𝐿𝑏)2 2 ∙ 𝐿𝑐 ∙ 𝐿𝑏 � 𝑑3 = −𝐿𝑑 − 𝑝𝑧+ 𝐿𝑎 𝜃4 = 𝜃2 − cos−1(𝐶1 ∙ 𝑛𝑥 + 𝑆1 ∙ 𝑛𝑦) 4.4 TARJETA DE CONTROL Se desarrolló una tarjeta para el control del autómata que cuenta con los módulos de comunicación, fuerza y control necesarios para lograr el correcto funcionamiento del robot SCARAUC del laboratorio de Robótica y Visión Industrial. En la figura 4.6, podemos observar el diagrama de bloques funcional de la tarjeta de control, donde se contemplan los principales elementos que intervienen en la manipulación del autómata SCARAUC. La comunicación con la interfaz del computador se puede realizar mediante transmisión serial RS-232 con el integrado MAX232 [9] o el estándar USB permitiendo que el robot sea una herramienta de mayor manejabilidad y portabilidad, ya que los estudiantes podrán conectarse y comunicarse mediante las instrucciones del software RoboCom 3.0 por medio de una computadora portátil y en el caso tal de que se encuentren conectados ambos sistemas de comunicación, el microcontrolador empleará, para enviar su respuesta, el mismo sistema por el cual recibió la instrucción anterior. El microcontrolador se encuentra encargado de recibir cada una de las instrucciones para mover los motores hasta la posición deseada por el usuario, ejecutando las rutinas de posicionamiento y orientación de las articulaciones del robot que posee en su memoria, para luego dar la confirmación al software de que cumplió la tarea y pasa a esperar por nuevas instrucciones. 45 TX RX ON/OFF MICROCONTROLADOR PIC18F4550 OPTOACOPLADORES CONTROLADORES DE MOTORES PASO A PASO MANEJADOR DE PUENTE COMPLETO RECEPTOR SERIAL RS-232 REGULADOR ARREGLO DE TRANSISTORES DARLINGTON PUERTO SERIAL PUERTO PARALELO TRANSISTORES DE POTENCIA CONEXIÓN AL MOTOR DC PUERTO USB 12V 5V 12V 5V 5V 5V 5V 12V USB @5VUSART @5V HS_OSC 20 Mhz Figura. 4.6 Diagrama funcional de la Tarjeta de Control del SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) Todas las señales que maneja el microcontrolador con los integrados de potencia se encuentran aisladas mediante optoacopladores 4N35 [10], de forma tal que no se produzcan ruidos eléctricos en las señales de alimentación y control del microcontrolador. Normalmente estos ruidos ocurren a causa del los arranques y paradas de los motores del robot que generan efectos transitorios en las corrientes del sistema. El sistema cuenta con un cristal de cuarzo de una frecuencia de 20 MHz, el cual sirve como señal de reloj del microcontrolador, esta ingresa por una PLL interna del 46 microcontrolador la cual produce una nueva señal para el control de los ciclos de instrucción con una frecuencia de 48 MHz, de esta forma se logra que el PIC pueda alcanzar la comunicación USB. En la figura siguiente (Figura 4.7) se puede observar la tarjeta de control anterior a este trabajo que se encargaba de realizar los movimientos del robot. Figura 4.7 Tarjeta de control del robot anterior a este proyecto de grado Fuente: Elaborado por E. Adrián y A. Castañeda. (2011). La tarjeta de control desarrollada en este trabajo, que se puede observar en la figura 4.8, se encuentra energizada con dos niveles de tensión diferentes, esto son de 5 y 12V los cuales dan el suministro de energía tanto a los motores del robot, como a los circuitos integrados que conforman la tarjeta. Para observar los planos del esquemático y del circuito impreso de la tarjeta puede referirse a los apéndices A y B. 47 Figura 4.8 Tarjeta de Control del Robot SCARAUC Fuente: Elaborado por E. Adrián y A. Castañeda. (2011). Para el control del movimiento del motor DC de la articulación 1, se cuenta con un integrado L298 [11] que posee dos puentes H de tipo completo, así como también, se encuentra acoplado al eje del motor un sensor encoder que genera 1.000 pulsos por revolución, el cual permite conocer la velocidad y el sentido de giro del motor en todo momento. Los motores paso a paso de las articulaciones 2 y 3 se manejan con los integrados L297 [12] que producen las señales de control y con los ULN2803 [13] que son arreglos de transistores Darlington para suministrar la corriente que circula por los devanados del motor. Así como también se cuenta con transistores de potencia TIP 31 [14], que generan las señales de los servomotores de la articulación 4 y la pinza del robot. 48 4.4.1 MICROCONTROLADOR. El microcontrolador elegido para realizar la tarea de control del robot SCARAUC fue el PIC 18f4550 [15] por estar diseñado con cinco puertos con un total de treinta y tres pines con funciones de entradas y salidas, un elevado espacio de memoria de datos y programa, cuatro temporizadores y dos módulos de PWM, veinte fuentes de interrupción con dos niveles de prioridad y disposición de módulos que permiten realizar la comunicación serial por RS-232 y USB. El programa del microcontrolador PIC se encarga de configurar todas las herramientas que maneja y esperar la recepción de datos para realizar la instrucción que se le solicite. Una vez que llega un dato se procede a realizar los cambios en las posiciones de los motores, tal como lo indica el computador y una vez que se realizan dichos cambios se le envía un mensaje de notificación y se espera por la recepción de más datos. En la figura 4.9 podemos observar el diagrama de flujo del programa del microcontrolador de la tarjeta de control donde se encuentran las tareas y rutinas que se realizan para el control del robot SCARAUC. 4.5 VISIÓN ARTIFICIAL. El sistema de visión artificial, que se presenta en la imagen 4.10, tiene por objetivo ubicar un objeto en el espacio. Dicho objeto será digitalizado mediante la captura de imágenes realizada por una cámara web, para lo cual se utilizó la cámara ilook 300 de Genius. Al capturar la imagen se procede a identificar la forma del objeto y posteriormente obtener las coordenadas de su centro en el espacio, las cuales serán utilizadas por el software para determinar los movimientos necesarios que debe realizar cada articulación, desde una posición inicial, para posicionar la herramienta de trabajo sobre el objeto. 49 Figura. 4.9 Diagrama de Flujo del Programa del PIC18f4550 para el control del robot Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 50 Figura 4.10 Sistema para la Visión Artificial. Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 4.5.1 ÁREA DE TRABAJO PARA LA VISIÓN. Para el sistema de visión artificial se implementó una estructura que soporta la cámara web a una altura determinada para la captura de imágenes, al cual se adoso una lámpara con luz blanca fluorescente direccionada de forma perpendicular para maximizar la cantidad de iluminación en el plano de trabajo del sistema de visión y esto a su vez garantiza una disminución de los errores en la detección de los objetos, debido a una mejor calidad en la imagen [16]. 51 En el sistema de visión artificial, el área de trabajo total para la visión del robot SCARAUC quedó reducida a la intersección de un rectángulo determinado por la calibración de la cámara y el toroide formado por el área de trabajo del robot [17], como se observa en la figura 4.11. La selección de esta área de visión se debió a la propia forma del área de trabajo del robot, es decir, a los valores máximos y mínimos que la herramienta de trabajo puede alcanzar, además del área que la cámara puede capturar a una distancia determinada. Figura 4.11 Área de visión sobre el área de trabajo del robot SCARAUC. Fuente: Elaborado por E. Adrián y A. Castañeda. (2011) 4.5.2 CALIBRACIÓN DE LA CÁMARA. Un dato importante para la calibración es conocer la resolución de la cámara; para la cámara web ilook 300 de Genius se adecuó a una resolución de 640x480 píxeles. Según los parámetros explicados en el capítulo II en la sección
Compartir