Source: http://docplayer.es/848785-Universidad-de-valladolid-trabajo-fin-de-grado.html
Timestamp: 2016-10-23 18:14:08+00:00

Document:
⭐UNIVERSIDAD DE VALLADOLID. Trabajo Fin de Grado
UNIVERSIDAD DE VALLADOLID. Trabajo Fin de Grado
Download "UNIVERSIDAD DE VALLADOLID. Trabajo Fin de Grado"
Juana Peña Miranda
1 UNIVERSIDAD DE VALLADOLID ESCUELA DE INGENIERÍAS INDUSTRIALES Trabajo Fin de Grado Grado en Ingeniería Mecánica Simulación, control cinemático y dinámico de robots comerciales usando la herramienta de Matlab, Robotic Toolbox Autor: Mato San José, Miguel Ángel Q Tutor: Dr. D. Alberto Herreros López Departamento: Ingeniería de Sistemas y Automática Lugar y Fecha: Valladolid, 06 de julio de 2014 Mi Ref.: tfg-irb docx2 3 RESUMEN RESUMEN El presente trabajo justifica y expone, la forma y el modo, en el que se ha validado el software Robotic Toolbox, del entorno Matlab, como herramienta de estudio, control y simulación de robots industriales. Con dicha librería, de Peter Corke (v.9.8-feb 2013), se ha modelado numéricamente el robot manipulador IRB 120 de la firma ABB, desarrollando un interfaz gráfico que facilita el estudio cinemático y dinámico del robot. La aplicación contiene además mejoras de otros paquetes de software (Solidworks, SimMechanic, ARTE y OPC) que permiten al usuario interactuar, con el robot virtual y con el robot real. Tanto el software, como el robot, son ampliamente conocidos, utilizados y accesibles en el mundo industrial y académico, y representan una buena forma de introducirse en el estudio y manejo de la robótica, para el autor y para cuantos sigan la aplicación desarrollada. PALABRAS CLAVE: Control, simulación, robot, IRB120, Robotic Toolbox. TFG-Robotic Toolbox de Matlab Miguel A. Mato RESUMEN4 TFG-Robotic Toolbox de Matlab Miguel A. Mato RESUMEN5 ENGLISH ABSTRACT ENGLISH ABSTRACT This work justifies and outlines the form and manner, which has been validated Robotic Toolbox software, the Matlab environment, as a study tool, control and simulation of industrial robots. With this library, by Peter Corke (v.9.8-feb 2013), has been numerically modelled the IRB 120 robot manipulator by ABB. We have developed a graphical interface that facilitates kinematic and dynamic study of the same. The application also contains improvements in other software packages (Solidworks, SimMechanic, ARTE and OPC) that allow the user to interact with the virtual robot and the real robot Both the software and the robot are widely known, used and accessible in the industrial and academic world, and represent a good way to enter the study and management of robotics, for the author and for those who follow the application developed. KEYWORDS Control, simulation, robot, IRB120, Robotic Toolbox. TFG-Robotic Toolbox de Matlab Miguel A. Mato English Abstract6 TFG-Robotic Toolbox de Matlab Miguel A. Mato English Abstract7 INDICES INDICE GENERAL CAPÍTULO I INTRODUCCIÓN OBJETIVOS ALCANCE JUSTIFICACIÓN Y MOTIVACIÓN ESTRUCTURA DEL PROYECTO... 2 CAPÍTULO II ESTADO DEL ARTE INTRODUCCIÓN CONCEPTOS BÁSICOS DE ROBOT MANIPULADOR ROBOT INDUSTRIALES Y EDUCACIONALES ENTORNOS DE SIMULACIÓN DE ROBOTS ENTORNOS DE SIMULACIÓN DE ROBOTS MANIPULADORES ENTORNOS DE SIMULACIÓN BASADOS EN MATLAB ROBOTIC TOOLBOX de MATLAB CAPÍTULO III MODELADO Y SIMULACIÓN DEL ROBOT DESCRIPCIÓN DEL ROBOT IRB 120 de ABB MODELADO Y SIMULACION DEL ROBOT EN MATLAB CINEMÁTICA DEL ROBOT ALGORITMO DE DENAVIT-HARTENBERG RESOLUCIÓN DEL PROBLEMA CINEMÁTICO DINÁMICA DEL ROBOT MATRIZ JACOBIANA E INDICE DE MANIPULABILIDAD MODELADO GRÁFICO DEL ROBOT CAD 3D EN MATLAB FUNCIONES Y VARIABLES UTILIZADAS EN LA APLICACIÓN MODELADO SIMULINK CON SIMMECHANIC CONEXIÓN MEDIANTE OPC AL ROBOT REAL INTERFAZ GRÁFICO DE LA APLICACIÓN INICIO. CONFIGURACIONES DEL ROBOT DEMOSTRACIONES SIMULINK OPERACIONES CON EL ROBOT VIRTUAL PARÁMETROS DE CONTROL y VISUALIZACIÓN VENTANA GRÁFICA (AXIS) TFG-Robotic Toolbox de Matlab Miguel A. Mato INDICE8 INDICES CAPÍTULO IV CONCLUSIONES CONCLUSIONES LÍNEAS FUTURAS DE MEJORA CAPÍTULO V ESTUDIO ECONÓMICO CAPÍTULO VI BIBLIOGRAFIA CAPÍTULO VII ANEXOS CODIGO DEL INTERFAZ GRÁFICO FUNCIÓN guide_irb MODELADO Y SIMULACIÓN DEL ROBOT FUNCIÓN mdl_irb FUNCIÓN plot_irb FUNCIÓN espacio_trabajo_lin FUNCIÓN graf_puntos FUNCIÓN save_trayec FUNCIÓN ikine_nuevo FUNCIÓN ikine_irb120 (ARTE) CÓDIGO COMUNICACIÓN OPC FUNCIÓN OPCitem FUNCIÓN OPCJoint FUNCIÓN Joint2OPC TFG-Robotic Toolbox de Matlab Miguel A. Mato INDICE9 INDICES INDICE de FIGURAS Figura 1. Elementos y partes del conjunto robótico ABB IRB Figura 2. Robot IRB120 CAD 3D... 6 Figura 3. Simulación con RobotExpert de Siemens PLM... 9 Figura 4. Simulación de robot Kuka con RobotWorks... 9 Figura 5. Robot ABB IRB12O en RobotStudio Figura 6. Robot IRB120 en el entorno gráfico RokiSim Figura 7. Interfaz de ARTE Figura 8. Dimensiones del robot y sistema robótico irb Figura 9. Esquema obtención parámetros cinemáticos del robot Figura 10. Forma de la matriz homogénea Figura 11. Valores de D-H Figura 12. Matriz de transformación de cada eslabón Figura 13. Estructura del robot 3D y conceptual en un gráfico de Matlab Figura 14. Descripción de ejes y parámetros D-H en el Robot Figura 15. Parámetros iniciales y básicos del robot irb Figura 16. Ejes del robot D-H desde la aplicación desarrollada Figura 17. Matrices de transformación homogéneas del robot Figura 18. Esquema obtención parámetros dinámicos del robot Figura 19. Extracción parámetros dinámicos del 4º eslabón en SolidWorks Figura 20. Segundo eslabón del robot, CAD 3D y robot real Figura 21. Todos los parámetros del robot en el interfaz Figura 22. Modelo CAD SolidWorks Figura 23. Robot 3D CAD con robot conceptual Figura 24. Esquema para obtener el modelo con SimMechanic Figura 25. Exportar robot 3D en SolidWorks a Simulink mediante SimMechanic.. 37 Figura 26. Modelo del robot Simulink y pestaña de parámetros del eslabón Figura 27. Modelo simulink del robot irb120 completo Figura 28. Simulación con SimMechanic Figura 29. Librería SimMechanic Figura 30. Modelado primera articulación del robot Figura 31. Sincronización del robot real y virtual Figura 32. Interfaz gráfico de la aplicación Figura 33. Dos de las seis posibles configuraciones del robot Figura 34. Alcance máximo Figura 35. Espacio de trabajo Figura 36. Trayectoria tres puntos Figura 37. Trayectoria poligonal TFG-Robotic Toolbox de Matlab Miguel A. Mato INDICE10 INDICES Figura 38. Ventanas de coordenadas Figura 39. Ventanas de puntos grabados Figura 40. Parámetros de control del modelo Figura 41. Zoom y perspectiva del axis del robot INDICE de TABLAS Tabla 1. Tabla de valores Denavit-Hartenberg del IRB Tabla 2. Parámetros D-H y dinámicos del robot TFG-Robotic Toolbox de Matlab Miguel A. Mato INDICE11 CAPITULO I 1. INTRODUCCIÓN CAPÍTULO I 1. INTRODUCCIÓN 1.1. OBJETIVOS Pretemos con este estudio probar y validar la librería Robotic Toolbox del entorno Matlab [1], de Peter Corke [2], como herramienta de estudio, control y simulación de robots manipuladores ALCANCE Utilizaremos dicho software para modelar, controlar y simular el robot manipulador articulado tipo serie, IRB 120 de la multinacional suiza ABB. Su elaboración nos permitirá conocer, además de las herramientas matemáticas en las que basan sus movimientos, la compleja tecnología que utiliza para su control cinemático y dinámico. El estudio compre: Modelado numérico del robot con Robotic Toolbox de Matlab: relaciones geométricas, físicas y matemáticas. Estudio de las relaciones cinemáticas y dinámicas del robot, simulación en el entorno Simulink [3] y SimMechanic [5]. Modelado del robot, en un entorno de CAD 3D, SolidWorks [3]. Diseño de un interfaz gráfico, con un Guide [6] de Matlab, desde el cual interactuar con el modelo virtual. Sincronización del modelo numérico con el robot real, a través del software OPC, (de Matlab [7] y de ABB [8]), para finalmente validar este estudio JUSTIFICACIÓN Y MOTIVACIÓN No hacía falta que el gigante tecnológico Google decidiese recientemente apostar por los robots y los drones, para saber que estos, serán un importante nicho de negocio en este recién comenzado siglo XXI. Se estima, que el parque mundial de robots podrá alcanzar en 2015 la cifra de 100 millones de unidades (Fuente: International Federation of Robotics -IFR-, 2014 [9]) Conscientes, por tanto, de la necesidad de acceder al control de estas máquinas, sus fabricantes suministran el software para su control y simulación. Aprovechando la actual tencia a sistemas abiertos, en los que los usuarios pueden acceder al control de los parámetros de funcionamiento, nos lleva a comprobar si Matlab, y su librería Robotic Toolbox, es capaz de cumplir esta función. TFG-Robotic Toolbox de Matlab Miguel A. Mato 112 CAPITULO I 1. INTRODUCCIÓN Además, la existencia del robot IRB 120 de ABB en el departamento, permitió validar los resultados en el entorno gráfico-numérico, fundamental en cualquier estudio de simulación. Finalmente, la aplicación desarrollada para la simulación del robot, es un excelente recurso didáctico, que permite a cualquier usuario introducirse en el estudio y manejo de la robótica, pudio elaborar sus propios algoritmos de control del robot ESTRUCTURA DEL PROYECTO Este proyecto consta de siete capítulos y tres anexos: Capítulo I: Introducción De carácter introductorio, se presentan las motivaciones que me han llevado a desarrollar este proyecto, justificándolo y describio el alcance del mismo. Capítulo II: Estado del Arte Se presenta una introducción acerca de los robot industriales, del estado de la simulación y control de los mismos, y de las actuales tencias en este campo. Capítulo III: Modelado y simulación del Robot Describe los pasos, desarrollo y fundamentos utilizados en el modelado del robot y desarrollo del interfaz gráfico. Capítulo IV: Estudio económico Referido al desarrollo y ejecución de este trabajo. Capítulo V: Conclusiones y futuras líneas de investigación Se presenta las conclusiones obtenidas, y se exponen las futuras líneas de investigación. Capítulo VI: Bibliografía. A N E X O S: ANEXO I: Código elaborado. TFG-Robotic Toolbox de Matlab Miguel A. Mato 213 CAPITULO II 2. ESTADO DEL ARTE CAPÍTULO II 2. ESTADO DEL ARTE 2.1. INTRODUCCIÓN Desde que en 1961, apareciera el Unimate, primer robot manipulador, hasta nuestros días, la continua y espectacular evolución de estas maquinas, ha permitido sustituir al hombre en aquellas tareas repetitivas, tediosas y peligrosas, en todo tipo de industrias y sectores, de manera eficiente y rentable. Si en un principio, la evolución de la robótica fue ligada a la evolución de la mecánica y sus sistemas de accionamiento, más precisos y menos pesados, en la actualidad, la tecnología de fabricación de los robots, va directamente ligada al sector de la electrónica, informática y telecomunicaciones. Incorporando motores, sensores, comunicaciones y procesadores, más potentes, rápidos y económicos. En los cincuenta años transcurridos, la precisión de posicionamiento ha mejorado desde 1 mm hasta 10 micras, los interfaces de usuario, desde una lectura de LED de 4 dígitos hasta una pantalla táctil completa tipo Windows, y la potencia de cálculo desde 8 kb hasta 20 GB o más. Al mismo tiempo, la fiabilidad ha aumentado hasta horas de MTBF (tiempo medio entre fallos), y los costes se han reducido hasta el extremo de que ahora un robot cuesta, en términos reales, la mitad que hace sólo 15 años [10]. Además, ahora, los robots no sólo están en procesos súper automatizados de las cadenas de montaje de la automoción, ahora están presentes en otras industrias y procesos: Eléctrico-electrónico: montaje y ensamblaje de componentes y máquinas eléctricas o eléctrico. Metal-mecánica: nuevos procesos de mecanizado, soldadura o corte (laser, plasma), manipulación de piezas pesadas o peligrosas, etc. Fabricación y moldeo de plástico: manipulación de piezas que por su volumen, peso o temperatura, resultan difíciles de manejar. Farmacéutico y agroalimentario: manipulación y envasado de productos. Podríamos decir que la robótica se ha hecho accesible a todo sector o aplicación, donde el proceso sea de alta precisión, repetitivo o peligroso, y sin necesidad de fabricaciones masivas. TFG-Robotic Toolbox de Matlab Miguel A. Mato 314 CAPITULO II 2. ESTADO DEL ARTE 2.2. CONCEPTOS BÁSICOS DE ROBOT MANIPULADOR Un robot manipulador es un manipulador multifuncional reprogramable, capaz de mover materias, piezas, herramientas, o dispositivos especiales, según trayectorias variables, programadas para realizar tareas diversas. Un robot está formado por los siguientes elementos: estructura mecánica, transmisiones, sistema de accionamiento, sistema sensorial, sistema de control y herramientas terminales (tools). El sistema de control se ubica en un controlador, separado físicamente del robot, en el cual se encuentra el software y hardware, capaz de hacer mover el robot (Figura 1). La constitución física de los robots manipuladores tipo serie, guarda cierta similitud con la anatomía del brazo humano, de ahí el nombre de antropomórfico, por lo que en ocasiones, para hacer referencia a los distintos elementos que componen el robot, se usan términos como cuerpo, brazo, codo y muñeca. Definiciones y conceptos de los robot manipuladores industriales: Campo de trabajo: volumen espacial donde el robot puede situar su extremo terminal. Tool Center Point (TCP): punto final de la herramienta de trabajo del robot, espacialmente define el alcance del robot. Eslabón: componente físico que existe entre articulaciones. Articulación: puntos que conectan los eslabones, pueden ser prismáticas, de revolución o esféricas. Elemento terminal (herramienta -tool-): dispositivos que interaccionar con el entorno del robot. Pueden ser tanto elementos de aprehensión como herramientas o útiles, en muchos casos diseñadas para cada aplicación. Grados de libertad (GdL): número de parámetros necesarios para determinar la posición de un robot, es decir, el número de movimientos básicos e indepientes que posicionan los elementos del robot en el espacio. Tres movimientos son para posicionar y tres para orientar el objeto en cuestión. Sistema de coordenadas: los movimientos y posiciones del robot se pueden especificar en coordenadas cartesianas, cilíndricas, esféricas o por coordinación manual. Coordenadas angulares o articulares: en manipuladores basados exclusivamente en la rotación. Una determinada posición del robot, que define un punto, en un instante de tiempo (t), se establece por el ángulo que forman los eslabones contiguos Q(t)= q1,q2,q3,,qgdl. Coordenadas homogéneas: se determina la posición de un punto mediante una matriz 4x4 (T), que define la posición del TCP, así como la orientación del mismo, además de otros parámetros para su representación en 3D. TFG-Robotic Toolbox de Matlab Miguel A. Mato 415 CAPITULO II 2. ESTADO DEL ARTE Repetitividad: es la precisión en la repetición de movimientos. Resolución: incremento mínimo de movimiento que puede hacer el manipulador. Precisión: distancia entre la posición de las coordenadas programadas y las posiciones reales. Capacidad de carga: peso que el robot puede llegar a manipular. Células de fabricación: entornos de trabajo en los que puede aparecen más de un robot para una misma tarea. Tipo de accionamiento: energía eléctrica, neumática o hidráulica que utilizan sus actuadores para imprimir movimientos a la estructura. Actuadores: dispositivos que dotan de movimiento al robot, pueden ser: Rotacionales: motores (eléctricos, neumáticos o hidráulicos). Lineales: cilindros (neumáticos o hidráulicos). Sensores: dispositivos que controlan la posición, velocidad, aceleración y masa de la carga. Existe una extensísima gama. Entornos de simulación: programas que permiten la manipulación de un robot virtual en un espacio 3D, más o menos realista, sobre el cual podremos interactuar: parámetros de operación, control, movimientos, trayectorias, etc. Programación off-line: programación de operaciones que se pueden realizar con simulación, sin que el robot real tenga ejecutar las órdenes. Figura 1. Elementos y partes del conjunto robótico ABB IRB120 TFG-Robotic Toolbox de Matlab Miguel A. Mato 516 CAPITULO II 2. ESTADO DEL ARTE 2.3. ROBOT INDUSTRIALES Y EDUCACIONALES En la actualidad, unas pocas multinacionales, Europeas y Japonesas, dominan el mercado mundial de robots: ABB, Kuka, Fanuc, Motoman, Honda y Mitsubishi [9] Todas tienen una amplísima gama de robots para la industria, pero además, todas, tienen pequeños robots, con la misma funcionalidad que el resto de su gama industrial, que introducen en ambientes académicos para atraer a los futuros consumidores, usuarios e investigadores. Todas también, tienen desarrollado software propio, para el control de sus máquinas. En estos últimos años, y en tencia con los sistemas operativos de moda -Android- dicho software de control se presenta en código abierto, a fin de facilitar su uso y de esta forma, ganar cuota de mercado. Robots de similares características al robot IRB120 de ABB (Figura 1 y Figura 2), con el que vamos a realizar el estudio, son: KR5 sixx R650 de Kuka. RV-1A-S11 de Mitsubishi. VIPER S650 de Motoman. LR MATE 100iB de Fanuc. Todos ellos, son robot manipuladores, con los que comparte las siguientes características: Arquitectura antropomórfica, tipo serie, de 6 grados de libertad. Reducidas dimensiones, con un alcance máximo de hasta 0,7 m. Capacidad de carga, de 1,5 a 6 Kg. Peso propio del robot, hasta 50 kg. Repetitividad está, entre ±0.01 y ±0.02mm. Precio, entorno a los Figura 2. Robot IRB120 CAD 3D Fuente: "A Brief Survey of Commercial Robotic Arms for Research on Manipulation" [11]. Decantarse por uno u otro, en un ambiente académico, deperá en gran medida, además de su precio, de su facilidad de manejo, de las posibilidades que ofrezca su software de control y de los extras formativos que conlleve su adquisición. En nuestro caso, el IRB120 de ABB, cumplía todas las premisas, y además nuestra experiencia en el terreno industrial nos aseguraba, que la firma ABB tenía un importante grado de penetración en la industria automovilística de nuestro entorno. TFG-Robotic Toolbox de Matlab Miguel A. Mato 617 CAPITULO II 2. ESTADO DEL ARTE 2.4. ENTORNOS DE SIMULACIÓN DE ROBOTS La simulación de un sistema o máquina, es el proceso de diseñar un modelo (generalmente matemático) de un sistema real o imaginario, y realizar experimentos con dicho modelo. Con los experimentos pretemos comprer su comportamiento y evaluar estrategias de control y operación, sin requerir previamente la construcción o experimentación con el sistema físico real. La simulación en robótica, conlleva innegables ventajas: Simulación de nuevos diseños, con diferentes arquitecturas, dimensiones, grados de libertad, materiales, etc. Evaluar el comportamiento con diferentes tipos de actuadores: motores eléctricos, hidráulicos, neumáticos, etc. Igualmente con todo tipo sensores. Evaluar el comportamiento con diferentes tecnologías de control. Simular las trayectorias del robot y sus tareas, a fin optimizarlas. Minimizar los daños ocasionados por posibles colisiones con su entorno de trabajo. Resulta obvio, por tanto, que todo ello conlleva un innegable ahorro económico e incremento de productividad, allí donde intervienen los robots manipuladores industriales. Al igual que en el apartado anterior, unas pocas compañías multinacionales dominan el sector del software de simulación de robots. Este software, puede dividirse en dos grandes grupos, los paquetes de simulación de propósito general y los dedicados específicamente a robots: En el primer caso, encontramos software de entorno científico matemático que cubre los campos de análisis matemático, físico, sistemas control, simulaciones de todo tipo (físicas, estadísticas, financieras, etc.) De este tipo son: Matlab-Simulink, Dymola-Modelica, 20-sim y Mathematica. En el segundo caso, más específicos para robots, y sobre todo multi-cuerpo, permiten robots móviles, multirobot, programación off-line, diseño de células robotizadas, análisis cinemático y dinámico, diseño mecánico, etc. Software de este tipo es: Gazebo, ODE, Bullet, OpenRave, Bler, ARGoS, Webot, y Robotran. Fuente: "Tools for dynamics simulation of robots" [12]. Existen en la red, además de las anteriores, numerosas aplicaciones o toolbox más o menos gratuitas (y en función de ello su calidad), que participan en el estudio de la robótica. Si nos centramos en robot manipuladores industriales, nos aparecen otros paquetes, que veremos en el siguiente apartado. TFG-Robotic Toolbox de Matlab Miguel A. Mato 718 CAPITULO II 2. ESTADO DEL ARTE ENTORNOS DE SIMULACIÓN DE ROBOTS MANIPULADORES En este apartado nos aparecen también dos grandes grupos de software, los desarrollados por firmas que provienen del CAD y los desarrollados por fabricantes de robots ) SOTFWARE DE COMPAÑIAS DE CAD Estas multinacionales del CAD, arrastran un excelente abanico de software de diseño e ingeniería, para la validación de prototipos mecánicos. Todos ellas trabajan, desde hace años, en modo paramétrico, de forma, que los datos que se van incorporando al diseño, comparten relaciones con el resto (restricciones), y cualquier modificación posterior afecta y modifica al resto. Todos permiten el estudio mecánico y el ensamblaje de sus componentes, así como la simulación de su movimiento. Software de este tipo, es: Inventor [13] De la Norteamericana Autodesk, propietaria también del pionero (desde los 90) y archiconocido AutoCAD. Se utiliza para diseñar sobre CAD 3D, sistemas mecánicos tridimensionales, realizando estudios mecánicos y ensamblajes de los diferentes componentes. Permite añadir a los modelos, parámetros de diseño reales: propiedades del material (densidad, elasticidad, resistencia), velocidad, fuerza, etc. Con esta información se diseñan el ensamblaje de sus componentes, definio la unión o la transmisión del movimiento). Incorpora módulos de análisis mecánico (análisis de tensiones y deformaciones, resistencia, etc.), análisis cinemático y dinámico de los componentes. Como conclusión, se puede decir que Inventor es una perfecta herramienta de diseño mecánico de prototipos, ya sean robot o máquinas, pero no específica para de control y simulación de robot manipuladores. RobotExpert Figura 3 [14] De la multinacional alemana Siemens PLM software, que engloba un extenso abanico de software para la industria y fabricación, incluyo el conocido CAD 3D, SolidEdge. Permite el diseño, la simulación y la optimización de procesos robóticos, incluyo la programación off-line. Es compatible con robots de una amplia gama de marcas (ABB, Fanuc, Kuka, etc.) Simula operaciones de manipulación, procesos de mecanizado, soldadura con arco y corte con láser, incluso con varios robots en procesos en células de fabricación. Utiliza un entorno gráfico 3D muy realista e intuitivo, permitio optimizar rutas de robots y mejorar el tiempo de los ciclos (diagramas de Gantt). TFG-Robotic Toolbox de Matlab Miguel A. Mato 819 CAPITULO II 2. ESTADO DEL ARTE RobotExpert es una excelente herramienta de trabajo profesional para el control y simulación de robot manipuladores en procesos de fabricación robotizados. Es tan bueno, cómo el software de los fabricantes de robot. RobotWorks Figura 4 [15] Figura 3. Simulación con RobotExpert de Siemens PLM Desarrollado por la multinacional francesa Dassault Systemes, que engloba también un extenso abanico de software, aunque este, para el diseño mecánico, análisis y simulación de productos. Es propietaria también de SolidWorks y CATIA, este último, pionero por los 90, del CAD 3D paramétrico. RobotWorks se basa en el entorno gráfico de SolidWorks, sobre el que trabaja y simula el control de robot manipuladores aunque admite todo tipo de prototipos móviles Con menos funcionalidad que RobotExpert, soporta una amplia gama de robots, y es capaz de procesar su software nativo, como el anterior. Su ventaja está en el software de diseño mecánico que le rodea (a la altura de Ansys), muy por encima de Inventor y RobotExpert. Figura 4. Simulación de robot Kuka con RobotWorks TFG-Robotic Toolbox de Matlab Miguel A. Mato 920 CAPITULO II 2. ESTADO DEL ARTE ) SOFTWARE DE FABRICANTES DE ROBOTS El software que desarrollan y suministran los propios fabricantes de robots, que por supuesto, sólo admiten su gama. Lo pueden suministrar en versiones profesionales (de alta funcionabilidad) o docentes (limitan el tamaño y funciones). Todos facilitan a través de sus webs, sus modelos en CAD 3D, con mayor o menor resolución: STL, 3DS, VRML1, DXF, IGES, GoogleSketchUp, SLDASM, etc. Digamos, que ellos mismos son usuarios de CAD 3D, para realizar el diseño y análisis de sus prototipos. Como en los anteriores paquetes, el entorno gráfico es un 3D muy realista, permiten la simulación off-line, de uno o varios robots, operaciones en estaciones de trabajo, optimizan trayectorias, planificación de tareas, control de tiempos de ciclo, detectan colisiones, etc. Pero además, con dicho software se accede a los parámetros operacionales del robot, en tiempo real, con el que podríamos, entre otras opciones, calibrar el robot como si tuviéramos una botonera (teach-pant). Las ventajas con los anteriores son evidentes, en cuanto al conocimiento de los componentes y parámetros físicos que afectan a sus robot (masas, velocidades, momentos de inercia, etc.) La diferencia entre los distintos paquetes de fabricantes, es que cada uno utiliza su propio lenguaje de programación de robots, más o menos abierto y compresible. Todos, son productos de alta calidad, ampliamente testados, no olvidemos que son la herramienta con la que se ponen en marcha y mantienen, los robot en los procesos de fabricación. Paquetes de este tipo, son: KUKA.Sim [16], de la alemana Kuka. RobotGuide º, de la japonesa FANUC. RobotStudio: de la suiza ABB. Por lo que nos afecta y por la similitud con el resto, analizaremos este último. RobotStudio Figura 5 [18]: Es un paquete comercial, que trabaja sobre PCs en Windows, de aspecto similar a cualquier producto gráfico de dicho entorno. Permite trabajar con toda la gama de robots y controladores industriales de ABB. Se necesitan unos principios básicos de robótica para iniciarse en él y sacarle partido. El entorno gráfico 3D, es muy realista, trabaja sobre CATIA, lo cual permite incorporar geometría propia de ese CAD, aunque además, posea una amplia biblioteca de componentes y herramientas, que podemos incorporar a nuestro entorno robótico: vallas, soportes, tools, etc. Permitio la creación automática de cualquier tipo de estación. TFG-Robotic Toolbox de Matlab Miguel A. Mato 1021 CAPITULO II 2. ESTADO DEL ARTE El simulador RobotStudio funciona sobre RobotWare (software tipo "driver" que se instala previamente), que contiene los programas, funciones, configuraciones y datos, necesarios para el control del sistema robótico virtual y real (robot, controlador y teach-pant). Posibilitando, la programación y simulación cinemática de las estaciones virtuales y reales. La configuración del robot, la realizar en base: Objetivos: puntos (posición, orientación y forma) a los tiene que acceder el TCP del robot Trayectorias: secuencia de instrucciones de movimiento hacia los objetivos. Sistemas de coordenadas: diferentes en función de las necesidades de la tarea. Configuración ejes del robot: Especifica la forma en la que el robot accede a un objetivo (brazo, codo o muñeca, arriba o abajo). Las instrucciones del robot se producen en lenguaje RAPID (1994), (Robotics Application Programming Interactive Dialogue) [19]. Es un lenguaje de programación estructurado de alto nivel, abierto, similar al Basic, Pascal o C. Es relativamente fácil de utilizar (con conocimientos previos de programación), que contiene las instrucciones que ejecuta el robot. RobotStudio incorpora un editor del código RAPID, de forma que podremos manipular, importar o exportar, las instrucciones que lleva implícitas. Al igual que el controlador real, el simulador posee un panel de control para activar/desactivar el sistema robótico, así como teach-pant virtual. Figura 5. Robot ABB IRB12O en RobotStudio TFG-Robotic Toolbox de Matlab Miguel A. Mato 1122 CAPITULO II 2. ESTADO DEL ARTE ENTORNOS DE SIMULACIÓN BASADOS EN MATLAB Matlab es un producto de la firma norteamericana MathWorks, líder en desarrollo de software de cálculo matemático para ingenieros y científicos, fundada en Es una potentísima herramienta matemática para el tratamiento de matrices, y por tanto ideal para el estudio de la robótica, ya que las matrices son la base para el estudio de los movimientos espaciales de los robots en 3D. Las aplicaciones que hemos encontrado en la red sobre Matlab, proceden de entornos académicos, trabajan sobre robot manipuladores industriales y todas ellas son gratuitas. RoKiSim Figura 6 [20] Desarrollado por la Escuela de Tecnología Superior de Montreal (Canadá). Es un entorno gráfico de simulación, muy potente e intuitivo, que facilita la compresión del comportamiento cinemático del robot (articulaciones, movimientos, singularidades, ejes de DH, sistemas de coordenadas, trayectorias, etc.) Lleva incorporado una amplia biblioteca de robots industriales, muy conocidos, de 6 GdL. Permite incorporar otros elementos desde su biblioteca. Como dato anecdótico permite la simulación del robot mediante una wii. Figura 6. Robot IRB120 en el entorno gráfico RokiSim ARTE Figura 7 [21] "A Robotic Toolbox for Education" es una aplicación desarrollada en la Universidad Miguel Hernández de Elche (Alicante), por Arturo Gil. Su departamento de robótica (ARVC) ofrece en la red [22], una excelente plataforma de estudio de la robótica, desde su principios teóricos, hasta su TFG-Robotic Toolbox de Matlab Miguel A. Mato 1223 CAPITULO II 2. ESTADO DEL ARTE implementación en Matlab, RobotStudio y Rapid. Aporta una magnifica documentación y una extensa colección de videos propios. Aunque ARTE, es mucho más que un entorno gráfico, el interfaz que suministra es similar al anterior, en cuanto a comprensión cinemática del robot y variedad de robots industriales que contiene. Contiene un editor capaz de procesar el código Rapid, de los robots ABB, para hacer mover el robot virtual. Incluso, incorpora un traductor de código Matlab a Rapid, todo un alarde de dominio de la interpretación entre diferentes lenguajes de programación de robots. Todo ello desarrollado sobre el entorno Matlab, desde el cual, ha desarrollando funciones, programas y ficheros, que desgranan el control y la simulación de robots manipuladores. HEMERO [23] Figura 7. Interfaz de ARTE Es una HErramienta de Matlab para el Estudio de Robots, creada por Aníbal Ollero y concebida como apoyo al aprizaje de diversos aspectos de la robótica. Proporciona gran cantidad de funciones y bloques para trabajar con la cinemática y dinámica del robot, desde Simulink, que es el entorno específico de simulación Matlab. TFG-Robotic Toolbox de Matlab Miguel A. Mato 1324 CAPITULO II 2. ESTADO DEL ARTE ROBOTIC TOOLBOX de MATLAB Llegados aquí, cabe preguntarnos que nos ha hecho elegir la biblioteca Robotic toolbox (r.9.8), de Corke, como herramienta de estudio de la robótica: Provee gran cantidad de funciones, datos y ficheros, con principios propios de la robótica, fácilmente accesibles y acompañada de una excelente información al respecto. Facilita la manipulación de datos en forma de vectores, transformaciones homogéneas y cuaternios (necesarios para representar la posición y orientación en el espacio). Se pueden aplicar a cualquier tipo robot sin más que conocer sus parámetros cinemáticos y dinámicos. Con dichos parámetros formaremos matrices que proporcionan una forma concisa de describir un robot y constituyen un medio fácil de comparar modelos y compartir información con otros usuarios. Posibilita la representación gráfica de la configuración del robot en un entorno 3D, sencillo y muy intuitivo. Permite la interacción con el objeto gráfico (robot), mediante una botonera (teach), mostrando sus múltiples posiciones y describio diversas trayectorias. El toolbox está en continuo proceso de mejora. Su autor, Peter Corke, lo actualiza permanentemente, a menudo, en base a las sugerencias que recibe de otros investigadores o usuarios a través de su web [2], de la que se puede obtener información de primera mano. Tanto Matlab, como Robotic toolbox, son paquetes ampliamente conocidos en el mundo académico y científico. Matlab, además, incorpora otras librerías capaces de mejorar y ampliar, otros aspectos del estudio (dinámica, sistema de control, gráficos 3D, etc.), como Simulink [3], Simmechanic [5], V_Realm Builer [29]. TFG-Robotic Toolbox de Matlab Miguel A. Mato 1425 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT CAPÍTULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT 3.1. DESCRIPCIÓN DEL ROBOT IRB 120 de ABB El robot IRB 120 es el más pequeño de la multinacional suiza ABB. Es un robot manipulador, articulado, antropomórfico tipo serie, con 6 ejes rotacionales, de tamaño y peso reducido (25 Kg), que ofrece una gran amplitud y capacidad de carga (580 mm y 3 Kg) y que además cuenta con todas las funciones de los grandes robots de ABB. La información técnica del producto se ha obtenido de la web de ABB [24]. La suavidad y la precisión de sus movimientos se logran gracias a la utilización del nuevo y potente controlador IRC 5 Compact, que contiene el hardware y el software necesario para su control y comunicación con el conjunto. La Figura 8, a la izquierda muestra las dimensiones del robot en su posición de reposo, y la derecha una imagen del conjunto robótico: robot, controlador y botonera (teach-pant). Admite diversas posibilidades de montaje: suelo, plataforma, pared e incluso inverso. Si a esta flexibilidad tan enorme, se une la compacidad, (muñeca pequeña y cableado interior), el robot resulta perfecto para aplicaciones en las que el espacio disponible sea un condicionante. También su hermeticidad y su fácil limpieza, lo hacen también apto para salas limpias. Consecuencia de todo lo anterior, este robot es ideal para la docencia y aprizaje. Recordemos que aparecía en la comparativa de robots educaciones del punto 2.3. [11]. Figura 8. Dimensiones del robot y sistema robótico irb120 TFG-Robotic Toolbox de Matlab Miguel A. Mato 1526 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT 3.2. MODELADO Y SIMULACION DEL ROBOT EN MATLAB Modelar numéricamente el robot requiere comprer todas las relaciones geométricas, físicas y matemáticas, que describen su comportamiento en el espacio. Siguio la excepcional documentación del libro "Fundamentos de Robótica" de Barrientos [25], definiremos el modelo numérico del robot, de forma que contenga todos sus parámetros cinemáticos y dinámicos CINEMÁTICA DEL ROBOT La cinemática del robot estudia las relaciones espaciales de sus movimientos sin considerar las fuerzas que lo causan. Un robot manipulador puede considerarse una cadena cinemática abierta, formada por objetos rígidos o eslabones, unidos entre sí mediante articulaciones o ejes, que permiten alcanzar a su extremo (TCP), una determinada posición y orientación. El problema cinemático del robot consiste en determinar las relaciones entre la posición y orientación del extremo del robot -TCP- (matriz T), y las variables articulares que adopta cada articulación (vector Q). Si conocemos estas últimas, determinar el TCP, es conocido como problema cinemático directo y lo contrario, se denomina problema cinemático inverso (Figura 9). Cinemática Directa Función: fkine Coordenadas articulares Q= q1, q2, q3, q4, q5, q6 Parámetros cinemáticos del robot Posición y orientación del TCP Matriz T Cinemática Inversa Función: ikine Figura 9. Esquema obtención parámetros cinemáticos del robot Ambas soluciones pasan por la utilización del algebra matricial a los objetos matemáticos del espacio en 3D, (puntos, vectores y rotaciones), en coordenadas homogéneas. Con la utilización de matrices de transformación homogéneas de 4x4 ( que llamaremos matriz T), podemos pasar los objetos matemáticos de un sistema de referencia a otro, aplicando una traslación y una rotación. TFG-Robotic Toolbox de Matlab Miguel A. Mato 1627 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT La matriz resultante tiene el aspecto de la Figura 10.Donde n, s y a, son los tres vectores unitarios que definen la rotación del segundo sistema de referencia respecto del primero, p es un vector de traslación, f representa los valores de la perspectiva (en nuestro caso siempre cero) y finalmente el escalado, es un número de factor de escala, en nuestro caso, siempre es 1. Figura 10. Forma de la matriz homogénea Una matriz de transformación homogénea, de la forma i-1 A i, representa el paso de coordenadas desde el sistema i-1 al sistema i. De forma, que un punto P 1, en coordenadas del sistema 1, trá la siguiente expresión en coordenadas del sistema 0: P 0 = 0 A 1 * P 1 Aplicado al robot, y establecio el sistema de referencia fijo, situado en la base del robot, se describe la localización de cada uno de los eslabones con respecto a dicho sistema de referencia, con una matriz de la forma i-1 A i. Resultando que la matriz de transformación homogénea que define el paso de las coordenadas de la base del robot al extremo del mismo, sería: T= 0 A 6 = 0 A1 * 1 A 2 * 2 A 3 *3 A 4 * 4 A 5 * 5 A 6 Donde cada matriz i-1 A i representa dos articulaciones consecutivas unidas por un eslabón. Permitio definir el cambio entre sistemas de referencia de i-1 y al sistema i. Una recurso ampliamente utilizado en robótica, para definir la matriz de Transformación Homogénea del robot, es el algoritmo de Denavit-Hartenverg [27] ALGORITMO DE DENAVIT-HARTENBERG El algoritmo de Denavit-Hartenberg (D-H), es un recurso para obtener de manera sistemática la matriz de transformación homogénea T, que define la geometría cinemática del robot. Los 4 valores a obtener depen únicamente de las características geométricas de cada eslabón y de la articulación que lo une con el anterior. Para cada eslabón i, estos serían (Figura 11): θi: ángulo de la rotación, en torno al eje Zi-1, del eje Xi, medido en un plano perpicular al eje Zi-1. Dicho ángulo es positivo, aplicando la regla de la mano derecha (rmd). TFG-Robotic Toolbox de Matlab Miguel A. Mato 1728 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT di: distancia a lo largo del eje Z i-1, desde el origen del sistema de coordenadas i-1, hasta la intersección con el eje Xi. ai: distancia a lo largo del eje Xi, que va desde la intersección con el Zi-1, hasta el origen del sistema i. El signo lo define el sentido de Xi. αi: ángulo de rotación, en torno al eje Xi, del eje Z i, medido en un plano perpicular al eje Xi. El sentido positivo sale al aplicar la rmd. Figura 11. Valores de D-H Típicamente, uno de dichos parámetros lo constituirá la variable articular que conecta ambos eslabones. La matriz resultante para cada eslabón se obtiene al sustituir los 4 valores en la matriz de la Figura 12. Figura 12. Matriz de transformación de cada eslabón La Figura 13 muestra los eslabones y los ejes del robot numerados, según requiere el algoritmo D-H, en un gráfico CAD 3D (a la izquierda), y en el de Matlab, más conceptual a la derecha. Figura 13. Estructura del robot 3D y conceptual en un gráfico de Matlab TFG-Robotic Toolbox de Matlab Miguel A. Mato 1829 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT La Figura 14 muestra la posición de los ejes y las dimensiones precisas para obtener la Tabla 1, que recoge los parámetros D-H obtenidos. En la última columna figuran los valores máximos de la variable articular. Tabla 1. Tabla de valores Denavit-Hartenberg del IRB 120 El proceso seguido para conseguir la Figura 14 y la Tabla 1, partio de la geometria del robot, ha sido el siguiente: Desde su posición inicial, se van colocando los ejes desde la base y aritulación tras articulación, se enumeran los eslabores, asignando el 0 a la base, y n-1 para el último, sio n el número de GdL o articulaciones. Figura 14. Descripción de ejes y parámetros D-H en el Robot TFG-Robotic Toolbox de Matlab Miguel A. Mato 1930 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT El sistema de coordenadas en la base, se establece con el eje Zo, localizado a lo largo del eje del movimiento de la articulación 1 y apuntando hacia fuera del hombro del robot. El sistema de referencia, de cada eslabón, se coloca al final del mismo, en el extremo de la articulación a la cual esta concectado. El eje Z debe quedar alineado con el eje. El angulo o desplazamiento de cada eslabón, se mide tomando como base el sistema de referencia del eslabón anterior. Tenio, además, en cuenta que los ejes: Z: son ejes de coordenadas se asignan a los ejes de las articulaciones. X: se asignan a las normales comunes A i y A i+1. Con los valores de la Tabla 1 y la función SerialLink del toolbox, iniciamos el proceso de modelado del robot en nuestra función mdl_irb120. En ella, y en el transcurso del estudio, se han ido añadio el resto de parámetros físicos que definen su dinámica, quedando abierta a posibles modificaciones y variaciones del robot. Podríamos también, si quisiéramos, modelar un nuevo robot, de similares características a este. Aprovechando dicha funcionalidad, se ha introducido en el interfaz, diversas configuraciones del robot: Con y sin base-soporte: suplemento sobre el que se apoya el robot. Con y sin herramienta: puntero de 0,1 m, colocado en el último eslabón. Muñeca esférica o no, que hacen al robot esférico. El resultado de estos datos iniciales del robot, se puede ver, en una ventana opcional, del interfaz gráfico, tal y como muestra la Figura 15. También, y como opción, se pueden ver los ejes del robot definidos con el algoritmo de D-H (Figura 16). Figura 15. Parámetros iniciales y básicos del robot irb120 TFG-Robotic Toolbox de Matlab Miguel A. Mato 2031 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Figura 16. Ejes del robot D-H desde la aplicación desarrollada Podremos ver también, las matrices de Transformación Homogéneas, del robot, y las de cada eslabón, desde una ventana opcional (Figura 17). Figura 17. Matrices de transformación homogéneas del robot TFG-Robotic Toolbox de Matlab Miguel A. Mato 2132 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT RESOLUCIÓN DEL PROBLEMA CINEMÁTICO Cómo habíamos dicho, el problema cinemático del robot consiste en determinar las relaciones entre la posición y orientación del extremo del robot -TCP- (matriz T), y las variables articulares que adopta cada articulación (vector Q), y para ello habíamos ilustrado la Figura 9. La cinemática directa, no presenta ningún problema, conocido el valor de las 6 variables articulares, para cada instante de tiempo Q(t)= q1, q2, q3, q4, q5, q6; conoceremos la posición y orientación del TCP (T), con la función fkine del toolbox. Contrariamente a la sencillez de la anterior, la cinemática inversa, presenta una considerable dificultad, ya que para cada posición y orientación del TCP en el espacio, aparecen para este robot de 6 GdL, múltiples configuraciones posibles, y no todas alcanzables. Para resolver este problema, nuestro toolbox tiene dos funciones ikine e ikine6s: La primera, ikine, es una resolución matemática por iteración, computacionalmente lenta, no siempre muy precisa en la solución, y que además, converge a una única solución depio del punto partida. Dicho de otra forma, funciona correctamente cuando el punto desde el que se parte está cercano al que tiene que ir, y este, lejano a puntos singulares (puntos que no puede acceder el robot). La segunda función, ikine6s, de resolución geométrica, no funciona con nuestro robot. Con el robot de referencia del toolbox (Puma560) funciona correctamente, ya que su muñeca es esférica, y en nuestro caso, no lo es, es decir, el mecanismo de posicionamiento de la muñeca, no converge en el mismo punto. Para salvar el anterior inconveniente desarrollamos una función basada en optimización local, que aunque efectiva en encontrar el vector Q, resultaba computacionalmente lenta. Función ikine_nueva. Llegados a este punto, y con el objetivo de ganar velocidad en la aplicación gráfica, recurrimos a una librería ajena a la nuestra y ya mencionada, ARTE [21], para adoptar su código en la resolución de la cinemática inversa. La solución, en este caso, se consigue por métodos geométricos, descomponio la cadena cinemática del robot en varios planos geométricos para luego resolver el sub-problema geométrico asociado a cada plano mediante relaciones trigonométricas. De las 8 soluciones que aporta, para cada posición definida por una matriz T, no todas son válidas, ya que ciertos valores sobrepasan los límites de la articulación. A la función la hemos dado el nombre ikine_irb120. Cualquiera de las tres funciones se puede elegir como algoritmo de resolución de la cinemática inversa en el interfaz. TFG-Robotic Toolbox de Matlab Miguel A. Mato 2233 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT DINÁMICA DEL ROBOT La dinámica estudia el movimiento de los cuerpos debido a fuerzas externas e internas de los mismos. El modelo dinámico relaciona matemáticamente la localización del robot a través de la velocidad y aceleración, mediante las fuerzas y pares aplicados por los actuadores en las articulaciones (Figura 18). La dinámica directa encuentra la respuesta articular (posición, velocidades y aceleración) de cada eslabón del robot, en función de los pares y/o fuerzas que intervienen. La dinámica inversa encuentra los pares y/o fuerzas de los actuadores requeridos para generar una trayectoria deseada del sistema robótico. La resolución de ambas es un problema muy complejo, estudiado desde 1965, por no pocos investigadores, y con diferentes enfoques y algoritmos. Dinámica Directa Función: sl_fforward Coord. Articulares, vel., y aceleraciones Q= q1, q2, q3, q4, q5, q6 Q' (velocidades) Q'' (aceleraciones) Parámetros dinámicos Bloques: Simulink Fuerzas y Pares Fuerzas: 1,, 6 Pares: 1,, 6 Dinámica Inversa Función: sl_ctorque Siguio la documentación de Corke, al respecto [28], la ecuación que rige el comportamiento dinámico del robot (ecuación de espacio de estados) es: Donde: q q C q, q q F( q G q M ) : es la matriz o tensor de fuerzas asociado a las coordenadas articulares. M: es la matriz o tensor de inercia del robot. q: es el vector de las coordenadas articulares del robot. C: Matriz que incluye las fuerza de Coriolis y centrífugas. dq q, es el vector de velocidades de las articulaciones. dt 2 d q q, es el vector de aceleraciones de las articulaciones. dt 2 Figura 18. Esquema obtención parámetros dinámicos del robot TFG-Robotic Toolbox de Matlab Miguel A. Mato 2334 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT F: describe la fricción viscosa y de Coulomb de las articulaciones. G: es el vector de fuerzas gravitacionales. Llegados a este punto, el estudio requiere incorporar a nuestro modelo numérico, los datos dinámicos del robot real: masas, centros de gravedad, momentos de inercia, etc. Para obtener estos datos de forma fiable, hay que recurrir al fabricante ABB, y este, no los suministra por motivos de confidencialidad del producto. Conseguirlos de forma teórica o experimental sobre el robot real, resulta imposible para el alcance de nuestro proyecto. Dichos datos dinámicos, se podrían conseguir, en la red, para modelos de referencia tipo Puma560, aún así, muchos son una aproximación (así lo considera también el propio Corke). Para solventar este problema se ha recurrido a un modelo CAD 3D, de bastante calidad y resolución, que el propio fabricante ABB suministra [26], y después, desde el paquete SolidWorks, con un comando del mismo, obtener dichos parámetros dinámicos para cada eslabón del robot. La Figura 19 muestra la obtención del cuarto eslabón del robot. Dicho proceso conlleva una mayúscula y errónea simplificación, que es la considerar los eslabones del CAD como un sólido de la misma densidad -aluminio (2.000 kg/m 3 )-, sio en realidad una carcasa metálica, más o menos hueca, que puede incorporar: bastidor, motores, reductoras, poleas, correas, cableado, etc. Resultando sus centros de gravedad y momentos de inercia, con toda seguridad bien distintos de los obtenidos. En la Figura 20 se muestra, a la izquierda, la sección del segundo eslabón del robot en el modelo CAD, y a la derecha, el mismo eslabón, pero del robot real, apreciándose la notable diferencia entre ambos. Figura 19. Extracción parámetros dinámicos del 4º eslabón en SolidWorks TFG-Robotic Toolbox de Matlab Miguel A. Mato 2435 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Figura 20. Segundo eslabón del robot, CAD 3D y robot real. A pesar de dicha contrariedad, los datos obtenidos son perfectamente válidos, para nuestro estudio, ya que estos, a medida que se consigan más fiables, se pueden introducir en nuestra función del modelado del robot (mdl_irb120). Con los datos obtenidos de cada eslabón, y los que teníamos del anterior apartado (D-H), definimos completamente todos los parámetros del robot (Tabla 2). Todos ellos, están contenidos en nuestra función mdl_irb120, que se pueden ver como opción en nuestro interfaz Figura 21. Figura 21. Todos los parámetros del robot en el interfaz TFG-Robotic Toolbox de Matlab Miguel A. Mato 2536 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT La Tabla 2 contiene todos los valores de la matriz de 20 filas, que define completamente un robot según el Robotic Toolbox. A esta matriz la hemos añadidos 2 filas que contienen los valores límites de las articulaciones. Tabla 2. Parámetros D-H y dinámicos del robot TFG-Robotic Toolbox de Matlab Miguel A. Mato 2637 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT MATRIZ JACOBIANA E INDICE DE MANIPULABILIDAD El algoritmo de control del robot puede establecer qué velocidad y aceleración debe fijar a cada articulación, de modo que se consiga que el extremo desarrolle una trayectoria temporal concreta. La relación entre ambos vectores se obtiene través de la denominada matriz Jacobiana. Esta matriz es sumamente importante en el análisis y control del movimiento de un robot ya que, entre otras cualidades, permite conocer el área de trabajo, destreza y puntos singulares del robot. La información acerca de dicho comportamiento la podremos conocer mediante el valor del índice comportamiento cinemático (o índice de manipulabilidad), de la función SerialLink.maniplty, del toolbox, con sus dos algoritmos de resolución, Yoshikawa y Asada. El interfaz informa de su valor, para cada posición alcanzada, y para el conjunto de puntos que definen una trayectoria. La importancia de todo lo anterior, aunque sabida, ABB no la pudo desarrollar comercialmente en sus robots hasta el año 2005, en el que lanzó varias funciones basadas en el estudio de su dinámica, a efectos de mejorar su productividad [10]: QuickMove, en la que se determina la máxima aceleración en cualquier movimiento y se utiliza al menos en un eje para alcanzar la posición final en el menor tiempo posible. Así se reduce al mínimo la duración del ciclo, que no depe únicamente de las velocidades de los ejes. TrueMove, es la desviación mínima respecto a la trayectoria programada. Esta función garantiza que la ruta de movimiento seguida es la misma con indepencia de la velocidad y ahorra la necesidad de ajustar la trayectoria cuando los parámetros de velocidad se ajustan en línea. FlexFinishing, (control de fuerza de mecanización), muy útil para operaciones delicadas de mecanizado, en especial para rectificado, desbarbado y pulido de piezas de fundición MODELADO GRÁFICO DEL ROBOT CAD 3D EN MATLAB La representación gráfica de los robots con el Toolbox de Corke es una representación sencilla y conceptual, perfectamente válida para las pretensiones del autor y para cualquiera que se acerque al estudio de los robots, pero un poco pobre comparada con los paquetes comerciales de simulación que ya hemos citado. Si buscamos una representación gráfica más realista, tenemos que acudir a librerías o funciones del entorno Matlab. Siguio esta premisa, de la web de Corke, obtuvimos la información necesaria para el tratamiento gráfico del robot: mediante la función patch y el formato gráfico STL para los eslabones: Un patch es un objeto gráfico de Matlab compuesto por uno o más polígonos (con vértices, caras y aristas), que pueden estar o no conectados. Es utilizada para el modelado de sólidos 3D en los axis (ventana gráfica de Matlab). TFG-Robotic Toolbox de Matlab Miguel A. Mato 2738 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Los archivos STL (acrónimo de "STereo Lithography") es un formato para CAD 3D (de reciente aparición, 2010) muy utilizados en la actualidad para impresión 3D. Define la geometría de los sólidos en forma de triángulos (con vértices, aristas y caras). Los eslabones los obtenemos desde el paquete SolidWorks, con el modelo del robot que ya teníamos (Figura 22-inferior izqda.-) descargado de ABB [26], y exportándoles al formato STL -ASCII- (Figura 22-superior izqda.-). Tremos que especificar la posición del origen de los ejes de coordenadas de los eslabones (que serán los de D-H), y además la resolución de la conversión gráfica, en nuestro caso baja, para no ralentizar la aplicación. La función desarrollada, plot_irb120, contiene todo el código necesario para la representación del robot y sus complementos, en un axis, con el modelo numérico que teníamos desarrollado en la función mdl_irb120. Contiene además, todas las opciones de representación: transparencia, ejes, con o sin soporte, con o sin puntero, etc. Los resultados, en términos visuales, aún en baja resolución, con respecto al modelo del toolbox, son espectaculares, como se puede ver en el acoplamiento de ambos de la Figura 23. En términos de tiempo de respuesta computacional, no resulta nada lento, sabedores que todo aquello que represente trabajar con sólidos 3D, requiere mucho código y además mucha computación. Figura 22. Modelo CAD SolidWorks Figura 23. Robot 3D CAD con robot conceptual TFG-Robotic Toolbox de Matlab Miguel A. Mato 2839 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT FUNCIONES Y VARIABLES UTILIZADAS EN LA APLICACIÓN Describimos a continuación todas aquellas funciones y variables, propias o del toolbox, que intervienen en la aplicación: ) FUNCIONES DE ROBOTIC TOOLBOX (r 9.8) Relacionadas con la definición física del robot: revolute seriallink.base.tool.n config mdh.char Definición específica para cada eslabón (link) de un robot del tipo de revolución. Contiene todos los parámetros geométricos y físicos de cada eslabón descritos en la Tabla 2. Para el primer eslabón: L(1) = Revolute('d', 0.29, 'a', 0, 'alpha', - pi/2,.. 'offset', 0,... % Desfase articulación 'I', [0.0142, -1.29e-5, -2.31e-5; -1.29e-5, , 1.93e-5;-2.31e-5, 1.93e-5, ], 'r', [0, 0, 0.238],...%cdg 'm', 8.617,... % masa 'Jm', 200e-6,... % 'G', ,... 'B', 1.48e-3,... 'Tc', [ ],... 'qlim', [ ]*rad ); % límites de la articulación Define y contiene todos los parámetros del robot, en forma de estructura de Matlab. irb120, es la estructura que contiene la definición completa del robot numérico. Podremos acceder a sus valores como si fuera una estructura anidada. irb120=seriallink(l,'name','irb120','manufacturer','abb', 'comment','mamato'); Añade una base al robot. En coordenadas homogéneas, un soporte de base de 0,25 m irb120.base=transl(0,0,0.25); Añade una herramienta al TCP. Añadimos un puntero de 0,1 m. irb120.tool=transl(0,0,0.1); Número de eslabones del robot irb120.n; % devuelve el número de eslabones del robot Tipo de articulación. 'RRRRRR' son todas de revolución. Tipo de parámetros D-H. (0=DH, 1=MDH) Presenta todos los parámetros cinemáticos del robot. dh=irb120.char; % string con todos los param. Cinemat.1 TFG-Robotic Toolbox de Matlab Miguel A. Mato 2940 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Para la definición gráfica del robot plot teach trplot Representación gráfica del robot (conceptual). en un axis de Matlab. Contiene una extensa lista de parámetros que modifican el aspecto del robot. irb120.plot(q);% Representa las distintas posiciones de Q Muestra una botonera (tipo slider) que interactúa con el robot del axis. El robot aparece en la posición q1, y valores en grados. irb120.teach (q1, 'degrees'); % Botonera con robot en q1 Dibuja marco de ejes de coordenadas (posición y orientación) trplot(t, 'frame', 'P2', 'length',0.15,'width', 1, 'rgb', 'thick', 1); %punto con posición y orientación Para la cinemática del robot fkine ikine ikine6s jtraj ctraj jacob0 jacobn isspherical ishomog maniplty Cinemática directa. Con las coordenadas articulares (Q), obtengo las coordenadas (posición y orientación) del TCP, en homog. (T). irb120.fkine(q1); % Obtengo todos el valor de t1 Cinemática inversa usando iteración. Con T, obtengo Q. Utiliza parámetros para mejorar la búsqueda. irb120.ikine(t1); % Obtengo el valor de q1 Cinemática inversa geométrica para robot de 6 GDL con muñeca esférica. irb120.ikine(t); % Obtengo os los valores Q Trazado de trayectoria en coordenadas articulares Q_tray = jtraj(q1,q2,20); %Trayectoria en 20 partes Trazado de trayectoria recta en coordenadas homogéneas t = ctraj (t1, t2, 5); % Trayectoria recta entre t1 y t2, en 5 partes Matriz Jacobiana con referencia a la base Matriz Jacobiana con referencia a TCP Mostrar si el robot tiene la muñeca esférica Mostrar si el punto es un punto en coord. homogéneas Índice de manipulabilidad en q o Q, permite dos opciones. valor=irb120.maniplty(q1,metodo); TFG-Robotic Toolbox de Matlab Miguel A. Mato 3041 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Para la dinámica del robot accel coriolis dyn fdyn friction gravload inertia Aceleración de la articulación Fuerza de Coriolis en una articulación Muestra los valores dinámicos del robot, eslabón por eslabón irb120.dyn Velocidad de la articulación Fuerza de fricción Fuerza de gravedad en la articulación Matriz de inercia en la articulación nofriction Pone los parámetros de fricción a cero- rne payload perturb Fuerza/Par en la articulación Añade una carga al final del TCP Añade una perturbación aleatoria a los parámetros dinámicos del eslabón ) VARIABLES UTILIZADAS (NOMENCLATURA Y RANGO) dh 6 x 5 dyn 6 x 20 q 1 x 6 Q m x 6 Matriz cinemática (Denavit-Hartenberg). 6 es número Link Tabla 1 Matriz cinemática y dinámica. Error! No se encuentra el rigen de la referencia. Vector de coordenadas angulares, vector de 6 valores. q0=[0,0,0,0,0,0]; q0=zeros(1,6); % q0 (home) q1=[ ]; % Posición q1 Trayectoria de coordenadas angulares de m-puntos. Q=[0,0,0,0,0,0; 0.5,0,0,0,0,1.5]; %Posición q0 y q1 qd 1 x 6 Vector de velocidades angulares Qd m x 6 Trayectoria de velocidades angulares de m-puntos qdd 1 x 6 Vector de aceleraciones angulares Qdd m x 6 Trayectoria de aceleraciones angulares de m-puntos t 4 x 4 Representación de un punto en matriz homogénea. T 4 x4xm Trayectoria de puntos en coordenadas homogénea de m-puntos TFG-Robotic Toolbox de Matlab Miguel A. Mato 3142 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT ) FUNCIONES Y ARCHIVOS DESARROLLADOS Funciones de modelado y simulación del robot: mdl_irb120 plot_irb120 espacio_trabajo_lin ikine_irb120(arte) dh solve_spherical_wrist ikine_nuevo save_trayec graf_puntos OPCitem OPCjoint Joint2OPC Contiene la definición de todos los parámetros del robot, cinemáticos y dinámicos. Define los eslabones (link) con la función revolute y compone el robot con la función seriallink. Contiene además todas las configuraciones posibles del robot (conceptual, CAD 3D): con y sin soporte-base, con y sin tool, muñeca esférica o no. Dibuja el robot CAD 3D en el axis del interfaz. Los valores de los eslabones los recoge de los archivos gráficos STL (ASCII). Link1.STL, etc. Dibuja el espacio de trabajo del robot mantenio las tres primeras articulaciones fijas Figura 35 Cinemática inversa por método geométrico de ARTE. Se apoya en las funciones: dh: devuelve la matriz de transformación de los eslabones: A=dh(theta, d, a, alpha) solve_spherical_wrist: devuelve las últimas 3 variables articulares del robot. q = solve_spherical_wrist(robot, q, T, wrist, method) Cinemática inversa por método de optimización local Graba las coordenadas articulares de una trayectoria fid=save_trayec(datos) Gráfica de la desviación entre los puntos de la trayectoria y los alcanzados realmente por el robot. graf_puntos(t1,t2,t) Son funciones para la sincronización del robot virtual con el real. Conecta y localiza las variables de ABB IRC Son llamadas desde la función plot_irb120 Conecta con la aplicación, y coge las variables articulares del robot virtual Normaliza las variables articulares, TFG-Robotic Toolbox de Matlab Miguel A. Mato 3243 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Archivos de datos Link...STL datos.txt datos_dyn.txt Archivo gráfico tipo.stl (ASCII). Contiene la definición gráfica del elemento: eslabón, base, soporte, puntero. Archivo en formato.txt Contiene los valores de una trayectoria de m-puntos en variables articulares: (m-puntos x 6) Archivo en formato.txt, Contiene los valores D-H y dinámicos de cada eslabón del robot. Se puede ver en una ventana como opción. Funciones del GUIDE (interfaz gráfico) guide_irb120.fig guide_irb120.m Contiene todos los elementos gráficos del interfaz tal y como se muestra en pantalla: rótulos, botones, slider, ventanas, axis, etc. Es la función principal del interfaz gráfico de Matlab. Desde ella accedemos al resto de funciones de la aplicación. Es la función más extensa y compleja de las desarrollada. Es complementaria con la función guide_irb120.fig Utiliza la estructura handles, que contiene todo lo relativo a la aplicación: variables, opciones, datos, etc. Permite estructuras aninadas. Puedo acceder desde cualquier función o subfunción, pasándole esta instrucción. handles.irb120;% Contiene la definición del robot) Funciones para trabajar con estructuras: fieldnames (): para saber los campos de la estructura isfield (ST,s): saber si la cadena s es un campo de una estructura ST isstruct (ST): saber si ST es o no una estructura rmfield (ST,s): elimina el campo s de la estructura ST getfield (ST,s): devuelve el valor del campo especificado. Si la estructura es un array hay que pasarle los índices como cell array (entre llaves {}) como segundo argumento setfield(st,s,v): da el valor v al campo s de la estructura ST. Si la estructura es un array, hay que pasarle los índices como cell array (entre llaves {}) como segundo argumento. TFG-Robotic Toolbox de Matlab Miguel A. Mato 3344 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Subfunciones de guide_irb120.m guide_irb120_67 _OpeningFcn boton_... Función de inicio del guide, contiene todos los parámetros iniciales de la aplicación, antes de la presentación en pantalla. Son botones de las múltiples opciones del interfaz: boton_max_vel_callback demo_... Exit_Callback grabar_.. Home_Callback panel_ pa1_.. ph1_.. RESET_Callback robot_ save_.. slider_.. trazar_... text_... update web_... Funciones de demostración. Por ejemplo: demo_trazar_multipuntos_callback Sale de la aplicación y de Matlab. Función de almacenar datos, sin grabarles en fichero grabar_homogeneas_callback Pone el robot a la posición q0 Son los paneles de múltiple selección de opciones Sucesivos puntos en coordenadas articulares, pa1, pa2, Puntos en coordenadas homogéneas: ph1, ph2,.. Resetea todos las funciones y objetos en el axis y pone en HOME el robot. Diferentes configuraciones del robot, desde la pestaña inicio Función para salvar datos, en coordenadas articulares u homogéneas Funciones de control de los sliders. Traza la trayectoria con cinemática directa o inversa Registro de los valores que se muestran en las ventanas Actualiza constantemente la posición del robot en el axis: cualquier movimientos de los slider, entrada por teclado, opciones, etc. Funciones de la pestaña ayuda que llevan a hipervínculos de la red TFG-Robotic Toolbox de Matlab Miguel A. Mato 3445 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT VARIABLES de la estructura handles del guide_irb120.m handles.q0 Valore de la posición inicial de robot: zeros (1,6) handles.q handles.q handles.t handles.t handles.rpy handles.mnpq handles.mnpt handles.velocidad handles.met_mnpy handles.alg_cin_inv handles.mov_eje handles.puntos_grabados handles.ver_puntos handles.ver_transp handles.ver_ejes handles.time_opc Array de una posición del robot de variables articulares Matriz de una trayectoria en variables articulares Punto del TCP en coordenadas homogéneas Trayectoria del TCP en coordenadas homogéneas Ángulos del TCP Índice de manipulabidad de una trayectoria en coordenadas Índice de manipulabidad de una trayectoria en coordenadas homogéneas Escalar de la velocidad. Es parámetro nuestro Método del índice de manipulabidad Selección algoritmo resolución cinemática inversa Selección eje, sobre el cual se va a mover el TCP Guarda los puntos grabados (temporalmente) Control de la variable ver puntos en el axis Control de la variable ver el robot CAD3D alámbrico Control de la variable ver los ejes del robot Tiempo de sincronización OPC TFG-Robotic Toolbox de Matlab Miguel A. Mato 3546 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT 3.3. MODELADO SIMULINK CON SIMMECHANIC Una vez definidos todos los parámetros físicos del robot, el siguiente paso de la simulación es colocar los actuadores y elementos de fuerza que generarán el movimiento del robot, así como los sensores que medirán el valor de sus desplazamientos, velocidades, aceleraciones o esfuerzos. Una vez definidos estos, visualizamos el robot virtual, con un comportamiento dinámico semejante al robot real. Para hacer esto, utilizaremos una herramienta específica del entorno Matlab, que es SimMechanic, basada en el interfaz gráfico Simulink. Permite modelar y simular sistemas mecánicos de forma fácil y sin necesidad de complejas ecuaciones y modelos matemáticos. Dicho software es capaz de simular un amplio rango de mecanismos 3D de lazo abierto y cerrado, que contengan juntas esféricas, de revolución, prismáticas, cilíndricas, universales, etc. En el diagrama de bloques de la Figura 24 se muestra el proceso de obtención del modelo Simulink mediante SimMechanic y SolidWorks. La información necesaria para realizar estas operaciones la encontramos en el texto [30], en la web de SimMechanic [5] y de los estudios [31] y [32]. De forma resumida, la instalación del software Simscape/SimMechanic en el entorno de Simulink crea en SolidWorks un comando en la pestaña de complementos Figura 25, que permite exportar el modelo CAD 3D, al formato mdl de Simulink, el cual contiene la definición física y gráfica, del robot con sus típicos bloques (Figura 26). Modelo CAD 3D Fichero:Irb120.SLDASM SimMechanics SolidWorks Función: SimMechanics Links Modelo bloques Irb120.MDL Modelo físico Irb120.XML Modelo gráfico Eslabones.STL MATLAB SIMULINK Figura 24. Esquema para obtener el modelo con SimMechanic TFG-Robotic Toolbox de Matlab Miguel A. Mato 3647 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Figura 25. Exportar robot 3D en SolidWorks a Simulink mediante SimMechanic El proceso genera los siguientes archivos: irb120_simulink.mdl: contiene el modelo del robot tipo bloques simulink. irb120.xml: archivo tipo xml versión "1.0" encoding="utf-8". Contiene todos los parámetros físicos del robot, se incorporan y actualizan desde el archivo mdl. *.STL: estos archivos contienen la información gráfica de cada uno de los componentes del robot, pero esta vez en formato binario. Figura 26. Modelo del robot Simulink y pestaña de parámetros del eslabón 1 TFG-Robotic Toolbox de Matlab Miguel A. Mato 3748 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Al modelo básico, así obtenido, se le van añadio los bloques propios de SimMechanic (Figura 29): Valores iniciales y límites de la articulación (IC). Actuadores y sensores sobre las articulaciones. Señales de entrada y salida. Figura 27. Modelo simulink del robot irb120 completo Consiguio finalmente el modelo de la Figura 27, que al simularlo, se consiguen los efectos dinámicos deseados (Figura 28). Este modelo (abierto) es susceptible de incorporar multitud de elementos: motores, reductores, juntas, etc. Figura 29. Librería SimMechanic Figura 28. Simulación con SimMechanic TFG-Robotic Toolbox de Matlab Miguel A. Mato 3849 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT La Figura 30 contiene, detalladamente, parte de la definición del robot: Los bloques del entorno del robot: Env. Parámetros físicos de la base: Link_base. Parámetros físicos del primer eslabón: Link1. Definición de la primera articulación: Articulación1. En ella se sitúan como ocurre en el robot real, los elementos de control y transmisión del movimiento: Actuador (Joint Actuator): dota de movimiento la articulación (velocidad o fuerza). Tratamiento de la señal de entrada: Rotación 1 Señal de entrada, en este caso sinusoidal. Figura 30. Modelado primera articulación del robot TFG-Robotic Toolbox de Matlab Miguel A. Mato 3950 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT 3.4. CONEXIÓN MEDIANTE OPC AL ROBOT REAL Nuestro trabajo consiste ahora en recoger las variables articulares que genera cada posición del robot virtual (al realizar una trayectoria) y pasárselas al robot real en formato compresible, para que este realice las mismas acciones que el virtual, sincronizando ambos. Para hacer esto recurrimos a un software de comunicación industrial ampliamente utilizado en la actualidad: OPC. Las siglas OPC (OLE for Process Control) son un estándar de comunicación en el campo del control y supervisión de procesos industriales, basado en una tecnología Microsoft, que ofrece una interfaz común para comunicación que permite que componentes software individuales interaccionen y compartan datos. En nuestro caso la comunicación se realiza a través de una arquitectura Cliente- Servidor, utilizando el software al OPC de Matlab [7] y el de ABB [8], de forma que: El Cliente OPC, es la fuente de datos, en nuestro caso el robot virtual, que al trazar una trayectoria, genera las sucesivas variables articulares de la posición del robot qi(t). Estas, las extraemos en la función plot_irb120 mediante la función Joint2OPC. El Servidor OPC, es el controlador del robot real, el IRC5 del robot [33], que aperece en el interfaz de OPC como 'ABB.IRC5.OPC.Server.DA'), al cual le enviamos el valor de las variables articulares (normalizadas), cada cierto tiempo, establecido en la variable handles.time_opc, de forma que robot real y virtual sincronizan sus movimientos (Figura 31). Figura 31. Sincronización del robot real y virtual TFG-Robotic Toolbox de Matlab Miguel A. Mato 4051 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT 3.5. INTERFAZ GRÁFICO DE LA APLICACIÓN El interfaz desarrollado sobre Guide de Matlab, trata de ser un entorno amigable e intuitivo para el usuario (Figura 32), de forma que pueda: Introducir fácilmente, diferentes configuraciones de robot. Observar el movimiento del robot, de sus eslabones, del espacio de alcanzable. Mover el robot de forma intuitiva, en coordenadas articulares o en coordenadas homogéneas. Grabar puntos en ambos formatos, para trazar trayectorias. Con articulares mediante cinemática directa y con puntos del TCP en coordenadas homogéneas, con la cinemática inversa. Detectar la dificultad computacional que entraña la cinemática inversa. Trazar trayectorias, exportar e importar sus datos. Elegir entre las diversas opciones de algoritmos, para el control del mismo. Obtener la información de todos los parámetros que intervienen en el modelado y simulación del robot. Acceder a simmulink, para el estudio dinámico del robot. Conectar la aplicación con el robot real, mediante software OPC, permitio la sincronización del robot virtual y del real. Figura 32. Interfaz gráfico de la aplicación TFG-Robotic Toolbox de Matlab Miguel A. Mato 4152 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT INICIO. CONFIGURACIONES DEL ROBOT Desde la pestaña INICIO, podremos cargar varias configuraciones del robot como las que se muestran en la Figura 33 : Robot 3D CAD: modelo idéntico al real, con máximo realismo gráfico. Robot 3D CAD, con puntero: idéntico al anterior al que se le añade un puntero (tool de 0,1 m). Robot 3D CAD, con puntero y soporte-base: al anterior se le añade un soporte al anterior (Figura 33-izqda.) NO esférico: modelo del toolbox, de tipo conceptual, idéntico al real (Figura 33-drcha.) NO esférico, con base y puntero: igual que el anterior, pero con base y puntero. Esférico, con puntero: modelo de tipo conceptual esférico, con muñeca esférica DEMOSTRACIONES Figura 33. Dos de las seis posibles configuraciones del robot Desde esta pestaña accedemos a varias funciones, que muestran el comportamiento del robot: Alcance máximo: muestra los puntos de máximo alcance, en forma de superficie 3D (Figura 34). Espacio de trabajo: desde una posición determinada, muestra las posiciones alcanzables por las últimas tres articulaciones (Figura 35). TFG-Robotic Toolbox de Matlab Miguel A. Mato 4253 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Figura 34. Alcance máximo Figura 35. Espacio de trabajo Movimientos del robot: muestra los movimientos del robot eslabón por eslabón. Trayectorias. Trazar Multipuntos: el robot traza una trayectoria predefinida por punto (Figura 36) Trayectorias. Trazar poligonal: el robot traza una trayectoria siguio una línea poligonal 3D predefinida (Figura 37). Trayectorias. Trazar de Fichero: lee los datos del fichero datos.txt en forma de matriz Q (mx6), donde m -filas-, es el número de puntos, y 6, son las variables articulares que definen un punto (q). Cinemática inversa. Multiples posiciones del punto: muestra las diferentes configuraciones posicionales de los eslabones, para alcanzar el punto donde se encuentre el robot, lo hace mediante la función ikine_irb120. Por tanto debe estar seleccionado esta opción en el algoritmo de cinemática inversa. Figura 36. Trayectoria tres puntos Figura 37. Trayectoria poligonal TFG-Robotic Toolbox de Matlab Miguel A. Mato 4354 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT SIMULINK Esta pestaña nos lleva al entorno de Simulink, en el cual nuestro modelo numérico está definido para trabajar con sus típicos bloques. El nuevo modelo, además de los parámetros físicos del toolbox de Corke, contiene nuevas funcionalidades de SimMechanic OPERACIONES CON EL ROBOT VIRTUAL En la parte izquierda de la aplicación aparecen los dispositivos de manipulación y control del robot (Figura 38), desde la cual podremos: Mover el robot en coordenadas articulares mediante 6 slider que controlan el valor de las variables articulares. Para cada posición el slider recoge un valor. Para cada posición del robot, saber las coordenadas espaciales del TCP en coordenadas homogéneas, describio su posición en coordenadas cartesianas (x, y,z) más la orientación de la muñeca con: Roll, Pich y Yaw. En la zona de coordenadas homogéneas podemos seleccionar un valor X, Y o Z, y mover al robot sobre dicho eje seleccionado con el slider MOVER, mantiene las otras dos coordenadas. En cada ventana de coordenadas aparece el valor del vector Q, o de la matriz T que definen la posición del robot. Todos los valores que aparecen en las ventanas, son modificables desde el teclado, el robot se moverá a la posición resultante. En la parte inferior de cada ventana de coordenadas, aparece un botón (Grabar_ ) que nos permite registrar la posición en la que está el robot en ese momento, en la ventana de Puntos grabados. Aparece también una pequeña ventana indepiente, con: HOME: coloca el robot en su posición inicial. RESET: además de lo anterior, borra todos los registros almacenados. EXIT: sale de la aplicación y de Matlab. Figura 38. Ventanas de coordenadas TFG-Robotic Toolbox de Matlab Miguel A. Mato 4455 CAPITULO III 3. MODELADO Y SIMULACIÓN DEL ROBOT Figura 39. Ventanas de puntos grabados En la zona intermedia, aparecen hasta cinco campos para almacenar puntos, en coordenadas articulares y homogéneas (Figura 39). La aplicación permite almacenar más de 5 puntos, aunque no aparezcan en pantalla. Una vez grabados los puntos, podremos: Ir al punto grabado pulsado el botón P1, P2, etc. Trazar la trayectoria definida por dichos puntos. Grabar los puntos en un fichero de nombre datos.txt. Obtener información a través del índice de manipulabilidad, de la facilidad que tiene el robot para el trazado de la trayectoria, que definen los puntos grabados PARÁMETROS DE CONTROL y VISUALIZACIÓN En la zona inferior aparecen los Parámetros de control del Robot (Figura 40) : Selección del algoritmo de cinemática inversa: ikine (geométrico), ikine (iterativo), ikine (nuevo). Selección del algoritmo de manipulabilidad: Yoshikawa ó Asada. Selección de la visualización de trayectoria: ver puntos grabados en el Axis, ver la trayectoria, aumentar la velocidad del robot. Figura 40. Parámetros de control del modelo TFG-Robotic Toolbox de Matlab Miguel A. Mato 45 Mostrar más
Modelado y simulación de un robot Robucar TT
ESCUELA SUPERIOR DE INGENIEROS INJINERUEN GOIMAILAKO ESKOLA UNIVERSIDAD DE NAVARRA - NAFARROAKO UNIBERTSITATEA Proyecto Fin de Carrera MODELIZACIÓN Y SIMULACIÓN DINÁMICA DEL VEHÍCULO TIPO KARTCROSS DEL Más detalles TREBALL FI DE CARRERA TRABAJO FINAL DE CARRERA
UNIVERSIDAD CATÓLICA DE CUENCA UNIDAD ACADÉMICA DE INGENIERÍA DE SISTEMAS, ELÉCTRICA Y ELECTRÓNICA. CARRERA DE INGENIERÍA DE SISTEMAS. Guía Telefónica Georeferencial de la UCACUE para Dispositivos Móviles: Más detalles CAPITULO II DISEÑO (JACQUARD)
CAPITULO II DISEÑO (JACQUARD) Si el hombre fuese constante sería perfecto SHAKESPARE El diseño, es el arte que nos permite expresarnos, (es una actividad deliberada del ser humano) a través del dibujo, Más detalles Componentes software para gestión de dispositivos físicos. Estudio comparativo de soluciones basadas en.net y JavaBeans
UNIVERSIDAD POLITÉCNICA DE CARTAGENA E. T. S. Ingeniería de Telecomunicaciones Componentes software para gestión de dispositivos físicos. Estudio comparativo de soluciones basadas en.net y JavaBeans Andrés Más detalles SIMULACIÓN DE UN CHOQUE FRONTAL DE UN VEHÍCULO AUTOMÓVIL CONTRA DIFERENTES TIPOS DE BARRERA
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITECNICA SUPERIOR DEPARTAMENTO DE INGENIERÍA MECÁNICA SIMULACIÓN DE UN CHOQUE FRONTAL DE UN VEHÍCULO AUTOMÓVIL CONTRA DIFERENTES TIPOS DE BARRERA PROYECTO FIN Más detalles Puesta en marcha del sensor fuerza/par JR3
Universidad Carlos III de Madrid Ingeniería de Sistemas y Automática Puesta en marcha del sensor fuerza/par JR3 Proyecto realizado por: Carlos de la Hoz Najarro Tutor: Santiago Martínez de la Casa A mis Más detalles Universidad Autónoma de Querétaro Facultad de Ingeniería. Diseño, Simulación y Construcción Mediante Sistemas CAD/CAM de un robot educativo
Universidad Autónoma de Querétaro Facultad de Ingeniería Diseño, Simulación y Construcción Mediante Sistemas CAD/CAM de un robot educativo TESIS COLECTIVA Que como parte de los requisitos para obtener Más detalles GUIA TECNOPYME. Fase II.
GUIA TECNOPYME. Fase II. 6- HERRAMIENTAS DE SIMULACIÓN CAP6.INF Autor: Ana Bonilla Revisado: Laura Martínez Aprobado: Ana Bonilla Copia de: Versión: 1 Revisión: 0 Zamudio, junio 2003 GUIA TECNOPYME 6. Más detalles Introducción al CAD/CAM
1 Introducción al CAD/CAM En esta unidad se pretende introducir las Técnicas CAD/CAM, definiendo los conceptos básicos, y su relación con el proceso de diseño y fabricación. También se revisa el desarrollo Más detalles SIMULACIÓN. Texto Base de Teoría. Alfonso Urquía Moraleda
SIMULACIÓN Texto Base de Teoría Alfonso Urquía Moraleda Departamento de Informática y Automática Escuela Técnica Superior de Ingeniería Informática, UNED Juan del Rosal 16, 28040 Madrid, España E-mail: Más detalles UNIVERSIDAD VERACRUZANA M O N O G R A F Í A. Licenciado en Sistemas Computacionales Administrativos. Jorge Gómez Sánchez
UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración Funciones del DBA (Administrador de la base de datos) Bajo la plataforma Oracle M O N O G R A F Í A Para obtener el Título de: Licenciado Más detalles CAD/CAM. Instituto Técnico de la Estructura en Acero ITEA
7 CAD/CAM Instituto Técnico de la Estructura en Acero ITEA ÍNDICE ÍNDICE DEL TOMO 7 CAD/CAM Lección 7.1: Introducción al Papel del Acero en la Construcción en Europa... 1 1 INTRODUCCIÓN... 4 2 EL SOPORTE Más detalles Plataforma de simulación reconfigurable basada en Microsoft Robotics Developer Studio
Plataforma de simulación reconfigurable basada en Microsoft Robotics Developer Studio Proyecto de Sistemas Informáticos, Facultad de Informática, Universidad Complutense 2012/2013 Director: Jose Antonio Más detalles FACULTADE DE INFORMÁTICA
UNIVERSIDADE DA CORUÑA Departamento de Computación FACULTADE DE INFORMÁTICA PROYECTO FIN DE CARRERA INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN Herramienta de análisis de redes en un sistema de información Más detalles ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN Titulación : INGENIERO INDUSTRIAL Título del proyecto: PROYECTO DE CONSTRUCCION DE UN PARQUE EOLICO EN USA: OPTIMIZACIÓN DE LA Más detalles Ventajas e inconvenientes de la gestión de proyectos en la Pyme con sistemas de información integral
Ventajas e inconvenientes de la gestión de proyectos en la Pyme con sistemas de información integral Titulación: Ingeniero de Organización Industrial Intensificación: Gestión de la Producción Alumno/a: Más detalles ANÁLISIS, DISEÑO, DESARROLLO, PRUEBAS Y DESPLIEGUE DE SOFTWARE, CON LOS ESTÁNDARES DE CALIDAD, PROCESO Y TECNOLOGÍAS USADAS EN PRAGMA S.A.
ANÁLISIS, DISEÑO, DESARROLLO, PRUEBAS Y DESPLIEGUE DE SOFTWARE, CON LOS ESTÁNDARES DE CALIDAD, PROCESO Y TECNOLOGÍAS USADAS EN PRAGMA S.A. CARLOS EDUARDO OSPINA MORALES CORPORACIÓN UNIVERSITARIA LASALLISTA Más detalles Grupo B. Sistemas y Tecnologías de la información
Grupo B. Sistemas y Tecnologías de la información Tema 1. Tema 2. Tema 3. Tema 4. Tema 5. Tema 6. Tema 7. Tema 8. Tema 9. Sistemas de Información. Análisis y desarrollo de sistemas de información. Metodologías Más detalles REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD RAFAEL URDANETA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA EN COMPUTACIÓN
REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD RAFAEL URDANETA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA EN COMPUTACIÓN CONTROL DEL TRÁFICO VEHICULAR POR MEDIO DE SEMAFOROS INTELIGENTES Trabajo Especial Más detalles SISTEMA CRM DE PROYECTO FIN DE CARRERA CÓDIGO ABIERTO: SUGARCRM UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR INGENIERÍA TÉCNICA DE TELECOMUNICACIONES: SONIDO E IMAGEN PROYECTO FIN DE CARRERA SISTEMA CRM DE CÓDIGO ABIERTO: SUGARCRM Autor: Tutor: LAURA Más detalles Data warehouse de soporte a datos de GSA
Data warehouse de soporte a datos de GSA Iván Arribas López 21/07/2008 Agradecimientos En primer lugar, quiero dar las gracias a mi tutora, Ernestina, por darme todo su apoyo, tiempo y paciencia. Por su Más detalles HERRAMIENTAS PARA LA PLANIFICACIÓN Y CONTROL DE COSTES DE UN PROYECTO
UNIVERSIDAD AUTÓNOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR HERRAMIENTAS PARA LA PLANIFICACIÓN Y CONTROL DE COSTES DE UN PROYECTO -PROYECTO FIN DE CARRERA- Jorge Ayllón Temprado Septiembre de 2007 HERRAMIENTAS Más detalles UNIVERSIDAD DE GUAYAQUIL
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES ANÁLISIS COMPARATIVO DE RESPALDO Y RECUPERACIÓN DE BASE DE DATOS LICENCIADA (ORACLE Más detalles DISEÑO PARA FABRICACIÓN Y ENSAMBLAJE
DISEÑO PARA FABRICACIÓN Y ENSAMBLAJE DISEÑO PARA FABRICACIÓN Y ENSAMBLAJE Edición: Fundación Prodintec. Centro Tecnológico para el Diseño y la Producción Industrial de Asturias. Edificio Centros Tecnológicos Más detalles UNIVERSIDAD POLITÉCNICA SALESIANA
UNIVERSIDAD POLITÉCNICA SALESIANA Sede Guayaquil Facultad de Ingenierías Carrera de Ingeniería Electrónica. Tesis previa a la obtención del título de ingeniero en electrónica con mención en sistemas computacionales. Más detalles Indice 1 INTRODUCCIÓN 2 BASES DE DATOS GESTORES DE BASES DE DATOS SERVIDORES DE BASES DE DATOS GESTORES DE BASES DE DATOS
Indice 1 INTRODUCCIÓN 2 BASES DE DATOS 4 6 19 21 24 GESTORES DE BASES DE DATOS SERVIDORES DE BASES DE DATOS GESTORES DE BASES DE DATOS PERSONALES PROGRAMACIÓN DE BASES DE DATOS BASES DE DATOS Y OFERTAS Más detalles Diseño y Construcción de Bases de Datos Distribuidas Heterogéneas sobre Oracle Y SQL Server
Universidad Carlos III de Madrid Escuela Politécnica Superior Ingeniería Técnica en Informática de Gestión Proyecto Fin de Carrera Diseño y Construcción de Bases de Datos Distribuidas Heterogéneas sobre Más detalles Technology Enhanced Learning y Model Driven Development Revisión Sistemática de la Literatura

References: RESOLUCIÓN 
 RESOLUCIÓN 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución