Modelo dinámico y simulación del robot manipulador IRB 120
Abstract
Departamento de Ingeniería de Sistemas y Automática
Full text
MASTER EN INGENIERÍA INDUSTRIAL ESCUELA DE INGENIERÍAS INDUSTRIALES UNIVERSIDAD DE VALLADOLID TRABAJO FIN DE MÁSTER MODELO DINÁMICO Y SIMULACIÓN DEL ROBOT MANIPULADOR IRB 120 Autor: D. Pablo Abia Morán Tutor: D. Juan Carlos Fraile Marinero Valladolid, septiembre de 2020 i
ii
Universidad de Valladolid Escuela de Ingenier ´ ıas Industriales Modelo din´ amico y simulaci´ on del robot manipulador IRB 120 Trabajo Fin de M´aster Autor: D. Pablo Abia Mor´an Tutor: D. Juan Carlos Fraile Marinero Septiembre 2020
ii
Resumen Los robots manipuladores son un tipo de robot muy com´un caracterizado por tener una base est´atica sobre la que se conectan una serie de eslabones encadenados mediante articulaciones que le otorgan libertad de movimiento. Los manipuladores m´as comunes en la industria son los de seis grados de libertad. El modelo din´amico de un sistema como el de un robot manipulador consiste en el conjunto de ecuaciones, basadas en las leyes de la mec´anica cl´asica, que relacionan los par´ametros cinem´aticos y sus derivadas con las fuerzas y pares aplicados sobre ´el con el fin de describir su movimiento. En el caso de sistemas din´amicos complejos como el del presente estudio, compuesto por un mecanismo de m´ultiples grados de libertad, dos m´etodos de uso general facilitan el proceso de obtenci´on de este modelo: se trata de los m´etodos de Euler-Lagrange y el de Newton-Euler. Este trabajo se ha centrado en la aplicaci´on del m´etodo recursivo de Newton-Euler al robot manipulador de la marca ABB: IRB 120. Sus par´ametros din´amicos han sido estimados y verificados a trav´es de m´ultiples simulaciones ejecutadas mediante m´etodos de control en lazo abierto y lazo cerrado. Efectivamente, cuando se trata de dise˜nar un sistema de control autom´atico para un robot cualquiera, disponer de un modelo din´amico preciso se advera fundamental para simular su movimiento real de modo fiel y repetible. Los resultados de las simulaciones han mostrado que el m´etodo de control en lazo abierto es inestable, mientras que los m´etodos de control en lazo cerrado —controlador PD y PID— consiguen respuestas asint´oticamente estables. Una l´ınea de continuaci´on de este trabajo podr´ıa ser la optimizaci´on del modelo din´amico mediante el an´alisis comparativo de las respuestas reales del robot IRB 120 y los resultados de las simulaciones, as´ı como la aplicaci´on de otras estrategias de control m´as complejas para mejorar la respuesta del sistema. iii
iv
Abstract Robot manipulators are a very common type of robot characterized by having a static base on which a series of links are connected by joints that let the whole mechanism have some many degrees of freedom. The dynamic model of a robot manipulator consists of a set of equations that relate its kinematic parameters and its derivatives with the forces and torques applied to it. This work has focused on the application of the Newton-Euler recursive method to the manipulator robot of the ABB brand: IRB 120. The results of the simulations have shown that the open-loop control method is unstable, while the closed-loop control methods achieve asymptotically stable responses. v
vi
Agradecimientos En primer lugar, mi sincero agradecimiento a Don Juan Carlos Fraile Marinero, tutor acad´emico de mi trabajo de fin de m´aster, por su atenta dedicaci´on y su plena accesibilidad para atender mis dudas y ayudarme a avanzar en el estudio. Tambi´en por todos los conocimientos que de ´el he aprendido durante la realizaci´on de mi trabajo. En segundo lugar, quisiera mostrarle mi profunda gratitud a Do˜na Blanca Gim´enez Olavarria, por haberme dado la oportunidad de participar en el programa de doble titulaci´on con la ENSAM y haber ejercido como mi tutora de principio a fin. Al t´ermino de esta etapa acad´emica, mi valoraci´on es tan positiva que no puedo expresarla totalmente en estas l´ıneas. Sin lugar a dudas, me ha hecho mejor ingeniero y mejor persona. Gracias tambi´en a la Universidad de Valladolid por todos los recursos que ha puesto a mi disposici´on para hacerme crecer en todos los ´ambitos de mi persona. Tambi´en por todas las amistades que me ha otorgado durante mis a˜nos de estudiante. Me siento muy orgulloso de egresar de la instituci´on octocentenaria que representa y portar´e toda mi vida este t´ıtulo con honor. Por ´ultimo, eterna gratitud a mi padre y a mi madre por haberme dado todo lo que soy y lo que tengo. vii
2CAP´ ITULO 1. INTRODUCCI ´ ON llam´o IRb6 (Figura 1.1). M´as adelante, en 1988, ASEA se uni´o a la empresa suiza Brown Boveri para formar la actual ABB, con sede en Zurich. Hoy en d´ıa, la rob´otica se puede definir como la t´ecnica dedicada al dise˜no y empleo de aparatos programables que, en sustituci´on de personas, realizan operaciones o trabajos, por lo general en instalaciones industriales y bajo control inform´atico. No obstante, esta definici´on resulta muy gen´erica dada la gran variedad de sistemas que actualmente pueden ser definidos como robot. Por tanto, con el fin de especificar el tipo de robot del que se habla, se acostumbra a a˜nadir un adjetivo a este t´ermino (robots manipuladores, robots humanoides, robots dom´esticos...). En concreto, los robots manipuladores son un tipo de robot definido por la Organizaci´on Internacional de Est´andares (ISO), en su norma ISO 8373 - equivalente a la UNE EN ISO 8373:1998 ”Robots Manipuladores Industriales. Vocabulario” - como: Robot manipulador industrial (ISO): Manipulador de 3 o m´as ejes, con control autom´atico, reprogramable, multiaplicaci´on, m´ovil o no, destinado a ser utilizado en aplicaciones de automatizaci´on industrial. Incluye al manipulador (sistema mec´anico y accionadores) y al sistema de control (software y hardware de control y potencia). Su uso est´a muy extendido en la industria; principalmente en el sector de la automoci´on, donde dadas las altas cadencias de fabricaci´on, resulta muy rentable utilizar estos aparatos para la ejecuci´on de tareas repetitivas. Algunas de las ventajas del uso de estos robots son su precisi´on, la alta repetibilidad de sus operaciones y la velocidad de ejecuci´on de sus movimientos. Estas virtudes permiten mejorar la calidad de los procesos y reducir los tiempos y los costes de producci´on. Una de sus aplicaciones principales en esta industria es la soldadura de las carrocer´ıas de los veh´ıculos; proceso en el cual podemos encontrar hileras de estos robots trabajando coordinadamente. Figura 1.2: Robot ”Leonardo da Vinci”, ejemplo de cirug´ıa rob´otica.
1.1. CONTEXTO 3 Pero las aplicaciones basadas en robots manipuladores no se encuentran ´unicamente en el sector industrial, sino que tambi´en tienen importancia en otros campos como el de la medicina, donde ya se utilizan en cirug´ıa o en la rehabilitaci´on f´ısica de enfermos. En cirug´ıa son muy ´utiles para intervenir en operaciones sobre partes del cuerpo de dif´ıcil acceso para el cirujano que adem´as requieren una elevada precisi´on (ver Figura 1.2). Por ´ultimo, antes de presentar en el siguiente ep´ıgrafe el robot IRB120 objeto de estudio, se enumeran las partes de la estructura mec´anica de un robot manipulador gen´erico descritas en la norma ISO 8373, de modo que el lector pueda seguir la explicaci´on cuando se haga referencia a unas u otras partes del robot: 1. Accionador: ´organo de potencia capaz de generar un movimiento en el robot. Por lo general se trata de motores el´ectricos que transforman la energ´ıa el´ectrica en movimiento del robot. 2. Brazo: ejes principales del robot. Conjunto interconectado de eslabones y de articulaciones motorizadas, que forma una cadena que posiciona la mu˜neca. 3. Mu˜neca: ejes secundarios. Conjunto de eslabones y articulaciones motorizadas entre el brazo y el terminal que soporta, posiciona y orienta este terminal. 4. Eslab´on: Cuerpo r´ıgido que mantiene unidas las articulaciones. 5. Articulaciones: pueden ser de cuatro tipos seg´un los grados de libertad que otorguen a los eslabones que conectan: a)Articulaci´on prism´atica. Colisa: uni´on entre dos eslabones que permite a uno de ellos tener un movimiento lineal en relaci´on con el otro. b)Articulaci´on rotativa: articulaci´on giratoria/rotativa. Uni´on entre dos eslabones que permite a uno de ellos tener un movimiento giratorio alrededor del eje del otro. c)Articulaci´on cil´ındrica: uni´on entre dos eslabones que permite a uno de ellos tener un movimiento lineal o de rotaci´on respecto al otro, seg´un un eje de rotaci´on asociado a la traslaci´on. d)Articulaci´on esf´erica: uni´on entre dos eslabones que permite a uno de ellos un movimiento relativo respecto del otro alrededor de un punto fijo, seg´un tres grados de libertad. 6. Base: plataforma o estructura asociada al extremo inicial del primer eslab´on de la estructura articulada. 7. Interfaz mec´anica: Superficie de montaje en el extremo de la estructura articulada del robot sobre la que se monta la herramienta. 8. Terminal o herramienta: Dispositivo espec´ıficamente concebido para fijarse a la interfaz mec´anica del robot que permite al robot realizar un trabajo determinado. 9. Eje: Direcci´on utilizada para indicar el movimiento del robot, de forma lineal o angular. 10. Grado de libertad (GDL): una de las variables (de un m´aximo de seis) necesarias para definir los movimientos de un cuerpo en el espacio.
4CAP´ ITULO 1. INTRODUCCI ´ ON 11. Pose: Combinaci´on de posici´on y orientaci´on del extremo del robot. 12. Centro de herramienta (CDH) o Tool Center Point (TCP) en ingl´es: punto definido para una aplicaci´on dada en relaci´on con el sistema de coordenadas de la herramienta. 1.2. Descripci´on del robot manipulador IRB 120 El robot manipulador IRB 120 es el robot industrial multiusos m´as peque˜no de la firma ABB y en ´el se ha basado este trabajo de fin de m´aster (Figura 1.3). Su mecanismo cuenta con 6 grados de libertad —otorgados por sus 6 articulaciones rotativas accionadas mediante motores de corriente alterna sin mantenimiento. Pesa 25 kilogramos y es capaz de portar cargas de hasta 3 kilogramos (4 kilogramos con la mu˜neca en posici´on vertical). En este robot, el brazo est´a compuesto por los eslabones 1, 2 y 3; que sirven para posicionar la herramienta. La orientaci´on de ´esta se logra mediante los eslabones 4, 5 y 6; que componen la mu˜neca. La base permite fijar el manipulador en posici´on vertical u horizontal y en ella se localizan las conexiones para la alimentaci´on de los motores el´ectricos, las tomas de aire comprimido y las comunicaciones con el ordenador de control. Figura 1.3: Robot IRB 120 de la marca ABB. El robot IRB 120 resulta ideal para ejecutar tareas r´apidas de recogida y desplazamiento de objetos; tambi´en para tareas de montaje y embalaje de objetos poco voluminosos. Su sistema de control avanzado le otorga una repetibilidad de pose con fluctuaciones m´aximas de 0,01 mm, una de las m´as altas del mercado. ABB present´o en 2009 el ”Fanta Can Challenge”, del que se pueden ver v´ıdeos en su p´agina web, y que le sirvi´o para presumir de la alta velocidad con la que sus modelos son capaces de ejecutar los movimientos respetando una gran exactitud y repetibilidad.
1.3. OBJETIVOS DEL TRABAJO 5 1.3. Objetivos del trabajo El objetivo principal de este trabajo de fin de m´aster es la obtenci´on del modelo din´amico del robot manipulador IRB 120 a partir del m´etodo recursivo de Newton-Euler, cuyo desarrollo matem´atico se presenta en cap´ıtulos posteriores. Como ya se ha explicado, el modelo din´amico de cualquier robot es un elemento imprescindible en el dise˜no de su sistema de control, puesto que representa las ecuaciones que relacionan sus par´ametros cinem´aticos (posici´on, velocidad y aceleraci´on) con los pares y las fuerzas ejercidos por los actuadores para definir su movimiento. En el trabajo se hace hincapi´e en las divergencias entre el modelo din´amico obtenido y el que ser´ıa un modelo din´amico perfecto, de modo que el lector entienda cu´ales son las limitaciones de este estudio y qu´e dimensi´on podr´ıa alcanzar la obtenci´on de un din´amico preciso susceptible de poder implementarse en un controlador real. Por ´ultimo, con el modelo din´amico calculado se han llevado a cabo varias simulaciones, a˜nadi´endole controladores simples en lazo abierto y en lazo cerrado. Estas simulaciones han permitido analizar la estabilidad de unos y otros. 1.4. Estado del arte El estudio de la cinem´atica y din´amica, as´ı como de las estrategias de control autom´atico de los robots manipuladores, es tan antiguo como la propia tecnolog´ıa. Desde el principio, muchos trabajos se han orientado a optimizar los m´etodos computacionales que permiten el control autom´atico de estos sistemas, y se han llevado a cabo numerosos estudios sobre este tema. En este trabajo, para el c´alculo del modelo din´amico del robot IRB 120 se han tomado como referencia dos estudios similares llevados a cabo con otros modelos de manipuladores de ABB: [12] y [19]. El m´etodo de Denavit-Hartenberg, que se presenta posteriormente y permite construir el modelo cinem´atico directo y obtener las matrices de rotaci´on o de transformaci´on homog´enea del sistema, ha sido extra´ıdo de [5], donde se explica muy detalladamente el algoritmo que permite establecer los sistemas de coordenadas de cada articulaci´on de tal modo que se pueda representar la cinem´atica del robot mediante 6 variables. Las distintas estrategias de control que se han empleado en este trabajo son convencionales y muy conocidas en el campo del control autom´atico. En el libro [15] y en el [21] se hace un estudio te´orico muy detallado de cada una de ellas. Por ´ultimo, varios trabajos anteriores ya se han enfocado en la obtenci´on del modelo din´amico del robot IRB 120, como son [4] y [17]. De la primera de estas fuentes bibliogr´aficas se han tomado los par´ametros din´amicos tales como las masas de los eslabones, los centros de masas y las matrices de inercias. La documentaci´on t´ecnica del robot manipulador IRB 120 puesta a disposici´on del p´ublico por ABB [1] y [2] tambi´en han servido para obtener las dimensiones reales de los eslabones.
6CAP´ ITULO 1. INTRODUCCI ´ ON 1.5. Herramientas inform´aticas utilizadas En el desarrollo del estudio se han utilizado las siguientes herramientas inform´aticas: Maple 2018 Maple es un programa inform´atico orientado a la resoluci´on de c´alculos matem´aticos simb´olicos y algebraicos. Fue desarrollado en la Universidad de Waterloo, en Ontario (Canad´a) en 1981. A partir de 1988 el programa fue mejorado y la compa˜n´ıa canadiense Maplesoft, con sede en la misma ciudad, comenz´o a comercializarlo. Este programa ha sido utilizado en este trabajo para derivar las ecuaciones de la din´amica del manipulador. Una librer´ıa espec´ıfica de Maple ha permitido obtener el c´odigo inform´atico equivalente en otros lenguajes de programaci´on. Esto ha simplificado mucho el proceso de construcci´on del modelo en Matlab-Simulink. Matlab R2015b/Simulink Matlab (abreviatura de ”Matrix Laboratory”) es un programa de c´alculo num´erico computarizado con un entorno de desarrollo integrado (IDE) y un lenguaje de programaci´on propio (lenguaje M). Matlab est´a optimizado para la manipulaci´on matem´atica de matrices y vectores, siendo m´as r´apido que otros lenguajes de programaci´on convencionales en este tipo de operaciones. El paquete MATLAB incluye la herramienta de simulaci´on Simulink, que ser´a utilizada en este trabajo para la creaci´on del modelo din´amico y la implementaci´on de estrategias de control en lazo abierto y en lazo cerrado. RoKiSim RoKiSim es una herramienta inform´atica educativa y gratuita que permite la simulaci´on en tres dimensiones (3D) de diferentes robots manipuladores de seis ejes. Fue desarrollado en el Control and Robotics Lab de la ”´ Ecole de technologie Sup´erieure de Montreal” (Canad´a). Este programa cuenta en su librer´ıa de robots manipuladores con el IRB 120 de ABB, y permite observar la posici´on de los ejes coordenados de cada una de sus articulaciones (de acuerdo con el convenio de Denavit-Hartenberg). Las orientaciones de las articulaciones pueden representarse en varios convenios de los ´angulos de Euler o en cuaternios. Este programa se ha utilizado para analizar diferentes trayectorias que despu´es se han tratado de reproducir en las simulaciones del modelo din´amico de este trabajo. Inkscape Inkscape es un programa de edici´on de gr´aficos vectoriales de c´odigo abierto (GPL - General Public License) que utiliza el formato Scalable Vector Graphics (SVG). Se ha empleado para el dise˜no de los gr´aficos utilizados en la memoria del trabajo.
1.5. HERRAMIENTAS INFORM ´ ATICAS UTILIZADAS 7 MiKTeX/L A T EX MiKTeX es una implementaci´on de software libre del sistema T EX para la producci´on profesional de documentos, especialmente cient´ıficos, que se basa en marcadores de texto. El sistema T EX fu´e creado por Donald Knuth en 1978, y L A T EX es una extensi´on debida a Leslie Lamport que a˜nade funcionalidades que facilitan la estructuraci´on de los documentos.
8CAP´ ITULO 1. INTRODUCCI ´ ON
Cap´ıtulo 2 Fundamentos te´oricos Es conveniente comenzar introduciendo de forma breve la nomenclatura utilizada y los conceptos matem´aticos y f´ısicos que permitan al lector entender adecuadamente lo expuesto en cap´ıtulos posteriores. En la Secci´on 2.1 se enumeran distintas formas de representar la posici´on y la orientaci´on del extremo del robot —y de cada uno de sus eslabones— haciendo hincapi´e en las matrices de transformaci´on homog´enea. ´ Estas representan una de las herramientas matem´aticas m´as utilizadas en rob´otica para este fin y es a la que se ha recurrido en este trabajo. La teor´ıa est´a basada en el contenido de [8], [9] y [22]. Seguidamente, en la Secci´on 2.2 se enumeran los elementos que componen una cadena cinem´atica y se presenta la nomenclatura empleada para la identificaci´on de cada uno de ellos. El contenido de esta secci´on est´a basado en [12]. Una vez presentados los conceptos anteriores, se presenta en la Secci´on 2.3 la cinem´atica directa, que permite obtener la pose del robot a partir de las coordenadas articulares. Para el robot ABB IRB 120 es posible resolver las ecuaciones no lineales en las variables articulares que resultan cuando se fijan los valores de la pose del robot: se resuelve as´ı la llamada cinem´atica inversa del robot. Esta circunstancia afortunada se deriva esencialmente del dise˜no del robot, al presentar ´este tres ejes de rotaci´on consecutivos que concurren en un punto. Los desarrollos te´oricos completos se pueden consultar en [5]. Por ´ultimo, en la Secci´on 2.4 se exponen los dos m´etodos m´as utilizados generalmente para la derivaci´on de las ecuaciones que rigen la din´amica de un robot manipulador: el m´etodo de Newton-Euler y el de Euler-Langrange. Se describe brevemente cada uno de ellos, haciendo hincapi´e en sus ventajas y desventajas, y se explica por qu´e se ha utilizado el primero para el desarrollo del modelo del IRB 120 en este trabajo. Para m´as detalles, se puede consultar la siguiente literatura, en la que est´a basada este contenido: [5], [12] y [22]. 2.1. Posici´on y orientaci´on del robot La posici´on y orientaci´on de un s´olido r´ıgido cualquiera se describe mediante la posici´on y orientaci´on del sistema de coordenadas solidario a su movimiento. A esto lo denominamos la pose. Un vector que represente un punto en el espacio puede ser expresado en diferentes sistemas coordenados mediante el uso de poses relativas. En matem´aticas existen m´ultiples formas de representar tanto la posici´on como la 9
10 CAP´ ITULO 2. FUNDAMENTOS TE ´ ORICOS orientaci´on de un sistema de coordenadas: las matrices de rotaci´on ortonormales, los ´angulos de Euler, los cuaternios, las matrices de transformaci´on homog´enea. Todas ellas consisten en representaciones matriciales; sin embargo, las matrices de transformaci´on homog´enea son las ´unicas que permiten la representaci´on simult´anea de la posici´on y la orientaci´on y la ventaja de que la composici´on de transformaciones sucesivas se reduce al producto de matrices. 2.1.1. Matrices de rotaci´on Una matriz de rotaci´on de dimensiones n×ndescribe la orientaci´on de un sistema de coordenadas respecto a otro en el espacio eucl´ıdeo de ndimensiones. Para expresar las coordenadas de un vector en S1respecto a un sistema de coordenadas S0en tres dimensiones, se recurre a una matriz 3 ×3 de rotaci´on: R0 1=x0 1y0 1z0 1 en la que x0 1,y0 1,z0 1son los vectores unitarios de los ejes de S1expresados respecto del sistema de referencia S0, y R0 1∈SO(3) ⊂R3×3. Las matrices de rotaci´on tienen, por tanto, las propiedades de una matriz ortonomal: Los vectores columna son ortogonales entre s´ı. Los vectores columna tienen magnitud unitaria. La inversa de una matriz de rotaci´on es igual a su traspuesta: RT=R−1. El determinante de la matriz de rotaci´on es igual a 1: det(R) = 1. Las tres matrices de rotaci´on para un giro θen torno a cada uno de los ejes x−, y−, z− son: Rx(θ) = 1 0 0 0 cos(θ)−sin(θ) 0 sin(θ) cos(θ) Ry(θ) = cos(θ) 0 sin(θ) 0 1 0 −sin(θ) 0 cos(θ) Rz(θ) = cos(θ)−sin(θ) 0 sin(θ) cos(θ) 0 0 0 1 Seg´un el teorema de rotaci´on de Euler, cualquier rotaci´on de un s´olido tridimensional puede representarse como una secuencia de tres rotaciones en torno a ejes de coordenadas diferentes. Las matrices de rotaci´on ortonormal en tres dimensiones poseen nueve elementos, sin embargo no son independientes: como ya hemos visto, los vectores columna tienen magnitud unitaria, lo que a˜nade tres restricciones al sistema. Por otra parte, los vectores columna son ortogonales entre s´ı, lo que a˜nade otras tres restricciones hasta tener efectivamente 3 valores independientes. Es importante tener en cuenta que las matrices de rotaci´on no poseen la propiedad conmutativa; es decir: el orden en que se concatenan es muy importante.
2.1. POSICI ´ ON Y ORIENTACI ´ ON DEL ROBOT 11 Si se considera un punto py tres sistemas de referencia distintos S0,S1yS2, existen tres posibles representaciones de este punto p:p0,p1yp2. Las relaciones entre unas y otras representaciones son: p0=R0 1p1(2.1) p0=R0 2p2(2.2) p1=R1 2p2(2.3) Por ´ultimo, sustituyendo (2.3) en (2.1) y comparando el resultado con (2.2), se obtiene la siguiente identidad: R0 2=R0 1R1 2 que representa la regla de composici´on de rotaciones y establece que para expresar las coordenadas de pen el sistema de coordenadas de S2respecto al sistema de coordenadas S0, se debe primero transformar p2ap1—en el sistema de referencia S1— y a continuaci´on transformar p1ap0. La expresi´on generalizada de esta regla es: R0 n=R0 1R1 2. . . Rn−1 n 2.1.2. Matrices de transformaci´on homog´enea Como ya se introdujo, las matrices de transformaci´on homog´enea tienen la propiedad de expresar una rotaci´on y una traslaci´on simult´aneamente. De aqu´ı en adelante, las matrices de transformaci´on homog´enea ser´an denotadas por la letra A. Su estructura se compone de cuatro submatrices: A=R3×3p3×1 01×31=Rotaci´on Traslaci´on 0 1 Esta matriz permite representar la orientaci´on y posici´on de un sistema de referencia S1 resultado de rotar y trasladar el sistema original S0seg´un R3×3yp3×1respectivamente. Tambi´en servir´ıa para conocer las coordenadas (r0 x,r0 y,r0 z) del vector ren el sistema S0a partir de sus coordenadas en el sistema S1: r0 x r0 y r0 z 1 =A0 1 r1 x r1 y r1 z 1 O para representar las nuevas coordenadas de un vector que ha experimentado un giro y una traslaci´on en un sistema de referencia S0: rx0 ry0 rz0 1 =A0 1 rx ry rz 1 2.1.3. Matrices anti-sim´etricas, velocidad angular y aceleraci´on Las matrices de rotaci´on resultan muy ´utiles para calcular por ordenador la velocidad y la aceleraci´on relativas entre sistemas de coordenadas. Tales operaciones implican
18 CAP´ ITULO 2. FUNDAMENTOS TE ´ ORICOS sobre ´el se han definido las fuerzas y pares que act´uan. A continuaci´on se presenta tambi´en un glosario de los t´erminos empleados en el m´etodo, con todos los vectores expresados en t´erminos del sistema de referencia Si: ri−1,ci = vector que une el origen del sistema de referencia Si−ial centro de masas del eslab´on i. ri−1,i = vector que une el origen del sistema Si−ial origen de Si. ri,ci = vector que une el origen de Sicon el centro de masas del eslab´on i. fi= fuerza ejercida por el eslab´on i−1 sobre el eslab´on i. τi= par ejercido por el eslab´on i−1 sobre el eslab´on i. mi= masa del eslab´on i. Ii= matriz de inercia del eslab´on i-´esimo con respecto a un sistema de referencia paralelo al Sicentrado en el centro de masas ac,i = aceleraci´on absoluta del centro de masas del eslab´on i. ae,i = aceleraci´on del final del eslab´on i, coincidente con el origen de Si+1. gi= aceleraci´on de la gravedad expresada en el sistema Si. ωi= velocidad angular del sistema de referencia Si. αi= aceleraci´on angular de Si. zi= eje de rotaci´on del sistema coordenado Sirespecto de S0. Ri i+1 = matriz de rotaci´on de Sirespecto de Si+1. Figura 2.3: Fuerzas y pares ejercidos sobre el eslab´on i. Seg´un la ley de acci´on-reacci´on, la fuerza fies la ejercida por el eslab´on i−1 sobre el eslab´on i, y −fi+1 es la fuerza ejercida por el eslab´on i+ 1. Para poder manipular ambos vectores, es necesario expresarlos en el mismo sistema de referencia; sin embargo, fi+1 est´a expresada seg´un el sistema de referencia i+1, y fien el sistema de referencia i. Por tanto, se debe multiplicar el primero por la matriz de rotaci´on Ri i+1 para expresarla en el sistema de coordenadas adecuado. Una vez que todos los vectores est´an expresados respecto del mismo sistema de referencia, se puede hacer el balance de fuerzas en el eslab´on iseg´un la
2.4. DIN ´ AMICA: M ´ ETODOS DE NEWTON-EULER Y EULER-LAGRANGE 19 expresi´on (2.5), tal como sigue: XFi=miai,ci fi−Ri i+1fi+1 +migi=miac,i fi=Ri i+1fi+1 +miac,i −migi(2.8) Como ya advertimos, el t´ermino gravitatorio −migipuede eliminarse de la ecuaci´on (2.8) si se impone a la base una aceleraci´on a0= [0,0,−g]T. De id´entica forma, se puede hacer el balance de pares seg´un la expresi´on (2.6) tal como se muestra a continuaci´on: Xτi=ωi×(Iiωi) + Ii˙ ωi τi−Ri i+1τi+1 +fi×ri−1,ci −(Ri i+1fi+1)×ri,ci =ωi×(Iiωi) + Iiαi τi=Ri i+1τi+1 −fi×ri−1,ci + (Ri i+1fi+1)×ri,ci +ωi×(Iiωi) + Iiαi(2.9) Resolviendo la ecuaci´on (2.9) a partir de las condiciones terminales —correspondientes a los valores de pares y fuerzas externos ejercidos sobre el extremo del robot manipulador— y sustituyendo en ella la expresi´on de la fuerza de la ecuaci´on (2.8), se obtendr´ıa el resultado del par en cada articulaci´on. No obstante, estas ecuaciones deben expresarse en funci´on de las coordenadas articulares y sus derivadas qi, ˙qiy ¨qi. Para ello, el m´etodo de NewtonEuler recurre previamente a un c´alculo recursivo en orden creciente de i, partiendo de las condiciones iniciales ya indicadas anteriormente, y relacionando ωi,˙ ωiyac,i con qi, ˙qiy ¨qi. En primer lugar, la expresi´on de la velocidad angular ωien funci´on del sistema de referencia inercial o absoluto —representada por un (0) en el super´ındice— es: ω(0) i=ω(0) i−1+zi−1˙qi Y esta misma expresi´on, seg´un el sistema de referencia fijo al eslab´on i, resultar´ıa: ωi= (Ri−1 i)Tωi−1+bi˙qi(2.10) donde bies igual a: bi= (R0 i)TR0 i−1z0(2.11) y es el vector que representa la direcci´on del eje de rotaci´on de la articulaci´on iexpresado en el sistema de referencia Si. Respecto a la aceleraci´on angular αi, derivada de la velocidad angular del eslab´on i pero expresada en el sistema de coordenadas solidario con ese eslab´on, es: αi= (R0 i)T˙ ω(0) i Es importante que el lector entienda que αi6=˙ ωi. La derivada de la expresi´on (2.10) es: ˙ ω(0) i=˙ ω(0) i−1+zi−1¨qi+ω(0) i×zi−1˙qi y esta expresada en el sistema de referencia Sies: αi= (Ri−1 i)Tαi−1+bi¨qi+ωi×bi˙qi(2.12)
20 CAP´ ITULO 2. FUNDAMENTOS TE ´ ORICOS Por ´ultimo, la aceleraci´on lineal del centro de masas del eslab´on ise obtiene derivando la ecuaci´on de su velocidad lineal, cuya expresi´on es: v(0) c,i =v(0) e,i−1+ω(0) i×r(0) i−1,ci (2.13) y por tanto, teniendo en cuenta que r(0) i−1,ci es constante, la expresi´on de la aceleraci´on del centro de masas del eslab´on irespecto del sistema absoluto o inercial S0resulta: a(0) c,i =a(0) e,i−1×r(0) i−1,ci +ω(0) i×(ω(0) i×r(0) i−1,ci) Esta aceleraci´on, expresada en el sistema de coordenadas solidario al eslab´on imediante el uso de las matrices de rotaci´on y sus propiedades (ver secci´on 2.1.1), resulta: ac,i = (Ri−1 i)Tae,i−1+˙ ωi×ri−1,ci +ωi×(ωi×ri−1,ci) (2.14) Y por ´ultimo, se puede expresar la aceleraci´on del extremo del eslab´on - coincidente con el origen de coordenadas del sistema Si+1 - sustituyendo ri−1,ci por ri−1,i en la ecuaci´on anterior, de modo que se obtiene: ae,i = (Ri−1 i)Tae,i−1+˙ ωi×ri−1,i +ωi×(ωi×ri−1,i) (2.15) El m´etodo de Newton-Euler consistir´ıa, por tanto, en una recursi´on progresiva de 0 a ny una regresiva de na 0. En resumen: 1. Recurrencia progresiva: que parte de las condiciones iniciales ya definidas anteriormente: a0=v0=ω0=˙ ω0=0 0 0T y recorre los eslabones desde i= 1 hasta ncalculando en cada paso las expresiones (2.10), (2.12), (2.15) y (2.14) seg´un ese orden. 2. Recurrencia regresiva: que, partiendo de las condiciones τn+1 =fn+1 = 0 y calculando desde i=nhasta i= 0, eval´ua las expresiones (2.9) y (2.8). Este procedimiento es susceptible de ser programado en un sistema de c´alculo simb´olico para obtener f´ormulas para las componentes del vector de fuerzas y momentos τen t´erminos de q,˙ qy¨ q. El ap´endice B muestra una implementaci´on en el programa Maple para la realizaci´on de estos c´alculos.
Cap´ıtulo 3 Caracterizaci´on del robot IRB 120 En el presente cap´ıtulo se presentan los par´ametros cinem´aticos y din´amicos necesarios para establecer el modelo del robot IRB 120 y se explica c´omo se han obtenido. En la secci´on 3.1 se presentan los datos t´ecnicos del modelo IRB 120 que ABB ha hecho de dominio p´ublico en la documentaci´on t´ecnica del equipo. ABB ha generado, para este robot manipulador, igual que para el resto de los de su gama, la documentaci´on t´ecnica suficiente para facilitar al usuario la elecci´on del m´as adecuado seg´un el tipo de aplicaci´on que desee; as´ı como instalar, manipular y conservar correctamente el sistema. Sin embargo, como desarrollador y fabricante, ABB evita hacer p´ublica cualquier informaci´on que desvele par´ametros confidenciales o que facilite la reproducci´on de su modelo por terceros. Por esta raz´on, para caracterizar el robot IRB 120 se ha debido recurrir a las estimaciones disponibles de algunos de sus par´ametros. En la secci´on 3.2, se detalla el c´alculo de los par´ametros cinem´aticos del robot a partir de los valores obtenidos mediante el algoritmo de Denavit-Hartenberg. Este algoritmo, introducido por Jacques Denavit y Richard S. Hartenberg en 1955, permite reducir a 4 los par´ametros necesarios para asociar sistemas de referencia no inerciales a los eslabones de las cadenas cinem´aticas o robots manipuladores. A partir de estos par´ametros se obtienen las matrices de rotaci´on de la cadena cinem´atica. En la secci´on 3.3 se detalla el c´alculo de las matrices de transformaci´on homog´enea del manipulador IRB 120 as´ı como el resto de par´ametros cinem´aticos necesarios para establecer el modelo del robot. A continuaci´on, en la secci´on 3.4 se explica c´omo se han obtenido los valores de los par´ametros din´amicos fundamentales en la descripci´on del robot manipulador IRB120. Estos son: las masas, los centros de masas y las matrices de inercia de cada eslab´on respecto de los sistemas de referencia solidarios con origen trasladado a los centros de masas. Por ´ultimo, en la secci´on 3.5 se explica c´omo ha sido el desarrollo del modelo din´amico del robot manipulador IRB 120 a partir de los par´ametros obtenidos. 3.1. Datos t´ecnicos del robot IRB 120 Las referencias bibliogr´aficas [1] y [2] corresponden a la documentaci´on t´ecnica que ABB pone a disposici´on del usuario del robot manipulador IRB 120 para su correcto uso y mantenimiento. Como ya se present´o en la secci´on 1.2, se trata de un robot de 6 grados 21
22 CAP´ ITULO 3. CARACTERIZACI ´ ON DEL ROBOT IRB 120 de libertad cuyas caracter´ısticas t´ecnicas principales son: Robot manipulador Capacidad de porte (kg) Alcance (m) Peso (kg) IRB 120 3 kg 0.58 m 25 kg Cuadro 3.1: Datos generales del robot IRB 120 La Figura 3.1 representa un esquema en tres dimensiones del IRB 120 en el que se aprecian los ejes de rotaci´on de cada una de sus articulaciones. Los rangos de movimiento de cada uno de ellos, medidos en grados de ´angulo, se han compilado en el Cuadro 3.2. Figura 3.1: Esquema del robot manipulador IRB 120. Ubicaci´on del movimiento Tipo de movimiento Rango de movimiento Eje 1 Movimiento de rotaci´on +165 ° a−165 ° Eje 2 Movimiento del brazo +110 ° a−110 ° Eje 3 Movimiento del brazo +70 ° a−110 ° Eje 4 Movimiento de la mu˜neca +160 ° a−160 ° Eje 5 Movimiento de doblado +120 ° a−120 ° Eje 6 Movimiento de giro +400 ° a−400 ° Cuadro 3.2: Rango de movimiento de cada eje del robot manipulador. Por otra parte, los ensayos de rendimiento del IRB 120 realizados por el fabricante seg´un la norma ISO 9283 han aportado los siguientes valores de repetibilidad y exactitud: Repetibilidad de pose (RP) en mm: 0.01. Exactitud de pose (AP) en mm: 0.02. Repetibilidad de trayectoria lineal (RT) en mm: 0.07 - 0.16. Exactitud de trayectoria lineal (AT) en mm: 0.21-0.38.
3.2. PAR ´ AMETROS DE DENAVIT-HARTENBERG DEL ROBOT IRB 120 23 Para lograr tales valores, ha sido imprescindible el desarrollo de un modelo din´amico muy preciso que el controlador del manipulador utiliza para regular las respuestas de los actuadores. En este modelo din´amico, uno de los desaf´ıos m´as grandes de ABB consiste en identificar todos los par´ametros din´amicos del mecanismo complejo del robot manipulador. Generalmente, este proceso conlleva muchos meses de trabajo y numerosos ensayos. De hecho, el modelo din´amico implementado en el controlador comercial de ABB es completamente confidencial. Por ´ultimo, las cotas que se incluyen en los planos Figura 3.2: Cotas descriptivas del brazo rob´otico IRB 120. de la documentaci´on t´ecnica del producto han facilitado la obtenci´on de los par´ametros de Denavit-Hartenberg para el robot manipulador IRB 120. Este proceso se explica en la secci´on siguiente. 3.2. Par´ametros de Denavit-Hartenberg del robot IRB 120 El m´etodo m´as habitual en rob´otica para establecer los sistemas de referencia ligados a cada elemento es el de Denavit-Hartenberg. En esta secci´on se hace referencia al Cap´ıtulo 4 del libro Fundamentos de rob´otica de Antonio Barrientos [5], donde se explica en detalle el algoritmo de Denavit-Hartenberg para establecer los sistemas de coordenadas de cualquier cadena cinem´atica. Jacques Denavit y Richard S. Hartenberg formularon en 1955 un m´etodo matricial que define la posici´on y orientaci´on que debe tomar cada sistema de referencia Siasociado a cada eslab´on ipara poder sistematizar el c´alculo de las ecuaciones cinem´aticas de una
24 CAP´ ITULO 3. CARACTERIZACI ´ ON DEL ROBOT IRB 120 cadena completa. Seg´un este m´etodo, s´olo son necesarias cuatro transformaciones simples para pasar de un sistema de referencia ial siguiente. Estas transformaciones dependen ´unicamente de las caracter´ısticas geom´etricas de cada eslab´on (ver Figura 3.2). Las cuatro transformaciones b´asicas que deben sucederse consisten en una serie de rotaciones y traslaciones que permiten relacionar el sistema de referencia Si−1en el sistema de referencia Si. Estas son: 1. Rotaci´on alrededor del eje zi−1un ´angulo θi. 2. Traslaci´on a lo largo del eje zi−1una distancia di. 3. Traslaci´on a lo largo del eje xiuna distancia ai. 4. Rotaci´on alrededor del eje xiun ´angulo αi. El producto de estas cuatro transformaciones matriciales, que dado que no es conmutativo debe hacerse en el orden indicado, permiten obtener las matrices de transformaci´on que relacionan los sistemas de referencia de cada eslab´on con el siguiente: Ai−1 i=Rotz(θi)T(0,0, di)T(ai,0,0) Rotx(αi) Ai−1 i= Cθi−Sθi0 0 SθiCθi0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 di 0 0 0 1 1 0 0 ai 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0Cαi−Sαi0 0SαiCαi0 0 0 0 1 = Cθi−CαiSθiSαiSθiaiCθi SθiCαiCθi−SαiCθiaiSθi 0SαiCαidi 0 0 0 1 (3.1) Aqu´ı θi,di,ai,αison los par´ametros de Denavit-Hartenberg del eslab´on i. Los senos y cosenos han sido simplificados mediante SyC. Los par´ametros de D-H se obtienen de la siguiente forma (ver Figura 3.3): θiSe trata del ´angulo entre los ejes xi−1yxiseg´un un plano perpendicular al eje zi−1. Este par´ametro es variable en articulaciones giratorias. diEs la distancia medida a lo largo del eje zi−1desde el origen del sistema de coordenadas (i−1)-´esimo hasta la intersecci´on del eje zi−1con la direcci´on del eje xi. Es un par´ametro variable en articulaciones prism´aticas. aiEs la distancia medida a lo largo del eje xientre la intersecci´on del eje zi−1con el eje xihasta el origen del sistema i-´esimo para articulaciones giratorias como las del IRB 120. αiSe mide como el ´angulo entre los ejes zi−1yzi, seg´un el plano perpendicular al eje xiy utilizando la regla de la mano derecha. Cuando se quieren calcular relaciones entre sistemas de referencia no consecutivos, basta con hacer el producto de las sucesivas matrices de transformaci´on Ai−1 ientre ambos sistemas de referencia. As´ı, la matriz de transformaci´on entre el sistema de referencia Siy el sistema de referencia Sj, con j > i, viene dado por Ai j=Ai i+1Ai+1 i+2 · · · Aj−1 j.
3.2. PAR ´ AMETROS DE DENAVIT-HARTENBERG DEL ROBOT IRB 120 25 Figura 3.3: Par´ametros de Denavit-Hartenberg para una uni´on articulada. Para obtener los par´ametros de Denavit-Hartenberg, previamente se debe establecer la posici´on y orientaci´on de los sistemas de referencia {Si}de cada eslab´on seg´un el convenio definido por este m´etodo. En este trabajo, se ha seguido el algoritmo propuesto por Antonio Barrientos en [5]. Uno de los criterios principales de este convenio es establecer el eje zien la misma direcci´on que el eje de rotaci´on de la articulaci´on i+ 1, situando posteriormente xien la l´ınea normal com´un a ziyzi−1. Por ´ultimo, la orientaci´on del eje yidebe conformar un sistema dextr´ogiro junto a xiyzi. El conjunto de sistemas de referencia utilizado en este trabajo para el robot IRB 120 se muestra en la Figura 3.4. A partir de este esquema se han establecido los par´ametros de Denavit-Hartenberg de la Tabla 3.3, cuyas unidades son radianes para los ´angulos θy α, y metros para las longitudes dya. Los desplazamientos de −π/2 y πde los ´angulos θ2yθ5tienen por objeto cambiar el origen de medida de los ´angulos de modo que la posici´on cero de las variables θi,i= 1,...,6, correspondan con las posiciones naturales de los brazos articulados del robot a partir de las cuales se mide el rango de variaci´on de los movimientos. Articulaci´on θ(rad) d(m) a(m) α(rad) 1θ10.290 0 −π/2 2θ2−π/2 0 0.270 0 3θ30 0.070 −π/2 4θ40.302 0 π/2 5θ5+π0 0 π/2 6θ60.072 0 0 Cuadro 3.3: Valores de los par´ametros de D-H para el IRB 120 Las articulaciones del IRB 120 se han representado mediante cilindros para identificarlas como rotativas. Generalmente, se reservan los prismas para representar articulaciones prism´aticas, pero en el caso del IRB 120 ninguna de ellas es de este tipo, como ya se ha explicado previamente en la secci´on 2.2.
26 CAP´ ITULO 3. CARACTERIZACI ´ ON DEL ROBOT IRB 120 Figura 3.4: Cadena cinem´atica del IRB 120 seg´un el convenio de Denavit-Hartenberg. 3.3. Par´ametros cinem´aticos del robot IRB 120 Las matrices de transformaci´on homog´enea Ai−1 ique se obtienen mediante la ecuaci´on (3.1) para el robot IRB 120, se representan mediante la letra A, con un super´ındice que representa el sistema de referencia de la articulaci´on anterior y un sub´ındice que representa la articulaci´on siguiente. Estas matrices son: A0 1= cos(θ1) 0 −sin(θ1) 0 sin(θi) 0 cos(θ1) 0 0−1 0 d1 0 0 0 1 , d1= 0.290 A1 2= sin(θ2) cos(θ2) 0 a2sin(θ2) −cos(θ2) sin(θ2) 0 −a2cos(θ2) 0 0 1 0 0 0 0 1 , a2= 0.270 A2 3= cos(θ3) 0 −sin(θ3)a3cos(θ3) sin(θ3) 0 cos(θ3)a3sin(θ3) 0−1 0 0 0 0 0 1 , a3= 0.070 A3 4= cos(θ4) 0 sin(θ4) 0 sin(θ4) 0 −cos(θ4) 0 0 1 0 d4 0 0 0 1 , d4= 0.302
3.3. PAR ´ AMETROS CINEM ´ ATICOS DEL ROBOT IRB 120 27 A4 5= −cos(θ5) 0 sin(θ5) 0 −sin(θ5) 0 cos(θ5) 0 0 1 0 0 0 0 0 1 A5 6= cos(θ6)−sin(θ6) 0 0 sin(θ6) cos(θ6) 0 0 0 0 1 d6 0 0 0 1 , d6= 0.072 Todas ellas se pueden descomponer, como se ha repasado en la Secci´on 2.1, en una matriz de rotaci´on R∈R3×3y un vector de traslaci´on d= [dx, dy, dz]T∈R3. La cinem´atica directa del robot IRB-120 queda completamente determinada por el producto matricial T0 6=A0 1A1 2A2 3A3 4A4 5A5 6= r11 r12 r13 px r21 r22 r23 py r31 r32 r33 pz 0 0 0 1 El vector p= [px, py, pz]Tes el vector de posici´on de la herramienta con respecto al sistema de referencia de la base, y la matriz de rotaci´on R= (rij) define la orientaci´on de dicha herramienta. Las f´ormulas que dan los elementos de la matriz de rotaci´on R, y del vector de traslaci´on pen t´erminos de los ´angulos de rotaci´on y de los par´ametros de Denavit-Hartenberg se relacionan, por completitud, a continuaci´on: r11 =c6[c5(−c1s2c3c4−c1c2s3c4−s1s4) + s5(c1s2s3−c1c2c3)] +s6(−c1s2c3s4−c1c2s3s4+s1c4) r21 =c6[c5(−s1s2c3c4−s1c2s3c4+c1s4)−s5(−s1s2s3+s1c2c3)] −s6(s1s2c3s4+s1c2s3s4+c1c4) r31 =−c6[c5(c2c3c4−s2s3c4)−s5(c2s3+s2c3)] +s6(−c2c3s4+s2s3s4) r12 =−s6[−c5(c1s2c3c4+c1c2s3c4+s1s4)−s5(−c1s2s3+c1c2c3)] −c6(c1s2c3s4+c1c2s3s4−s1c4) r22 =−s6[−c5(s1s2c3c4+s1c2s3c4+c1s4)−s5(−s1s2s3+s1c2c3)] −c6(s1s2c3s4+s1c2s3s4+c1c4) r32 =−s6[c5(−c2c3c4+s2s3c4) + s5(c2s3+s2c3)] −c6(c2c3s4−s2s3s4) r13 =s5(c1s2c3c4+c1c2s3c4+s1s4) + c5(−c1s2s3+c1c2c3) r23 =s5(s1s2c3c4s1c2s3c4−c1s4) + c5(−s1s2s3+s1c2c3)
34 CAP´ ITULO 3. CARACTERIZACI ´ ON DEL ROBOT IRB 120
Cap´ıtulo 4 Simulaciones y resultados En este cap´ıtulo se explica la estructura del modelo elaborado en el entorno de Matlab Simulink del robot manipulador IRB 120. En base a ese modelo, se han realizado diversas simulaciones con control en lazo abierto y en lazo cerrado con el objetivo de probar su validez. Todo el modelo est´a basado en el dominio articular seg´un la ecuaci´on ya analizada en cap´ıtulos anteriores: M(q)¨ q+C(q,˙ q)˙ q+g(q) = τ(4.1) Las diferentes estrategias de control que se han utilizado en este modelo permiten controlar la posici´on (set-point controllers) —estableciendo una posici´on inicial y una posici´on final— ajustando las variables articulares q(t) y sus derivadas primera y segunda para alcanzarla. Se ha considerado que el robot manipulador est´a provisto de motores ideales, cuya din´amica es despreciable. Tampoco se han tenido en cuenta posibles efectos viscosos. En t´erminos formales y siguiendo el argumento del cap´ıtulo 8 de [15], el objetivo del control de la posici´on consiste en encontrar un par τtal que: l´ım t→∞ q(t) = qd donde qd∈Rnes un vector constante que representa la posici´on deseada de las articulaciones. La forma de evaluar si un controlador consigue el objetivo es estudiar la estabilidad asint´otica en el origen del sistema en lazo cerrado seg´un Lyapunov. Para ello, se considera que el objetivo del control de la posici´on es: l´ım t→∞ ˜ q(t)=0 donde ˜ q∈Rnes un vector que representa el error de posici´on de cada articulaci´on. Este error se define como: ˜ q(t) := qd−q(t) En primer lugar, en la secci´on 4.1 se presentan los par´ametros bajo los que se ha construido el modelo y se han ejecutado todas las simulaciones. En la secci´on 4.2 se explica el modelo en lazo abierto con control por posici´on deseada y se presentan los resultados de dos simulaciones distintas. Como se observar´a en esta secci´on, el lazo abierto no permite el control estable de la respuesta del sistema, que sigue trayectorias err´aticas sin converger al valor deseado. En la secci´on 4.3 se analizan los resultados de un modelo basado en un controlador proporcional con realimentaci´on de la velocidad. 35
36 CAP´ ITULO 4. SIMULACIONES Y RESULTADOS En la secci´on 4.4 se presenta un modelo en lazo cerrado con un controlador ProporcionalDerivativo basado en la posici´on deseada. En este caso s´ı se consigue una salida estable, como se ver´a en los resultados de las simulaciones ejecutadas con este modelo. Sin embargo, siguiendo lo expuesto en el cap´ıtulo 7 de [15], un control PD no garantiza alcanzar el objetivo de posici´on cuando el modelo din´amico contempla la acci´on de la gravedad sobre los eslabones, a no ser que la posici´on final o deseada sea tal que g(qd) = 0. Por ´ultimo, se ha probado a implementar un controlador PID al robot manipulador IRB 120. En la secci´on 4.5 se analizan los resultados de las simulaciones llevadas a cabo con este tipo de control. El ajuste de los par´ametros de una PID no es trivial como en el caso de un controlador PD —donde basta con que las matrices KpyKdsean definidas positivas— pues depende directamente de la matriz de inercia y la matriz de gravedad del sistema. Un m´etodo para ajustar los par´ametros es presentado en la literatura (cap´ıtulo 9 de [15]). Figura 4.1: Representaci´on simple de las entradas y salidas de un controlador de posici´on en lazo cerrado. 4.1. Estructura del modelo y de las simulaciones en Simulink La din´amica del robot IRB 120 se encapsula en los modelos Simulink mediante dos bloques Dinamica inversa yDinamica directa, con puertas de entrada y salida m´ultiples, que internamente incluyen funciones Matlab que eval´uan los diferentes t´erminos de la ecuaci´on (4.1). Las puertas de entrada del bloque Din´amica directa corresponden a los valores iniciales q(0) y ˙ q(0) y al vector de pares en las articulaciones τ. Internamente el bloque eval´ua mediante una funci´on Matlab function ddq=din inv(tau,q,dq) el segundo miembro de ¨ q=M(q)−1(τ−C(q,˙ q)˙ q−g(q)) , para seguidamente invocar el bloque de Simulink integrador de segundo orden. Las puertas de salida del bloque proporcionan los valores de q(t) y ˙ q(t) que se obtienen al integrar las ecuaciones diferenciales del modelo. La Figura 4.2 muestra el diagrama de bloques con la funci´on Matlab implementada El bloque Din´amica inversa toma en las puertas de entrada los valores que corresponden q(t),˙ q(t) y ¨ q(t), y proporciona en la puerta de salida el valor del par en las articulaciones τ(t), dado por τ=M(q)¨ q+C(q,˙ q)˙ q+g(q)
4.1. ESTRUCTURA DEL MODELO Y DE LAS SIMULACIONES EN SIMULINK 37 Figura 4.2: Diagrama de bloques de la din´amica directa. Internamente el bloque contiene una funci´on Matlab function CG=cori grav(q,dq) que eval´ua la contribuci´on de los vectores de Coriolis C(q,˙ q)˙ qy gravitatorio g(q), y una funci´on Matlab function Mq=Inercia matrix(q,ddq) que eval´ua la contribuci´on de los t´erminos inerciales M(q)¨ q(t). El diagrama de bloques asociado se presenta en la figura 4.3 Figura 4.3: Diagrama de bloques de la din´amica inversa. Todos los par´ametros del entorno de Simulink est´an predefinidos para tomar su valor del entorno de trabajo de Matlab. Por ello, para agilizar el proceso, los par´ametros principales de cada simulaci´on se establecen ejecutando previamente un programa Parametros workspace IRB120 model PID.m desde la ventana de comandos de Matlab. En el Cuadro 4.1 se recogen los par´ametros comunes del algoritmo de integraci´on de las ecuaciones diferenciales de todas las simulaciones:
38 CAP´ ITULO 4. SIMULACIONES Y RESULTADOS Tipo de ”solver” ode45 (Dormand-Prince) Tolerancia relativa 0.001 Tolerancia absoluta Autom´atica Tama˜no m´aximo de paso Autom´atico Tama˜no m´ınimo de paso Autom´atico Tama˜no de paso inicial Autom´atico Cuadro 4.1: Par´ametros del algoritmo ”solver” utilizado en las simulaciones 4.2. Simulaci´on en lazo abierto Simulaci´on 1: En esta primera simulaci´on, se ha definido el modelo de la Figura 4.4. Se alimenta con dos vectores ∈R6correspondientes a la posici´on inicial q0y a la velocidad inicial ˙q0: qd=0 0 0 0 0 0 q0=π/6π/12 −π/12 π/4−π/6π/2 ˙ q0=0 0 0 0 0 0 Figura 4.4: Esquema del modelo en Simulink con control en lazo abierto. En primer lugar, se alimenta el bloque de din´amica inversa con el valor de referencia para la posici´on qd. Este bloque resuelve las matrices de inercia, de Coriolis y de gravedad para hallar el par correspondiente en cada iteraci´on τ(t). El bloque de din´amica directa se alimenta con el par calculado τy se realimentan la posici´on q(t) y la velocidad ˙ q(t). Este bloque, conocidas estas variables, resuelve la ecuaci´on de la din´amica del robot manipulador IRB 120 despejando ¨ q(t) y calculando las matrices de inercia, Coriolis y gravedad: ¨ q(t) = M(q)−1[τ(t)−C(q,˙ q)˙ q−g(q)] Como se observa en la Figura 4.5, la salida del modelo devuelve valores totalmente descontrolados. Partiendo de un vector inicial q0=π/6π/12 −π/12 π/4−π/6π/2,
4.3. CONTROL PROPORCIONAL CON REALIMENTACI ´ ON DE VELOCIDAD 39 el modelo deber´ıa hacer tender la salida hacia los valores de referencia, que es el vector nulo 00000; sin embargo, se observa que la evoluci´on tanto de la velocidad como de la posici´on son arbitrarias. Figura 4.5: Resultados de la simulaci´on en lazo abierto: posici´on y velocidad angulares. Dada la arbitrariedad de la salida, la simulaci´on en lazo abierto no nos permite, por s´ı sola, verificar la validez del modelo din´amico del robot IRB 120 que se ha dise˜nado. Sin embargo, en conjunto con el resto de simulaciones que se presentan en este cap´ıtulo, nos permite descartar el lazo abierto como una estrategia de control contemplable en el dise˜no de control de un robot manipulador cualquiera. 4.3. Simulaci´on en lazo cerrado con control proporcional y realimentaci´on de la velocidad La siguiente estrategia de control que se presenta en este apartado consiste en un modelo en lazo cerrado con control proporcional y realimentaci´on de la velocidad angular. Se trata del controlador de lazo cerrado m´as simple que puede utilizarse para el control de robots manipuladores y tambi´en es conocido como ”Controlador proporcional con realimentaci´on tacom´etrica”. Su aplicaci´on es com´un en el control de la posici´on angular de motores de corriente continua. La ecuaci´on de este controlador resulta: M(q)¨ q+C(q,˙ q)˙ q+g(q) = Kp˜ q−Kd˙ q donde KpyKd∈R6×6son matrices sim´etricas definidas positivas que corresponden a la ganancia de posici´on y a la ganancia de velocidad respectivamente [15]. Los valores de estas
40 CAP´ ITULO 4. SIMULACIONES Y RESULTADOS ganancias deben ser preestablecidos experimentalmente seg´un el tipo de respuesta que se desee —amortiguada, sub-amortiguada, sobre-amortiguada— as´ı como a la duraci´on posible del transitorio. El vector ˜ q=qfinal −q∈R6representa el error de posici´on. La llamada qfinal es la posici´on deseada o de referencia. Figura 4.6: Esquema del modelo en Simulink con control proporcional y realimentaci´on de la velocidad. Las matrices de ganancias que se han utilizado en las simulaciones con lazo cerrado se muestran a continuaci´on. Los valores de estas matrices diagonales definidas positivas se han escogido as´ı buscando una respuesta amortiguada y tratando de conservar, al mismo tiempo, una curva de pares los m´as estable posible. Kp= 3000000 0 30 0 0 0 0 0 0 30 0 0 0 0 0 0 30 0 0 0 0 0 0 30 0 0000030 (4.2) Kd= 10 0 0 0 0 0 0 10 0 0 0 0 0 0 10 0 0 0 0 0 0 7 0 0 0 0 0 0 7 0 0 0 0 0 0 7 (4.3) Simulaci´on 2: En la primera simulaci´on se han considerado los valores siguientes de qfinal =qdeseada yq0: q0=π/6π/12 −π/12 π/4−π/6π/2 qfinal =0 0 0 0 0 0 Los resultados de evoluci´on del error, de la posici´on y de la velocidad se muestran en las Figuras 4.7 y 4.8. La curva de evoluci´on de los pares aparece representada en
4.4. SIMULACI ´ ON EN LAZO CERRADO CON CONTROL PD 41 la Figura 4.9. Con esta estrategia de control se logra una salida bien controlada que responde correctamente a los valores de referencia: el error e(t) es asint´oticamente estable en el origen en un tiempo inferior a los dos segundos. Figura 4.7: Simulaci´on 2: evoluci´on de e(t) en LC con control proporcional y realimentaci´on de la velocidad. 4.4. Simulaci´on en lazo cerrado con control PD El control Proporcional-Derivativo es una extensi´on del control en lazo cerrado presentado en la secci´on 4.3. En este caso, la se˜nal de error se compone del t´ermino proporcional (el error en la posici´on) y del t´ermino derivativo (el error en la velocidad). La ecuaci´on que rige el comportamiento de este m´etodo de control es: M(q)¨ q+C(q,˙ q)˙ q+g(q) = Kp˜ q+Kd˙ ˜ q donde ˜ q= (qfinal −q)∈R6 ˙ ˜ q= ( ˙ qfinal −˙ q)∈R6 En la simulaci´on ejecutada con este m´etodo de control se han utilizado las matrices de ganancias (4.2) y (4.3). El esquema de este modelo se presenta en la figura 4.10.
42 CAP´ ITULO 4. SIMULACIONES Y RESULTADOS Figura 4.8: Simulaci´on 2: evoluci´on de qy˙ qen LC con control proporcional y realimentaci´on de la velocidad. Simulaci´on 3: Los par´ametros iniciales que se han establecido en esta simulaci´on son id´enticos a los de la Simulaci´on 4.3 para poder comparar la evoluci´on del error entre ambos m´etodos de control. q0=π/6π/12 −π/12 π/4−π/6π/2 qfinal =0 0 0 0 0 0 Con el controlador PD se obtienen errores iniciales m´as reducidos y unas curvas m´as amortiguadas. En la Figura 4.11 se muestra la evoluci´on del error en cada articulaci´on (en radianes) y en la Figura 4.12 se han representado las trayectorias y velocidades de las articulaciones en radianes y en radianes/s. En la gr´afica 4.12 se observa que las curvas que representan la evoluci´on de los pares en las articulaciones 1, 2 y 3 son mucho m´as prominentes que las de las articulaciones 4, 5 y 6, cuyos valores son inferiores a 1 nm inicialmente. Esto es debido a m´ultiples factores de car´acter mec´anico: 1. Las masas y las inercias de los eslabones 1, 2 y 3 son mucho mayores que las de los eslabones 4, 5 y 6. 2. En una cadena cinem´atica como la de un robot manipulador, los eslabones inferiores soportan el peso de todos los eslabones conectados encima y se ven afectados por los efectos inerciales y de Coriolis de ´estos. Por otra parte, los pares finales de τ2yτ3son distintos de 0 porque en el estado de reposo final —una vez alcanzados los valores de referencia o qfinal— los efectos de la
4.5. SIMULACI ´ ON EN LAZO CERRADO CON CONTROL PID 43 Figura 4.9: Simulaci´on 2: evoluci´on de τen LC con control proporcional y realimentaci´on de la velocidad. gravedad sobre todos los eslabones superiores se cargan sobre las articulaciones 2 y 3. La articulaci´on 5 tambi´en soportar´a el peso de los eslabones 5 y 6, pero como las masas de ´estos son muy peque˜nas, el par es despreciable y no se distingue en la gr´afica. 4.5. Simulaci´on en lazo cerrado con control PID En las estrategias de control anteriores, basadas en controladores PD, el ajuste de las matrices de ganancias KpyKdes trivial, pues la ´unica condici´on necesaria para conseguir el objetivo de control es que sean sim´etricas y definidas positivas. El controlador PID es el m´as com´un en los robots manipuladores comerciales. Mediante la introducci´on del componente integral, se logra llevar el error de posici´on a cero en modelos din´amicos en los que se incluye el t´ermino de gravedad, algo que con un controlador PD es te´oricamente imposible sin un m´etodo de compensaci´on de la gravedad [15]. La ecuaci´on que rige el control PID es: M(q)¨ q+C(q,˙ q)˙ q+g(q) = Kp˜ q+Kd˙ ˜ q+Ki˜ donde ˙ ˜ =˜ q, con ˜ (0) = 0. En el cap´ıtulo 9 de [15] se explica con detalle un procedimiento de ajuste de las matrices de ganancias Kp,KdyKi, derivado del an´alisis de la estabilidad asint´otica del sistema mediante el m´etodo directo de Lyapunov. En este trabajo de fin de m´aster no se ha querido entrar al detalle te´orico de este m´etodo, pero a continuaci´on se presenta el procedimiento que permite ajustar el controlador PID con el fin de lograr localmente el control de la posici´on. Este procedimiento se expresa en funci´on de los autovalores de las matrices de ganancias Kp,KdyKi. Las tres condiciones que se deben satisfacer son:
50 CAP´ ITULO 4. SIMULACIONES Y RESULTADOS Figura 4.19: Simulaci´on 5: evoluci´on del error e(t) con el controlador PID.
Cap´ıtulo 5 Conclusi´on del trabajo En este cap´ıtulo se hace un resumen de las contribuciones de este trabajo de fin de m´aster y se sugieren posibles l´ıneas de continuaci´on del estudio realizado. 5.1. Contribuciones El objetivo de este trabajo fue, desde un primer momento, obtener un modelo din´amico del robot IRB 120 y su validaci´on mediante el dise˜no de controladores de lazo abierto y lazo cerrado, mediante la ejecuci´on de una serie de simulaciones en el entorno de MatlabSimulink. Se ha realizado el modelado cinem´atico del robot ABB IRB1 120 mediante la utilizaci´on de los par´ametros de Denavit-Hartenberg. Esto nos ha permitido el estudio de la cinem´atica del robot, como paso previo al modelado y control din´amico. La obtenci´on del modelo din´amico del robot IRB 120 es un problema complejo debido a la dificultad de poder obtener estimaciones correctas de los par´ametros din´amicos. Por ello, se han utilizado diversas fuentes bibliogr´aficas: datos de la empresa ABB, art´ıculos y bibliograf´ıa cient´ıfica. A partir de todas estas fuentes, se han obtenido, utilizando simplificaciones, buenas estimaciones de los par´ametros din´amicos del robot: masas, centros de masas y las matrices de inercia respecto de los centros de masas de cada uno de los eslabones del robot IRB 120. Estos par´ametros nos han permitido obtener el modelo mec´anico del robot. Este modelo ha sido calculado asumiendo una serie de simplificaciones que lo alejan del modelo din´amico exacto, pero que permiten caracterizar el robot apropiadamente como se ha demostrado en los resultados de las simulaciones del cap´ıtulo 4. Todo el modelo se ha llevado a cabo en el dominio articular, es decir, que no se ha requerido el uso de cinem´atica directa e inversa. Esto es as´ı porque los controladores que se han implementado act´uan sobre las se˜nales de posici´on de las articulaciones y no en el espacio cartesiano. Las ecuaciones que caracterizan al modelo mec´anico del robot se han desarrollado en el apartado 3.5 de este TFM, y han sido obtenidas mediante programaci´on con lenguaje MAPLE. Estas ecuaciones han sido integradas con el software Matlab-Simulink para obtener los controladores din´amicos (lazo abierto y lazo cerrado) del robot IRB 120. Varias estrategias de control din´amico del robot IRB 120 han sido programadas y simuladas utilizando Matlab-Simulink. Todas las simulaciones se realizaron en el ´ambito de las coordenadas articulares del robot. La simulaci´on realizada con control din´amico 51
52 CAP´ ITULO 5. CONCLUSI ´ ON DEL TRABAJO en lazo abierto demostr´o que no es v´alida para estabilizar al robot. Con control en lazo abierto las variables articulares del robot no alcanzaban los valores deseados, introducidos como consigna. Por ello, se dise˜naron varias estrategias de control en lazo cerrado: ”Control proporcional con realimentaci´on de velocidad”, ”control PD” y ”control PID”. Estos controladores sencillos han permitido verificar que proporcionan estabilidad al robot, y por lo tanto, como primeras estrategias de control din´amico en lazo cerrado para el robot IRB 120, proporcionan resultados adecuados. 5.2. Posibles l´ıneas de trabajo a futuro Se proponen las siguientes l´ıneas de trabajo a partir del estudio ya realizado: 1. Estimaci´on de los par´ametros din´amicos del robot IRB 120 mediante la realizaci´on de ensayos con el ejemplar del laboratorio de la Escuela de Ingenier´ıas Industriales de la Universidad de Valladolid y el ajuste multi-variable por m´ınimos cuadrados de los resultados para aproximar los valores de los centros de masas, de las matrices de inercias y de las masas. Esto permitir´ıa mejorar el modelo din´amico propuesto en este trabajo simplemente actualizando dichos valores. 2. Implementaci´on de la cinem´atica directa - cuya obtenci´on es trivial a partir de este trabajo - y de la cinem´atica inversa para pasar del dominio articular al dominio de coordenadas cartesianas que permita conocer la posici´on y orientaci´on del extremo del robot. 3. Estudio de los m´etodos de control de trayectorias. Este trabajo se ha centrado en el uso de estrategias de control de posici´on, pero el modelo din´amico obtenido representa una buena base para el estudio de estrategias de control m´as sofisticadas como el control robusto, el control adaptativo o el de compensaci´on adaptativa.
Ap´endice A Ficha t´ecnica del robot IRB 120 53
— ROBOTICS IRB 120 ABB’s 6 axis robot – for flexible and compact production The IRB 120 robot is the latest addition to ABB’s new fourthgeneration of robotic technology. It is ideal for material handling and assembly applications and provides an agile, compact and lightweight solution with superior control and path accuracy. Compact and lightweight IRB 120’s compact design enables it to be mounted virtually anywhere at any angle without any restriction - for example inside a cell, on top of a machine or close to other robots. IRB 120 is also the most portable and easy to integrate on the market with its 25 kg weight. The smooth surfaces are easy to clean and the cables for air and customer signals are internally routed, all the way from the foot to the wrist, ensuring that integration is effortless. Multipurpose IRB 120 is ideal for a wide range of industries including the electronic, food and beverage, machinery, solar, pharmaceutical, medical and research sectors. The Food Grade Lubrication (NSF H1) option includes Clean Room ISO Class 5, which ensures uncompromising safety and hygiene for food and beverage applications. Optimized working range IRB 120 has a horizontal reach of 580 mm, the best in class stroke, the ability to reach 112 mm below its base and a very compact turning radius. Fast, accurate and agile Designed with a light, aluminum structure, the motors ensure the robot is enabled with a fast acceleration, and can deliver accuracy and agility in any application. IRC5 Compact controller – optimized for small robots ABB’s new IRC5 Compact controller presents the capabilities of the IRC5 controller in a compact format. It brings accuracy and motion control to applications which have been exclusive to large installations and enables easy commissioning through one phase power input, external connectors for all signals and a builtin expandable 16 in, 16 out, I/O system. RobotStudio for offline programming enables manufacturers to simulate a production cell to find the optimal position for the robot, and provide offline programming to prevent costly downtime and delays to production. Reduced footprint The combination of the new lightweight architecture of the IRB 120 with the new IRC5 Compact controller introduces a significantly reduced footprint.
Axis movement Working range Velocity IRB 120 Axis 1 rotation +165° to -165° 250°/s Axis 2 arm +110° to -110° 250°/s Axis 3 arm +70° to -110° 250°/s Axis 4 wrist +160° to -160° 320°/s Axis 5 bend +120° to -120° 320°/s Axis 6 turn Default: +400° to -400° Max. rev: +242 to -242 420°/s 165° 165° R580 R121 Minimum turning radius axis 1 R169.4 411 580 112 982 580 165° 165° R580 R121 Minimum turning radius axis 1 R169.4 411 580 112 982 580 — Specification — Movement Working range — Technical information Environment Ambient temperature for robot manipulator: During operation +5°C (41°F) to +45°C (113°F) During transportation and storage -25°C (-13°F) to +55°C (131°F) During short periods (max. 24 h) up to +70°C (158°F) Relative humidity Max. 95% Noise level Max. 70 dB (A) Safety Safety and emergency stops 2-channel safety circuits supervision, 3-position enabling device Emission EMC/EMI-shielded Options Clean Room ISO class 5 (certified by IPA)** ** ISO class 4 can be reached under certain conditions. Data and dimensions may be changed without notice. Electrical Connections Supply voltage 200-600 V, 50/60 Hz Rated power transformer rating 3.0 kVA Power consumption 0.24 kW Physical Robot base 180 x 180 mm Robot height 700 mm Robot weight 25 kg IRB 120 1 kg picking cycle 25 x 300 x 25 mm 0.58 s 25 x 300 x 25 with 180° axis 6 reorientation 0.92 s Acceleration time 0-1 m/s 0.07 s Position repeatability 0.01 mm — Performance (according to ISO 9283) Robot version Reach (m) Handling capacity (kg) Armload (kg) IRB 120-3/0.6 0.58 3* 0.30 Number of axes 6 Protection IP30 Mounting Any angle Controller IRC5 Compact/IRC5 Single Cabinet Integrated signal supply 10 signals on wrist Integrated air supply 4 air on wrist (5 bar) * 4 with vertical wrist ROBO149EN_D Rev. J November 2019 — We reserve the right to make technical changes or modify the contents of this document without prior notice. With regard to purchase orders, the agreed particulars shall prevail. ABB does not accept any responsibility whatsoever for potential errors or possible lack of information in this document. We reserve all rights in this document and in the subject matter and illustrations contained therein. Any reproduction, disclosure to third parties or utilization of its contents – in whole or in parts – is forbidden without prior written consent of ABB. Copyright© 2019 ABB All rights reserved — abb.com/robotics
56 AP ´ ENDICE A. FICHA T ´ ECNICA DEL ROBOT IRB 120
Ap´endice B Modelo din´amico del robot IRB 120 obtenido utilizando el software MAPLE 57
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > >
72 AP ´ ENDICE B. PROGRAMA MAPLE DEL MODELO DIN ´ AMICO DEL IRB120
Bibliograf´ıa [1] ABB. Especificaciones del producto IRB 120. ID de documento: 3HAC035960-005. Revisi´on: T, 2019. [2] ABB. Ficha t´ecnica del producto IRB 120. ROBO149EN D Rev: J. 2019. [3] Arakelian, V. (ed.), Dynamic Decoupling of Robot Manipulators, in Mechanisms and Machine Science, Vol. 56, Springer International Publishing AG, 2018, ISBN 978-3319-74362-2. [4] Barhaghtalab H., Meigoli V., Golbahar Haghighi M. R., Nayeri S. A., Ebrahimi A., Dynamic analysis, simulation, and control of a 6-DOF IRB-120 robot manipulator using sliding mode control and boundary layer method, Journal of Central South University, 2018, 25(9), pp. 2219-2244. DOI: https://doi.org/10.1007/s11771-018-3909-2. [5] Barrientos A., Pe˜n´ın L. F., Balaguer C., Aracil R., Fundamentos de rob´otica, 2 ª edici´on, McGraw-Hill Interamericana de Espa˜na S.A.U., Madrid, 2007, ISBN 978-84481-5636-7. [6] Bonev I. RoKiSim, (Robot Kinematic Simulation).´ Ecole Superieure de Tecnologie de Quebec. Quebec, Cadana. 2013. http://www.parallemic.org/RoKiSim.html. [7] Can Bignol, Mustafa; Hakan Akpolat, Zuhtu; Ozmen Koca, Gonca. Robust Control of a Robot Arm Using an Optimized PID Controller. Firat University, Elazig, Turqu´ıa, 2018. [8] Craig John J., Rob´otica, 3 ª edici´on, Pearson Educaci´on, M´exico, 2006, ISBN 970-260772-8. [9] Corke P., Robotics, Vision and Control. Fundamental Algorithms in Matlab, in Springer Tracts in Advanced Robotics, Vol. 73, Springer–Verlag, Berl´ın, 2011, ISBN 9783-642-20143-1. [10] De Gea, Jos´e; Kirchner, Frank. Modelling and Simulation of Robot Arm Interaction Forces Using Impedance Control. IFAC Proceedings Volumes. Volumen 41, Issue 2, 2008. P´aginas 15589 - 15594.3 [11] Garrido S., Identificaci´on, estimaci´on y control de sistemas no lineales mediante RGO, Tesis Doctoral, Universidad Carlos III de Madrid, Legan´es, 1999, ISBN 04850. [12] Høifødt H., Dynamic Modeling and Simulation of Robot Manipulators: The NewtonEuler Formulation, NTNU MSc Thesis, Norwegian University of Science and Technology, 2011. 73
74 BIBLIOGRAF´ IA [13] Hollerbach J. M., A Recursive Lagragian Formulation of Manipulator Dynamics and a Comparative Study of Dynamics Formulation Complexity, IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-10(11), pp. 730–736, 1980. [14] Jun-Di Sun, Guang-Zhong Cao; Wen-Bo Li, Yu-Xin Liang; Su-Dan Huang. Analytical Inverse Kinematic Solution Using the D-H Method for a 6-DOF Robot. Shenzhen Key Laboratory of Electromagnetic Control, Shenzhen University, China. 2017. [15] Kelly R., Santib´a˜nez V., Lor´ıa A., Control of Robot Manipulators in Joint Space, en Advanced Textbooks in Control and Signal Processing, Springer–Verlag London Ltd., 2005, ISBN 978-1-85233-994-4. [16] Mato San Jos´e M. A. Simulaci´on, control cinem´atico y din´amico de robots comerciales usando la herramienta de MATLAB: Robotic Toolbox, Trabajo Fin de Grado, Universidad de Valladolid, Valladolid, 2014. [17] Mato M., Herreros A., Fraile J. C., Gonz´alez J. L., Baeyens E., P´erez-Turiel J., Gayubo F., Aplicaciones en MATLAB y SIMULINK para el modelado y control del movimiento de una estaci´on ABB IRB 120, ITAP, Universidad de Valladolid, en Actas de las XXXV Jornadas de Autom´atica, Valencia, 2014, ISBN 978-84-697-05896. [18] Ogata K., Ingenier´ıa de control moderna, 5 ª edici´on, Pearson Educaci´on S. A., Madrid, 2010, ISBN 978-84-8322-660-5. [19] P´erez Men´endez, F., Desarrollo de sistema de control para un manipulador de seis grados de libertad, Trabajo Fin de M´aster, Universidad de Oviedo, 2014. [20] P´erez Cisneros, M.A.; Cuevas Jimenez, E.V.; Zaldivar Navarro, D. Fundamentos de Rob´otica y mecatr´onica con MATLAB y SIMULINK. Editorial RA-MA. 2014. Editorial RA-MA. [21] Siciliano B., Sciavicco L., Villani L., Oriolo G., Robotics. Modelling, Planning and Control, en Advanced Textbooks in Control and Signal Processing, Springer–Verlag London Ltd., 2010, ISBN 978-1-84628-641-4. [22] Spong M. W., Vidyasagar M., Robot Dynamics and Control, John Wiley & Sons, Inc., New York, 1989, ISBN 0-471-61243-X. [23] Vasilyev, I. A.; Lyashin, A. M. Analytical Solution to Inverse Kinematic Problem for 6-DOF Robot-Manipulator. Central Research Institute of Robot Engineering and Engineering Cybernetics, St. Petersburg, Russia. 2008.