INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN Y DESARROLLO DE TECNOLOGÍA DIGITAL MAESTRÍA EN CIENCIAS CON ESPECIALIDAD EN SISTEMAS DIGITALES “DISEÑO DE CONTROLADORES CON COMPENSACIÓN ADAPTABLE DE GRAVEDAD PARA ROBOTS MANIPULADORES. ” T E S I S QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS P R E S E N T A: MANUEL EMILIO GÁMEZ URÍAS BAJO LA DIRECCIÓN DE: DR. LEONARDO ACHO ZUPPA JUNIO DE 2005 TIJUANA, B. C., MÉXICO Dedico esta tesis a mis padres: A quienes con todo orgullo debo todo lo que tengo y lo que soy HUMBERTO GAMEZ GARCIA y ELIA URIAS RODRIGUEZ Con el agradecimiento de mi vida porque de ellos siempre tuve todo su apoyo, amor y comprensión en cada una de las metas que me propuse. Manuel Emilio Gámez Urías AGRADECIMIENTOS: Agradezco profundamente y de todo corazón: A mi hermano Jesús Gabriel por brindarme todo su apoyo para que yo pudiera realizar mis estudios en esta ciudad. A mis hermanos y familia por motivarme y ayudarme en todo momento. A mi asesor Dr. Leonardo Acho Zuppa por su paciencia y enseñanzas Al Instituto Politécnico Nacional y al CITEDI por darme la oportunidad de realizar mis estudios de maestría. G R A C I A S CONTENIDO: Página RESUMEN……………………………………………………………………………….. i ABSTRACT……………………………………………………………………………… i Lista de Abreviaciones y Símbolos……………………………………………………... ii Lista de Figuras y Tablas……………………………………………………………….. iii INTRODUCCIÓN………………………………………………………………………. 1 CAPÍTULO 1 ROBOT MANIPULADOR Introducción………………………………………………………………………………. 3 1.1 Fundamentos de Control……………………………………………………………... 6 1.1.1 Conocimiento del sistema a controlar…………………………………………. 7 1.1.2 Modelado dinámico…………………………………………………………… 8 1.1.3 Propiedades de control………………………………………………………… 10 CAPÍTULO 2 MODELO DINÁMICO DEL ROBOT Introducción………………………………………………………………………………. 13 2.1 Modelo dinámico del robot utilizado………………………………………………… 14 2.2 Propiedades…………………………………………………………………………... 16 2.2.1 Propiedad de linealidad de parámetros de gravedad…………………………... 17 CAPÍTULO 3 CONTROLADORES EXISTENTES Introducción………………………………………………………………………………. 19 3.1 Control de Posición…………………………………………………………………... 19 3.1.1 Controlador de Regulación Global para Robots Manipuladores……………… 20 3.1.2 Controlador PD con Compensación de Gravedad…………………………… 24 3.2 Control de Movimiento………………………………………………………………. 29 3.2.1 Control PD+ …………………………………………………………………... 30 3.2.2 Control Par Calculado…………………………………………………………. 34 CAPÍTULO 4 DISEÑO DE LOS CONTROLADORES PID Introducción………………………………………………………………………………. 41 4.1 Descripción del Sistema……………………………………………………………… 41 4.2 Primera propuesta……………………………………………………………………. 43 4.2.1 Resultados de Simulación……………………………………………………... 45 4.3 Segunda propuesta…………………………………………………………………… 50 4.3.1 Resultados de simulación……………………………………………………… 53 APÉNDICE A Propiedades……………………………………………………………………………….. 61 A.1 Matriz de Inercia M(q)……………………………………………………………… 61 A.2 Matriz centrífuga y de Coriolis C ( q, q& ) ……………………………………………. 62 A.3 Vector de gravedad G(q)……………………………………………………………. 63 CONCLUSIONES……………………………………………………………………….. 65 BIBLIOGRAFÍA Y REFERENCIAS………………………………………………… 67 RESUMEN En el presente trabajo, se muestra el diseño de dos nuevos controladores no lineales PID con compensación adaptable de gravedad para robots manipuladores, aplicado al problema de seguimiento de trayectorias. Para efectuar el diseño adaptivo de éstos controladores, se utiliza la propiedad de linealidad en términos de los parámetros dinámicos en el vector de pares gravitacionales del robot. Se usa la teoría de estabilidad de Lyapunov para demostrar estabilidad en forma global de los controladores propuestos. Se emplea el modelo dinámico de un robot manipulador de 2 grados de libertad para la implementación de los controladores, realizando pruebas numéricas que demuestran el desempeño de dichos controladores. De éstos, el segundo de ellos logra mejorar los resultados del primero. Los márgenes de error en posiciones y velocidades articulares observados en tales propuestas, están dentro de los que normalmente se han reportado en otros controladores no lineales PID. ABSTRACT In the present work, two new nonlinear PID controllers with adaptive gravity compensation are presented. These controllers were developed for the tracking control problem. The linearity property of the gravitational vector of the robot is employed. Lyapunov stability theory is invoked for the stability proof. A two degrees of freedom robot manipulator was programmed to test the performance of these two new controllers. It was demonstrated that one of them has better performance than the other. The error margins observed for the articular positions and velocities are within the margin reported in other nonlinear PID controllers. i Lista de Abreviaciones y Símbolos g.d.l. Grados de Libertad Nm Newton – metro Rad Radianes τ Entradas de control q Posiciones articulares q& Primera derivada con respecto al tiempo de las posiciones articulares q&& Segunda derivada con respecto al tiempo de las posiciones articulares V(x) Función candidata de Lyapunov x Norma vectorial de x ( por omisión norma 2) K Energía Cinética ∀ “para todo” ∈ “perteneciente a” R Números reales I Matriz identidad ◊ Fin de demostración ii Lista de Figuras y Tablas Página Figura 1.1 Robot de 4 grados de libertad….…..………………………………………. 5 Figura 1.2 Diagrama de bloques de un robot ..………………………………………… 8 Figura 1.3 Especificación de movimiento por punto-a-punto……..…………………… 11 Figura 1.4 Especificación de movimiento por trayectoria……..………………………. 12 Figura 2.1 Robot de 2 grados de libertad.…...…………………………………………. 13 Figura 3.1 Control en malla cerrada de robots.………………………….……………... 20 Figura 3.2 Posición de q1 respecto de qd 1 …………………………..…………………. 22 Figura 3.3 Posición de q2 respecto de qd 2 …………………………………………….. 23 Figura 3.4 Posición de q1 respecto de qd 1 con una ĝ distinta de g……………………. 24 Figura 3.5 Posición de q2 respecto de qd 2 con una ĝ distinta de g……………………. 24 Figura 3.6 Posición de q1 respecto de qd 1 ……………………………………………... 27 Figura 3.7 Posición de q2 respecto de qd 2 …………………………………………….. 27 Figura 3.8 Posición de q1 respecto de qd 1 con una ĝ distinta de g……………………. 28 Figura 3.9 Posición de q2 respecto de qd 2 con una ĝ distinta de g……………………. 28 Figura 3.10 Control en malla cerrada de robots con valores deseados………………….. 30 Figura 3.11 Posición de q1 respecto de qd 1 ……………………………………………... 32 Figura 3.12 Posición de q2 respecto de qd 2 …………………………………………….. 33 Figura 3.13 Posición de q1 respecto de qd 1 con una ĝ distinta de g……………………. 33 Figura 3.14 Posición de q2 respecto de qd 2 con una ĝ distinta de g……………………. 34 Figura 3.15 Posición de q1 respecto de qd 1 ……………………………………………... 38 Figura 3.16 Posición de q2 respecto de qd 2 …………………………………………….. 38 Figura 3.17 Posición de q1 respecto de qd 1 con una ĝ distinta de g……………………. 39 Figura 3.18 Posición de q2 respecto de qd 2 con una ĝ distinta de g……………………. 39 iii Figura 4.1 Posición de q1 respecto de qd 1 ……………………………………………... 47 Figura 4.2 Posición de q2 respecto de qd 2 …………………………………………….. 47 Figura 4.3 Velocidad de q&1 respecto de q&d 1 ……………………………………...……. 48 Figura 4.4 Velocidad de q&2 respecto de q&d 2 …………………………………………… 48 Figura 4.5 Entradas de control para un rango de 0 a 0.05 segundos…………………… 49 Figura 4.6 Entradas de control para un rango de 0 a 10 segundos……………………... 49 Figura 4.7 Errores de posición…………………………………………………………. 50 Figura 4.8 Posición de q1 respecto de qd 1 ……………………………………………... 53 Figura 4.9 Posición de q2 respecto de qd 2 …………………………………………….. 54 Figura 4.10 Velocidad de q&1 respecto de q&d 1 …………………………………………… 54 Figura 4.11 Velocidad de q&2 respecto de q&d 2 …………………………………………… 55 Figura 4.12 Entradas de control para un rango de 0 a 0.05 segundos………………...…. 55 Figura 4.13 Entradas de control para un rango de 0 a 10 segundos……………………... 56 Figura 4.14 Errores de posición…………………………………………………………. 56 Figura 4.15 Posición de q1 respecto de qd 1 ……………………………………………... 57 Figura 4.16 Posición de q2 respecto de qd 2 …………………………………………….. 58 Figura 4.17 Velocidad de q&1 respecto de q&d 1 …………………………………………… 58 Figura 4.18 Velocidad de q&2 respecto de q&d 2 …………………………………………… 59 Figura 4.19 Entradas de control para un rango de 0 a 0.005 segundos………………….. 59 Figura 4.20 Entradas de control para un rango de 0 a 0.005 segundos………………….. 60 Figura 4.21 Errores de posición…………………………………………………………. 61 Tabla 1 Parámetros del sistema……………………………………………………... 46 Tabla 2 Valores de los parámetros utilizados en el controlador………………...….. 57 iv INTRODUCCIÓN En los últimos años, la era de la información impulsada por los avances en computación, telecomunicaciones y electrónica está siendo testigo del crecimiento explosivo experimentado por la robótica y tecnologías afines. Por este motivo, el concepto de robot ha pasado de ser una visión de ciencia ficción como un dispositivo mecánico super-humano a ser una realidad como máquina autónoma animada, con un gran potencial de aplicaciones en un sinfín de actividades cotidianas. Estas máquinas se integran de elementos mecánicos, electrónicos, de control automático, eléctricos y sistemas de cómputo. A esta clase de máquinas pertenecen los robots manipuladores industriales. Los robots manipuladores actuales están constituidos físicamente de eslabones mecánicos interconectados por medio de articulaciones, formando un “brazo” y una “mano” para tomar objetos y herramientas, pudiendo realizar una amplia gama de operaciones físicas en el medio ambiente. La robótica es un campo nuevo de la tecnología moderna. El buen entendimiento y el desarrollo de aplicaciones de robótica están condicionados al dominio de diversas áreas del conocimiento. Paulatinamente, la robótica ha venido ganando terreno como materia de enseñanza en diversas universidades, impartiéndose en diversos cursos de licenciatura y posgrado. Las disciplinas hacia las cuales se orientan estos cursos han sido tradicionalmente las ingenierías Eléctrica, Electrónica, Mecánica, Industrial y las Ciencias Computacionales. Lo expuesto anteriormente pone en evidencia el carácter multidisciplinario de la robótica. El control automático ha jugado un papel vital en el avance de la ciencia y de la ingeniería [10], además ha aportado también valiosas contribuciones al avance de la robótica. El desarrollo de una gran cantidad de controladores para robots manipuladores industriales, ha permitido su óptimo desempeño en la realización de todo tipo de tareas. El control de robots manipuladores ha sido un área muy estudiada [12], siendo los controladores PID los que normalmente se han utilizado para dicho control. El objetivo de este trabajo, consiste en diseñar controladores adaptables de compensación de gravedad para robots manipuladores usando teoría de estabilidad de Lyapunov [6, 7]. En aplicaciones industriales, los robots 1 manipuladores están sujetos a variaciones de la gravedad, como sería el caso de que el robot estuviera montado en una plataforma móvil como un barco, un ascensor, etc. En este sentido, es importante estimar la variación del vector de pares gravitacionales del robot para compensarlos en forma adaptiva y mitigar estos efectos y garantizar un buen desempeño de los controladores. Se buscó utilizar la teoría de estabilidad de Lyapunov para proponer controladores adaptables con compensación adaptiva de gravedad. En este trabajo, se planteó el diseño de dos nuevos controladores no lineales PID para resolver el problema de seguimiento de trayectorias. Recientemente se han reportado diseños de controladores no lineales PID, como los mostrados en [1 - 5] y otros basados en el control adaptable [13], donde todos estos controladores han probado estabilidad global o semiglobal. Usando la propiedad de la dinámica de robots manipuladores mostrada en [15], que se basa en la característica que tiene el modelo del robot con respecto a la linealidad de los parámetros dinámicos, se logró diseñar dos nuevos controladores no lineales PID, donde el análisis de estabilidad global fue posible con la ayuda de teoría de estabilidad de Lyapunov. Los experimentos numéricos realizados al modelo dinámico del robot de 2 grados de libertad, demuestran los resultados. El trabajo se encuentra dividido en cuatro capítulos. En el primero de ellos, se presenta un marco de referencia sobre la teoría de los robots manipuladores, conceptos y objetivos de control. En el segundo capítulo, se explica el modelo dinámico del robot manipulador utilizado, así como las propiedades empleadas de dicho modelo dinámico. En el tercer capítulo, se presentan algunos de los controladores existentes, la descripción de cada uno de ellos y la interpretación de sus resultados. Y en el cuarto capítulo, se describen los controladores propuestos, su desarrollo, análisis y conclusiones de los resultados de cada uno de ellos. Cabe destacar que éstos controladores propuestos hasta el conocimiento de nosotros son inéditos. 2 CAPÍTULO 1: ROBOT MANIPULADOR. Introducción Debido a las exigencias de calidad y rapidez en los sistemas de producción del mundo globalizado contemporáneo, una gran variedad de avances tecnológicos ha comenzado a introducirse en las plantas industriales. La robótica -término cuya creación se atribuye a Isaac Asimov- [6] está ocupando un lugar destacado en la modernización de diversos sectores industriales. La robótica es aún un campo nuevo de la tecnología moderna. Una buena comprensión y la generación de soluciones en la robótica están condicionados al conocimiento de diversas disciplinas entre las que destacan la ingeniería eléctrica, la ingeniería mecánica, la ingeniería industrial, las ciencias computacionales y las matemáticas. El vocablo robot tiene sus orígenes en el idioma checo [6] y ha sido adoptado como tal en varias lenguas incluyendo el español. Más allá de la definición formal de robot, el término robot comúnmente se ha empleado en el lenguaje cotidiano para referirse a máquinas autónomas animadas. Estas máquinas generalmente están presentes en alguna de las siguientes categorías: 3 Por este motivo, los robots manipuladores y los robots móviles figuran como piezas clave del mosaico que actualmente forman la robótica. Este trabajo trata diversos aspectos relacionados exclusivamente con robots manipuladores. Actualmente se cuenta con varias definiciones de robots manipuladores industriales, que a decir verdad, han causado cierta polémica. De acuerdo con la definición adoptada por la Federación Internacional de Robótica bajo la norma ISO/TR 8373 [6], un robot manipulador se define de la siguiente manera: “Un robot manipulador industrial es una máquina manipuladora con varios grados de libertad controlada automáticamente, reprogramable y de múltiples usos, pudiendo estar en un lugar fijo o móvil para su empleo en aplicaciones industriales”. En su aplicación industrial, los robots manipuladores son comúnmente empleados en tareas repetitivas y de precisión, así como en actividades peligrosas para operadores humanos. Las principales ventajas argumentadas para el uso de robots manipuladores en la industria son la reducción de costes de producción, el incremento de la precisión, la calidad y la productividad, y una mayor flexibilidad comparada con la de las máquinas especializadas. Adicionalmente, existen aplicaciones monopolizadas por los robots manipuladores tales como el trabajo en zonas radioactivas, tóxicas o explosivas y en aplicaciones submarinas y espaciales. Las proyecciones realizadas a corto plazo colocan a la aplicación de ensamble como la principal consumidora de robots manipuladores. Para los fines de este trabajo, se adopta la siguiente definición pragmática de robot manipulador: “mecánicamente, un robot manipulador -o simplemente manipulador- es un brazo mecánico articulado formado por eslabones conectados a través de uniones o articulaciones que permiten un movimiento relativo entre dos eslabones consecutivos”. El movimiento de cada articulación puede ser traslacional, rotacional o una combinación de ambos. Aquí se considerarán únicamente articulaciones rotacionales. Bajo consideraciones razonables, el número de articulaciones en un manipulador determina su número de grados de libertad (g.d.l.). 4 La figura 1.1 muestra un robot de 4 g.d.l.: q4 q3 q2 q1 Figura 1.1 Robot de 4 g.d.l. Las variables q1 , q2 , q3 y q4 mostradas en la figura 1.1, se refieren a las posiciones articulares del robot. Dichas posiciones articulares, previa definición de un marco de referencia adecuado, denotan en consecuencia las posiciones angulares de cada una de las articulaciones del robot. Para propósitos analíticos, las posiciones articulares se agrupan para formar el vector de posiciones articulares q: ⎡ q1 ⎤ ⎢q ⎥ q = ⎢ 2 ⎥. ⎢M⎥ ⎢ ⎥ ⎣ qn ⎦ Tanto las posiciones articulares q como sus derivadas temporales, es decir, las velocidades articulares q& = d q, se miden mediante sensores convenientemente colocados en el robot. dt A cada articulación del robot le corresponde un accionador, que puede ser de naturaleza electromecánica, neumática o hidráulica. Dichos accionadores tienen como objetivo generar 5 fuerzas o pares, introduciendo el movimiento de los eslabones y en consecuencia, el movimiento del robot como un todo. El conjunto de fuerzas y pares generados por los accionadores del robot son agrupados para fines analíticos en el vector τ , esto es, ⎡τ 1 ⎤ ⎢τ ⎥ τ = ⎢ 2 ⎥. ⎢M⎥ ⎢ ⎥ ⎣τ n ⎦ 1.1 Fundamentos de control El presente trabajo se centra en la relación existente entre la robótica y la ingeniería eléctrica y más específicamente con el área de control automático. De dicha interacción sobresale el tema de control de robots manipuladores. A pesar de la existencia de robots comerciales, el diseño de controladores para robots manipuladores sigue siendo un área de estudio por parte de los constructores de robots así como de los centros de investigación. Podría argumentarse que los robots industriales actuales son capaces de realizar correctamente una gran variedad de actividades, por lo que parecería innecesario, a primera vista, el desarrollo de investigaciones sobre el tema de control de robots. Sin embargo, este último tema no sólo es interesante en sí mismo, sino que también ofrece grandes retos teóricos, y más importante aún, su estudio es indispensable en aplicaciones específicas que no pueden ser llevadas a cabo mediante los robots comerciales actuales. La metodología de diseño de los sistemas de control puede resumirse a través de los pasos siguientes: • Conocimiento del sistema a controlar. • Modelado dinámico. • Propiedades de control. 6 A continuación se comenta sobre estos pasos haciendo énfasis en su aplicación a robots manipuladores. 1.1.1 Conocimiento del sistema a controlar En esta etapa se deben determinar las variables físicas del sistema cuyo comportamiento se desee gobernar tales como temperatura, presión, desplazamiento, velocidad, etc. Estas variables reciben el nombre de salidas del sistema. Además también deben identificarse claramente aquellas variables físicas del sistema que se encuentran disponibles y que influyen en su evolución y en particular de las salidas del sistema. Estas variables llamadas entradas del sistema pueden ser, por ejemplo, la apertura de una válvula, tensión, par o fuerza, etc. En el caso particular de robots manipuladores, la variable de salida -denotada momentáneamente por y- cuya conducta se desea modificar, ofrece un amplio espectro de elecciones tal y como se ejemplifica a continuación. En el caso de robots que se desplazan libremente dentro de su espacio de trabajo sin interaccionar con el medio ambiente, por ejemplo, los destinados a tareas de pintado, traslado de objetos de un punto a otro, corte por rayo láser, etc., la salida y puede corresponder simplemente a las posiciones q y velocidades q& articulares, ó también a la posición y orientación del órgano terminal o herramienta. Para robots manipuladores que involucran su interacción con el medio ambiente por contacto físico para realizar tareas como pulido de superficies, desbastado de materiales, ensamble de alta precisión, etc., la salida y puede incluir los pares y fuerzas f ejercidos por el extremo del último eslabón del robot sobre su medio ambiente. De los ejemplos anteriores se desprende que la salida y correspondiente a un robot -asociado a una clase de tareas- en general puede tener la forma funcional: y = y (q, q& , f ). 7 Por otra parte, las variables de entrada, esto es, aquellas que pueden ser modificadas para alterar la evolución de las salidas, son básicamente los pares y fuerzas τ aplicados por los accionadores sobre las articulaciones del robot. La figura 1.2 muestra el diagrama de bloques de un robot correspondiente al caso donde las posiciones y velocidades articulares q y q& son las salidas del robot, es decir: ⎡q ⎤ y = y (q, q& , f ) = ⎢ ⎥ ⎣ q& ⎦ mientras τ es su entrada. En este trabajo, nótese más adelante, que para robots con n articulaciones, se tendrán en general 2n salidas y n entradas. q τ q& Figura 1.2: Diagrama de bloques de un robot 1.1.2 Modelado dinámico En esta etapa se procede a determinar la regla matemática que vincula las variables de entrada y salida del sistema. Generalmente, dicha caracterización matemática se manifiesta por medio de ecuaciones diferenciales. El modelo matemático del sistema a controlar se obtiene tradicionalmente por una de las dos técnicas siguientes: - Analítica. Este procedimiento se basa en las ecuaciones de la física que rigen el comportamiento del sistema. Esta metodología puede proporcionar un modelo matemático preciso a condición de dominar las leyes que están involucradas en el sistema. 8 - Experimental. Este procedimiento requiere una serie de datos experimentales del sistema. Frecuentemente se trata de examinar el comportamiento del sistema ante entradas específicas. Su principal ventaja radica en la facilidad y el corto espacio de tiempo requerido para disponer del modelo. En algunas ocasiones, en esta etapa se procede a una simplificación del modelo del sistema que desea controlarse con miras a obtener posteriormente un sistema de control relativamente sencillo. Esta etapa puede, no obstante, tener la desventaja de dar como resultado un sistema de control que funcione inadecuadamente, fenómeno conocido como falta de robustez. En otras ocasiones, después de la etapa de modelado se continúa con otra de identificación paramétrica. Aquí se pretende obtener los valores numéricos de los diversos parámetros contenidos en el modelo dinámico. Esto puede llevarse a cabo mediante técnicas que emplean mediciones de las entradas y salidas del sistema a controlar. El modelado dinámico de robots manipuladores se realiza tradicionalmente de forma analítica, esto es, a partir de las leyes de la física. Debido a la naturaleza mecánica de los robots manipuladores, las leyes de la física involucradas son simplemente las leyes de la mecánica. Desde el punto de vista de los sistemas dinámicos, un robot manipulador de n g.d.l. puede ser considerado como un sistema no lineal multivariable, teniendo n entradas (los pares y fuerzas τ que son aplicados en las articulaciones por medio de accionadores electromecánicos, hidráulicos o neumáticos) y 2n variables de estado, normalmente asociadas a las n posiciones q y n velocidades q& de las articulaciones. La figura 1.2 muestra el diagrama de bloques correspondiente suponiendo que las variables de estado corresponden también a las salidas. Como se ha mencionado, los modelos dinámicos de los robots manipuladores son en general caracterizados por ecuaciones diferenciales ordinarias no lineales y no autónomas. Este hecho tiene como consecuencia que las técnicas de diseño tradicionales para el control de sistemas lineales tengan aplicación limitada en la síntesis de controladores con alto desempeño para robots manipuladores. Debido a lo expuesto anteriormente, así como a los requerimientos actuales de alta precisión y rapidez en 9 los movimientos de los robots se ha hecho necesario el uso de técnicas más elaboradas de control para el diseño de controladores con mayores prestaciones. Esta clase de sistemas de control pueden incluir, por ejemplo, controles no lineales y controles adaptables. 1.1.3 Propiedades de control En esta última etapa se procede a dictar las características que se desean para el sistema de control, a través de los llamados objetivos de control tales como: • Estabilidad • Regulación • Seguimiento de trayectorias • Optimización La primera propiedad que debe poseer un sistema de control es estabilidad. Dos técnicas de análisis han sido usadas tradicionalmente en el estudio de estabilidad de controladores para robots. La primera se basa en la teoría de Lyapunov. La segunda es la denominada enfoque entrada-salida, que basa su fundamento matemático en el análisis funcional. Ambas técnicas son adecuadas para el análisis funcional y el análisis de sistemas de control, y en particular de sistemas de control no lineal. En este trabajo se empleará la primera de ellas para desarrollar el análisis de los controladores que se presenten. De acuerdo con la definición adoptada para definir la salida y de un robot manipulador, los objetivos de control asociados a regulación y seguimiento de trayectorias reciben nombres especiales. En particular, en el caso típico que la salida y corresponda a la posición q y velocidad q& articular, los objetivos de control reciben aquí los nombre de control de posición pura en coordenadas articulares y control de movimiento en coordenadas articulares, respectivamente. A éstos se hará mención en lo sucesivo simplemente como control de posición y control de movimiento, respectivamente. La manera más sencilla de especificar el movimiento de un robot es la denominada punto-a-punto. Esta metodología consiste en determinar una serie de puntos en el espacio de trabajo del manipulador por donde se desea 10 que el extremo final del mismo pase, con el fin de satisfacer una cierta aplicación como lo muestra la figura 1.3. El problema de control consiste, en resumen, en hacer pasar el extremo del manipulador por dichos puntos. Figura 1.3 Especificación de movimiento por punto-a-punto. Una forma más general para especificar el movimiento de un manipulador es la llamada trayectoria continua o simplemente trayectoria. En este caso, se determina una curva o trayectoria parametrizada temporalmente en el espacio de trabajo y el problema de control consiste en hacer pasar el extremo del manipulador por dicha trayectoria tan cerca como sea posible, tal y como se muestra en la figura 1.4. Este problema de control recibe el nombre de control de movimiento de robots y su solución es de los objetivos principales del presente trabajo. Un planteamiento particularmente sencillo para control de robots, y un caso particular del control de movimiento es el denominado control de posición pura de robots manipuladores. En este planteamiento, la trayectoria especificada en el espacio de trabajo es simplemente un punto en dicho espacio. La problemática de posición consiste en llevar el extremo del robot a dicho punto independientemente de su posición inicial. 11 Figura 1.4 Especificación de movimiento por trayectoria 12 CAPÍTULO 2: MODELO DINÁMICO DEL ROBOT. Introducción Los robots manipuladores son sistemas mecánicos articulados formados por eslabones conectados entre sí a través de uniones o articulaciones. Las articulaciones son básicamente de dos tipos: rotacionales y traslacionales. En este trabajo, se considerará un robot manipulador con articulaciones rotacionales como el mostrado en la figura 2.1: y g τ1 l C1 l1 x m1 I 1 q1 τ2 m2 , I 2 q2 lC 2 l2 Figura 2.1 Robot de 2 grados de libertad. El modelo de este robot se empleará extensamente en los siguientes capítulos como robot prototipo para la realización de simulaciones, con el propósito de observar y comparar, el comportamiento de los diversos sistemas de control de robots. 13 2.1 Modelo dinámico del robot utilizado El brazo mecánico mostrado en la figura 2.1, es un brazo manipulador de 2 g.d.l., formado por dos eslabones rígidos de longitudes l1 y l2 , y masas m1 y m2 respectivamente. Las uniones 1 y 2 son rotacionales. Los desplazamientos del robot se llevarán a cabo en el plano vertical x-y. La distancia entre los ejes de giro y los centros de masas se denota por lC1 y lC 2 respectivamente. Por ultimo, I1 e I 2 expresan los momentos de inercia de los eslabones con respecto al eje que pasa a través de sus centros de masa y que es perpendicular al plano x-y. Los g.d.l están asociados a los ángulos q1 , que se mide desde la posición vertical hacia abajo y q2 , que se mide a partir de la extensión del eslabón 1 hasta el eslabón 2, siendo ambos positivos en sentido contrario al movimiento de las manecillas del reloj. El vector de posiciones q (t ) se define como: q (t ) = [ q1 (t ) q2 (t )]T . El modelo dinámico de un robot de n grados de libertad [6], es: M ( q )q&& + C (q, q& ) q& + G ( q ) = τ . (2.1.1) Donde q ∈ R n es el vector de posición, τ ∈ R n es el vector de torques de control en accionadores, M (q ) ∈ R nxn es la matríz de inercia, C ( q, q& ) ∈ R nxn es la matríz centrífuga y de coriolis, G (q) ∈ R n es el vector de gravedad. Nótese que (2.1.1) es una ecuación diferencial vectorial no lineal en el estado ⎡⎣ qT T q& T ⎤⎦ . El término C ( q, q& ) q& es un vector de n x 1 llamado vector de fuerzas centrífugas y de Coriolis, el cual es único, pero la matriz C ( q, q& ) puede no serlo. El modelo (2.1.1) puede verse como un sistema dinámico cuya entrada es el vector τ y sus salidas son los vectores q y q&. Esto puede esquematizarse mediante el diagrama de la figura 1.2. 14 Cada elemento de M ( q ), C ( q, q& ) y G ( q ) es, en general, una función relativamente compleja de las posiciones y velocidades de todas las articulaciones, esto es, de q y q&. Los elementos de M ( q ), C ( q, q& ) y G ( q ) dependen, por supuesto, de la geometría del robot que modelan. El modelo dinámico del robot de la figura 2.1 [6], puede escribirse en la forma genérica (2.1.1) tomando: ⎡M M (q) = ⎢ 11 ⎣ M 21 M 12 ⎤ , M 22 ⎥⎦ ⎡ C (q, q& ) C12 (q, q& ) ⎤ C (q, q& ) = ⎢ 11 ⎥, ⎣C21 (q, q& ) C22 (q, q& ) ⎦ ⎡ g (q) ⎤ G (q) = ⎢ 1 ⎥ , ⎣ g 2 (q) ⎦ ⎡τ ⎤ τ = ⎢ 1⎥, ⎣τ 2 ⎦ donde: M 11 (q) = m1lC21 + m2l12 + m2lC2 2 + 2m2l1lC 2 cos(q2 ) + I1 + I 2 , M 12 (q) = m2lC2 2 + m2l1lC 2 cos(q2 ) + I 2 , M 21 (q ) = m2lC2 2 + m2l1lC 2 cos(q2 ) + I 2 , M 22 (q) = m2lC2 2 + I 2 , C11 (q, q& ) = − m2l1lC 2 sen(q2 )q&2 , C12 (q, q& ) = −m2l1lC 2 sen(q2 )[q&1 + q&2 ], C21 (q, q& ) = m2l1lC 2 sen(q2 )q&1 , C22 (q, q& ) = 0, g1 (q) = [m1lC1 + m2l1 ]gsen(q1 ) + m2 glC 2 sen(q1 + q2 ), g 2 (q) = m2 glC 2 sen(q1 + q2 ). La existencia de la matriz M (q ) −1 (ésta existe debido a que M (q ) es una matriz definida positiva) permite expresar el modelo dinámico (2.1.1) de un robot de n g.d.l. en términos del vector de estado ⎡⎣ qT q& T ⎤⎦ de la forma siguiente: q& ⎤ d ⎡q ⎤ ⎡ =⎢ ⎥. −1 ⎢ ⎥ dt ⎣ q& ⎦ ⎣ M (q) [τ (t ) − C (q, q& )q& − G (q)]⎦ (2.1.2) 15 Debido a la naturaleza no lineal del modelo dinámico (2.1.2), para robots de n g.d.l. el concepto de estabilidad de un robot en malla abierta debe manejarse con precaución, para lo cual se utilizó estabilidad en el sentido de Lyapunov [6, 7] para el diseño de los controladores propuestos. 2.2 Propiedades En esta sección se expondrán las propiedades básicas utilizadas del modelo dinámico para robots de n g.d.l. caracterizado mediante la ecuación (2.1.1). A pesar de la complejidad de la ecuación dinámica (2.1.1) que gobierna el comportamiento de los robots manipuladores, esta ecuación y sus términos formantes poseen propiedades que resultan de interés por sí mismas. Además dichas propiedades son de particular valía en el estudio de sistemas de control para robots manipuladores. Las propiedades son divididas en las siguientes clasificaciones: • Linealidad en los parámetros dinámicos. • Matriz de inercia M (q ). • Matriz centrífuga y de Coriolis C (q, q& ). • Vector de gravedad G (q ). De las anteriores clasificaciones, se derivan toda una serie de propiedades que se pueden utilizar para el diseño de los sistemas de control. A continuación sólo se hará referencia a la propiedad utilizada para la obtención de los dos controladores propuestos. Tal propiedad se refiere a la linealidad en los parámetros dinámicos. Una propiedad importante de la ecuación dinámica (2.1.1), aunque es no lineal en el vector de estado ⎡⎣ qT T q& T ⎤⎦ puede expresarse en , términos lineales de los parámetros dinámicos del robot, por ejemplo de las masas e inercias. Esta característica es básica para el análisis de controladores adaptables. 16 2.2.1 Propiedad de linealidad de parámetros de gravedad Más que realizar la linealidad en los parámetros dinámicos en todo el sistema dinámico, sólo se le aplicó al vector de pares gravitacionales [15], donde la propiedad introducida es: G ( q ) = Γ ( q ) Ω, (2.2.1) la cual claramente tiene la ventaja de no requerir información de velocidad y aceleración para la descripción de la matriz Γ. Aquí ésta matriz puede ser considerada como la matriz de agrupación de pares gravitacionales. Aplicando la propiedad (2.2.1) en (2.1.1), obtenemos una representación alterna de la dinámica no lineal de un robot manipulador de n g.d.l.: M ( q ) q&& + C ( q, q& )q& + Γ ( q )Ω = τ . (2.2.2) Como ya se estableció, se tiene: ⎡M M (q) = ⎢ 11 ⎣ M 21 M 12 ⎤ , M 22 ⎥⎦ ⎡ C (q, q& ) C12 (q, q& ) ⎤ C (q, q& ) = ⎢ 11 ⎥, & & C ( q , q ) C ( q , q ) ⎣ 21 ⎦ 22 ⎡τ ⎤ τ = ⎢ 1⎥, ⎣τ 2 ⎦ en el caso del vector de pares gravitacionales tenemos: ⎡ g (q) ⎤ ⎡[m l + m2l1 ]gsen(q1 ) + m2 glC 2 sen(q1 + q2 ) ⎤ G ( q ) = ⎢ 1 ⎥ = ⎢ 1 C1 ⎥, m2 glC 2 sen(q1 + q2 ) ⎣ g 2 (q) ⎦ ⎣ ⎦ considerando (2.2.1), se pueden tener distintas representaciones de G(q), es decir, de Γ ( q ) y Ω . Para ejemplificar la propiedad (2.2.1), a continuación se presentan dos parametrizaciones del vector de gravedad, un primer caso es: ⎡ sen(q1 ) sen(q1 + q2 ) ⎤ , Γ( q ) = ⎢ sen(q1 + q2 ) ⎥⎦ ⎣ 0 ⎡(m l + m2l1 ) g ⎤ Ω = ⎢ 1 C1 ⎥, m2lC 2 g ⎣ ⎦ 17 y otra posibilidad es : ⎡(m l + m2l1 ) sen(q1 ) + m2lC 2 sen(q1 + q2 ) ⎤ Γ( q ) = ⎢ 1 C1 ⎥, m2lC 2 sen(q1 + q2 ) ⎣ ⎦ Ω = [ g ]. Como se observará en el capítulo 4, estos ejemplos de parametrizaciones se utilizaron en los controladores propuestos. Es fácil deducir que se pueden hacer toda una serie de diversas representaciones de G(q), y así derivar otras leyes de control. Lo anterior resulta muy interesante porque para cada representación se obtendrán diferentes comportamientos del sistema de control. Cabe aclarar que existen muchas otras propiedades que tiene el modelo dinámico del brazo manipulador, ver al final el apéndice A, aunque solo se necesitó de esta propiedad para el desarrollo de los controladores adaptables diseñados. 18 CAPÍTULO 3: CONTROLADORES EXISTENTES. Introducción El control de robots manipuladores es un área muy estudiada, existen una gran cantidad de controladores publicados utilizando diversas técnicas para el cumplimiento de sus objetivos de control. En este capítulo se presentarán algunos de los controladores más utilizados, describiendo sus características, resultados y así comprender mejor el funcionamiento de cada uno de ellos. Primeramente se analizarán dos de los controladores más utilizados para la solución al problema de regulación ó control de posición, y posteriormente otros dos más para explicar el problema de seguimiento de trayectorias ó control de movimiento. 3.1 Control de Posición Considérese el modelo dinámico de un robot manipulador de n grados de libertad con eslabones rígidos, sin fricción en sus uniones y con actuadores ideales (2.1.1). El problema de control de posición de robots manipuladores puede formularse en los siguientes términos. Considérese la ecuación dinámica de un robot de n g.d.l. (2.1.1), dada una posición articular deseada qd , que se supone constante, se trata de determinar una función vectorial τ , de tal forma que las posiciones q asociadas a las coordenadas articulares del robot lleguen asintóticamente a qd . En términos más formales, el objetivo de control de posición pura, o simplemente control de posición, consiste en determinar τ de tal forma que: lim q (t ) = qd t →∞ (3.1.1) 19 donde qd ∈ R n es un vector constante. El cálculo del vector τ involucra generalmente a una función vectorial no lineal de q, q& y q&&. Esta función se denomina “ley de control” ó simplemente controlador. Es importante recordar que muchos robots manipuladores disponen de sensores de posición y velocidad para cada articulación, por lo que los vectores q y q& son medibles y pueden ser empleados en los controladores. Algunos otros vienen equipados sólo con sensores de posición articular, por lo que puede ser necesario estimar la velocidad a partir de la medición de posición – ya sea mediante filtrado o por medio de observadores -. Genéricamente, el controlador puede expresarse como: τ = τ (q, q& , q&&, qd , M (q), C (q, q& ), G (q)). (3.1.2) Para fines prácticos es deseable que el controlador no dependa de la aceleración articular q&&. La figura 3.1 presenta un diagrama de bloques formado por un controlador en malla cerrada con un robot: qd τ q q& Figura 3.1 Control en malla cerrada de robots Si el controlador (3.1.2) no depende explícitamente de M ( q ), C ( q, q& ), y G ( q ), se dice que el controlador no se basa en el modelo del robot. Existen controladores, por ejemplo del tipo PID, que poseen parámetros de diseño cuyos valores numéricos se determinan en función del modelo del robot al cual controlan. De este modo, el diseño adecuado del controlador requiere el conocimiento del modelo del robot – en realidad de sus parámetros físicos -, a pesar de ser un controlador del tipo que no se basa en el modelo. 3.1.1 Controlador de Regulación Global para Robots Manipuladores El primer controlador a presentar es el desarrollado por los autores Harry Berghuis y Henk Nijmeijer [9], en este artículo se propone una simple solución al problema de regulación de 20 robots rígidos requiriendo solamente valores de posiciones articulares. El controlador consiste de dos partes: (1) una compensación de gravedad; (2) un compensador dinámico lineal de primer orden. La parte de compensación de gravedad puede ser elegida como una función de cualquiera de las posiciones articulares actuales o de la posición articular deseada. Ambas posibilidades fueron probadas para obtener estabilidad asintótica global. Aunque en el tiempo que se publicó este artículo, resultaba atractivo un controlador que cumpliera los objetivos de control con solo la retroalimentación de posición, actualmente esto no representa mucho provecho ya que se consigue tener mediciones de posición y velocidad sin ningún problema de costo, volumen y peso. Las simulaciones se realizaron tomando el modelo de un robot manipulador como el presentado en la figura 2.1. Se considera la ecuación general de un robot manipulador de n grados de libertad (2.1.1), donde también q ∈ R n es el vector de posición, τ ∈ R n es el vector de torques de control en accionadores, M (q ) ∈ R nxn es la matríz de inercia, C ( q, q& ) ∈ R nxn es la matríz centrífuga y de coriolis, G (q ) ∈ R n es el vector de gravedad. El controlador propuesto por Harry Berghuis y Henk Nijmeijer [9] es: τ = G ( q ) − K d x& − K p e, (3.1.3) x& = − Lx + K d e, (3.1.4) donde L = LT > 0, K d = K dT > 0, K p = K Tp > 0 y e ≡ q − qd , que representa el error de posición y qd es la posición deseada constante. Debido a la autonomía con respecto al tiempo del sistema a lazo cerrado, se utilizó el teorema de La Salle [6] y se comprobó que el controlador de posición (3.1.3) y (3.1.4) estabiliza en forma asintótica global el sistema robótico (2.1.1) en el punto de equilibrio ( q& , e, x ) ≡ 0. A continuación, se realizarán las simulaciones numéricas al sistema de la figura 2.1 con el controlador (3.1.3) y (3.1.4). Como se puede observar el robot de 2 g.d.l., tiene movimiento en el plano x-y, la dinámica del sistema satisface (2.1.1) y tiene los siguientes datos: ⎡M M (q) = ⎢ 11 ⎣ M 21 M 12 ⎤ , M 22 ⎥⎦ ⎡ C (q, q& ) C12 (q, q& ) ⎤ C (q, q& ) = ⎢ 11 ⎥, ⎣C21 (q, q& ) C22 (q, q& ) ⎦ ⎡ g (q) ⎤ g (q) = ⎢ 1 ⎥ , ⎣ g 2 (q) ⎦ ⎡τ ⎤ τ = ⎢ 1⎥ , ⎣τ 2 ⎦ 21 pero ahora estos valores son dados por los autores: M 11 (q) = 8.77 + 1.02 cos(q2 ), M 12 (q) = 0.76 + 0.51cos(q2 ), M 21 (q ) = 0.76 + 0.51cos(q2 ), M 22 (q) = 0.62, C11 (q, q& ) = −0.51sen(q2 )q&2 , C12 (q, q& ) = −0.51sen(q2 )[q&1 + q&2 ], C21 (q, q& ) = 0.51sen(q2 )q&1 , C22 (q, q& ) = 0, g1 (q) = 7.6 gsen(q1 ) + 0.63sen(q1 + q2 ), g 2 (q) = 0.63sen(q1 + q2 ), donde g es la aceleración de gravedad. La programación del controlador (3.1.3) y (3.1.4) fue con una posición deseada qdT = [1 1]. Las condiciones iniciales para q, q& y x son asumidas igual a cero. Las matrices de ganancia del controlador son: ⎡50 0 ⎤ Kp = ⎢ ⎥, ⎣ 0 100 ⎦ ⎡150 0 ⎤ Kd = ⎢ ⎥, ⎣ 0 60 ⎦ ⎡80 0 ⎤ L=⎢ ⎥. ⎣ 0 100 ⎦ 1.4 1.2 Posición [Rad] 1 0.8 0.6 0.4 0.2 q 1 qd1 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.2 Posición de q1 respecto de qd 1 22 1.4 1.2 Posición [Rad] 1 0.8 0.6 0.4 0.2 q2 qd2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.3 Posición de q2 respecto de qd 2 Como se puede observar en las figuras 3.2 y 3.3, los resultados obtenidos son muy satisfactorios y cumplen con los objetivos de control. Lo anterior es, considerando que los parámetros del sistema no cambian a través del tiempo, pero si volvemos a realizar las simulaciones aplicando una g al sistema y una ĝ al controlador con los siguientes datos: g = 9.81 m seg 2 gˆ = 12 m , seg 2 tenemos los resultados mostrados en las figuras 3.4 y 3.5. Lo anterior, fue con el fin de hacer referencia a la definición del problema de la tesis. Es decir, en aplicaciones industriales los robots manipuladores están sujetos a variaciones de la gravedad, como sería el caso de que el robot estuviera montado en una plataforma móvil (un barco, un ascensor, etc.). Como se puede apreciar, con sólo modificar el valor de la gravedad del controlador como la aplicada en ĝ ya no se cumple el objetivo de control. La posición del eslabón 1 se aleja de la posición deseada, y esto empeoraría si cada vez la diferencia es mayor. En resumen, se puede concluir el mal desempeño del controlador a variaciones del valor de la gravedad como la aplicada anteriormente en gˆ . 23 1.4 1.2 Posición [Rad] 1 0.8 0.6 0.4 0.2 q 1 qd1 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.4 Posición de q1 respecto de qd 1 con una ĝ distinta de g. 1.4 1.2 Posición [Rad] 1 0.8 0.6 0.4 0.2 q 2 qd2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.5 Posición de q2 respecto de qd 2 con una ĝ distinta de g. 3.1.2 Controlador PD con Compensación de Gravedad El control de posición pura de robots manipuladores puede realizarse potencialmente mediante la técnica de control PD. Sin embargo, dicho esquema de control posee ciertas restricciones que pueden limitar su uso. Efectivamente, el controlador PD cuya sencilla ley de control viene dada por la ecuación (3.1.5), garantiza el cumplimiento del objetivo de control 24 de posición en forma global para robots cuyos modelos dinámicos no poseen el vector de pares gravitacionales G ( q ) . τ = K p q% + K v q&% (3.1.5) En este caso, la sintonía de este controlador es trivial ya que es suficiente con seleccionar las matrices de diseño K p y K v como simétricas y definidas positivas. No obstante, el control PD no garantiza el cumplimiento del objetivo de control de posición pura de manipuladores cuyos modelos dinámicos contienen el término de pares gravitacionales G ( q ) , a menos que la posición deseada qd sea tal que G (qd ) = 0. En esta sección se describirá el funcionamiento del Controlador PD con Compensación de Gravedad [6], que es capaz de satisfacer el objetivo de control de posición pura en forma global para robots de n g.d.l. En la ley de control se requiere el conocimiento previo de una parte del modelo dinámico del robot a ser controlado, puesto que usa el vector de pares gravitacionales G ( q ). La ley de control PD con compensación de gravedad está representada por: τ = K p q% + K v q%& + G (q) (3.1.6) donde K p , K v ∈ R nxn son matrices simétricas definidas positivas y q% = qd − q. Nótese que la única diferencia respecto al control PD (3.1.5) es el término aditivo G ( q ) . A diferencia del control PD, que no requiere conocimiento alguno sobre la estructura del modelo del robot, el controlador (3.1.6) hace uso explícito del conocimiento parcial del modelo del manipulador, específicamente de G ( q ). La ley de control (3.1.6) requiere información sobre la posición deseada qd (t ) y la velocidad deseada q&d (t ), así como medición de la posición q (t ) y la velocidad q& (t ) a cada instante. Como se demostrará más adelante, este controlador verifica el objetivo de posición pura, es decir: lim q (t ) = qd t →∞ 25 donde qd ∈ R n es un vector constante cualquiera. Este controlador también presenta estabilidad asintótica global del origen ⎡⎣ q% T q& T ⎤⎦ = 0 ∈ R 2 n . Como resultado, se afirma que: lim q% (t ) = 0, t →∞ lim q& (t ) = 0, t →∞ es decir, que se verifica el objetivo de control de posición pura. Para presentar los resultados, se implementará dicho controlador en el robot de 2 g.d.l. de la figura 2.1. Se considera nuevamente la ecuación general de un robot manipulador de n grados de libertad (2.1.1), donde también q ∈ R n es el vector de posición, τ ∈ R n es el vector de torques de control en accionadores, M (q) ∈ R nxn es la matríz de inercia, C (q, q& ) ∈ R nxn es la matríz centrífuga y de coriolis, G (q) ∈ R n es el vector de gravedad. La programación del controlador (3.1.6) fue con una posición deseada: ⎡π qdT = ⎢ ⎣4 π ⎤ 20 ⎥⎦ [ Rad ]. Las condiciones iniciales para q, q& son asumidas igual a cero. Las matrices de ganancia del controlador deben ser definidas positivas y en particular dichas matrices se escogen (arbitrariamente) como: ⎡120 0 ⎤ Kp = ⎢ ⎥, ⎣ 0 81⎦ ⎡35 0 ⎤ Kv = ⎢ ⎥. ⎣ 0 15⎦ Como se puede apreciar en las figuras 3.6 y 3.7, los resultados obtenidos son muy satisfactorios y cumplen cabalmente con los objetivos de control. Esto es, considerando que los parámetros del sistema no cambian a través del tiempo. 26 1 0.9 0.8 Posición [Rad] 0.7 0.6 0.5 0.4 0.3 0.2 q1 0.1 0 qd1 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.6 Posición de q1 respecto de qd 1 0.2 0.18 0.16 Posición [Rad] 0.14 0.12 0.1 0.08 0.06 0.04 q 2 0.02 q d2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.7 Posición de q2 respecto de qd 2 Nuevamente se realizaron las simulaciones, pero ahora aplicando una g al sistema y una ĝ al controlador con los siguientes datos: g = 9.81 m seg 2 gˆ = 12 m . seg 2 27 1 0.9 0.8 Posición [Rad] 0.7 0.6 0.5 0.4 0.3 0.2 q1 0.1 0 qd1 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.8 Posición de q1 respecto de qd 1 con una ĝ distinta de g. 0.2 0.18 0.16 Posición [Rad] 0.14 0.12 0.1 0.08 0.06 0.04 q 2 0.02 q d2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.9 Posición de q2 respecto de qd 2 con una ĝ distinta de g. Como se puede observar en las figuras 3.8 y 3.9, al variar el valor de la gravedad en la forma señalada, ya no se cumple el objetivo de control. La posición del eslabón 1 se estabiliza a otro valor de la posición deseada, al igual que la posición del eslabón 2. Además, entre más se varíe dicho valor, mayor será la diferencia entre la salida y la posición deseada. Por lo anterior, se puede concluir que a variaciones del valor de la gravedad como la descrita, el controlador funciona inadecuadamente. 28 3.2 Control de Movimiento Considérese el modelo dinámico de un robot manipulador de n g.d.l. con eslabones rígidos, sin fricción en sus uniones y con accionadores ideales (2.1.1), donde nuevamente q ∈ R n es el vector de posición, τ ∈ R n es el vector de torques de control en accionadores, M (q) ∈ R nxn es la matríz de inercia, C (q, q& ) ∈ R nxn es la matríz centrífuga y de coriolis, G (q) ∈ R n es el vector de gravedad. Los vectores q, q& , q&& ∈ R n denotan la posición, velocidad y aceleración articular, respectivamente. El problema de control de movimiento de robots manipuladores puede formularse en los siguientes términos. Considérese la ecuación dinámica de un robot de n g.d.l. (2.1.1). Dado un conjunto de funciones vectoriales acotadas qd , q&d y q&&d referidas como posiciones, velocidades y aceleraciones articulares deseadas, se trata de determinar una función vectorial τ , de tal forma que las posiciones q asociadas a las coordenadas articulares del robot sigan con precisión a qd . En términos más formales, el objetivo de control de movimiento consiste en determinar τ de tal forma que: lim q% (t ) = 0 (3.2.1) t →∞ donde q% ∈ R n denota el vector de errores de posiciones articulares, simplemente denominado error de posición y definido como: q% (t ) = qd (t ) − q (t ). Considerando la definición anterior, el vector q&% (t ) = q&d (t ) − q& (t ) denotará el error de velocidad. Si el objetivo de control se verifica, significará que las articulaciones del robot manipulador siguen asintóticamente la trayectoria de movimiento deseado. El cálculo del vector τ involucra generalmente una función vectorial no lineal de q, q& y q&&. Esta función se denominará “ley de control” o simplemente controlador. Es importante recordar que los robots manipuladores disponen de sensores de posición y velocidad para cada 29 articulación por lo que los vectores q y q& son medibles y pueden emplearse en los controladores. Genéricamente, el controlador puede expresarse como: τ = τ (q, q& , q&&, qd , q&d , q&&d , M (q), C (q, q& ), G (q)). (3.2.2) Para fines prácticos es deseable que el controlador no dependa de la aceleración articular q&&. La figura 3.10 presenta un diagrama de bloque formado por un controlador en malla cerrada con un robot. qd q&d q&&d τ q q& Figura 3.10 Control en malla cerrada de robots con valores deseados A continuación, se presentan dos controladores para el control de movimiento de robots manipuladores y así poder observar con más detalle su funcionamiento. 3.2.1 Control PD + El objetivo de control de movimiento de robots manipuladores puede lograrse en forma global por medio del control PD con precompensación [6] (3.2.3): τ = K p q% + K v q%& + M (qd )q&&d + C (qd , q&d )q&d + G (qd ). (3.2.3) No obstante, a pesar de la relativa sencillez de dicha estrategia de control, ésta requiere para su implementación el conocimiento del modelo dinámico del robot, aunque en realidad es una característica común de los controladores de movimiento; sin embargo, el procedimiento de sintonía también hace uso del mismo y más todavía, por un lado se precisa disponer a priori de la tarea encomendada al robot, y por otro lado, el procedimiento de sintonía de ganancias es laborioso. 30 El objetivo de ésta sección es presentar un controlador cuya principal característica es: primero, garantía del cumplimiento del objetivo de control de movimiento en forma global y segundo, su procedimiento de sintonía es trivial. El controlador denominado PD+ [6], es sin duda, uno de los controladores más sencillos que pueden aplicarse en el control de movimiento de robots manipuladores, con una garantía formal para el cumplimiento de este objetivo de control en forma global. La ley de control PD+ viene dada por: τ = K p q% + K v q&% + M (q)q&&d + C (q, q& )q&d + G (q), donde (3.2.4) K p , K v ∈ R nxn son matrices simétricas definidas positivas seleccionadas por el diseñador y como de costumbre q% = qd − q denota el error de posición. La realización práctica del control PD+ requiere el conocimiento exacto del modelo del manipulador, es decir, de M ( q ), C ( q, q& ) y G ( q ). Adicionalmente es necesario disponer de las trayectorias deseadas qd (t ), q&d (t ) y q&&d (t ) así como de las mediciones q (t ) y q& (t ). Aquí la selección de K p y K v es completamente arbitraria y no depende del modelo dinámico del robot ni de la tarea encomendada al mismo. Nótese que en el caso particular de control de posición, esto es, q&d = q&&d = 0 ∈ R n , el control PD+ descrito por (3.2.4) es equivalente al control PD con compensación de gravedad (3.1.6). Debido a que el sistema a lazo cerrado es no autónomo con respecto al tiempo, esta propiedad es ocasionada ya que el sistema depende explícitamente de las funciones del tiempo qd (t ) y q&d (t ). El teorema de La Salle no puede aplicarse para estudiar estabilidad asintótica global debido a que el sistema a lazo cerrado no es autónomo. Sin embrago, se menciona que mediante el uso del teorema de Matrosov [6], puede demostrarse que el origen es asintóticamente estable en forma global. Para realizar las simulaciones correspondientes, se considera la ecuación general de un robot manipulador de n grados de libertad (2.1.1) y el sistema de la figura 2.1. 31 Donde también q ∈ R n es el vector de posición, τ ∈ R n es el vector de torques de control en accionadores, M (q) ∈ R nxn es la matríz de inercia, C (q, q& ) ∈ R nxn es la matríz centrífuga y de coriolis, G (q) ∈ R n es el vector de gravedad. Las condiciones iniciales para q, q& son asumidas igual a cero. Las matrices de ganancia del controlador, simétricas definidas positivas se escogen como: ⎡785 0 ⎤ Kp = ⎢ ⎥, ⎣ 0 785⎦ ⎡ 250 0 ⎤ Kv = ⎢ ⎥. ⎣ 0 250 ⎦ Las trayectorias de posición articular deseadas son: qdi = π 2 (1 − e − wit ) + 0.1sen( w0i t ), wi = 5, w0i = 2π , i = 1, 2. Donde el primer término involucra a π /2 como la posición final deseada para cada articulación, siendo wi la velocidad con la que se converge a dicha posición, mientras que el segundo término introduce una señal oscilante a una velocidad w0i alrededor de la posición deseada. 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 0.6 q1 0.4 q d1 0.2 0 −0.2 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.11 Posición de q1 respecto de qd 1 32 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q2 0.6 q d2 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.12 Posición de q2 respecto de qd 2 Como se puede apreciar en las figuras 3.11 y 3.12, los resultados obtenidos son muy satisfactorios y cumplen cabalmente con los objetivos de control. Ahora, si volvemos a realizar las simulaciones, pero ahora aplicando una g al sistema y una ĝ al controlador con los siguientes datos: g = 9.81 m seg 2 gˆ = 18 m , seg 2 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 0.6 q1 0.4 q d1 0.2 0 −0.2 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.13 Posición de q1 respecto de qd 1 con una ĝ distinta de g. 33 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q2 0.6 q d2 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.14 Posición de q2 respecto de qd 2 con una ĝ distinta de g. Como se puede observar, a diferencia de los resultados obtenidos en los controladores de posición, aquí se aprecia claramente una mayor robustez en su desempeño. Sin embargo, al tener una variación de gravedad en el sistema como la aplicada, es claro que la posición del eslabón 1 no cumple con el objetivo de control. Cabe señalar que para variaciones mayores, esta diferencia es cada vez mayor; lo que demuestra que el controlador de movimiento PD+ a pesar de ser mucho más robusto que los controladores de posición mostrados, su funcionamiento es afectado por tales variaciones de gravedad. 3.2.2 Control Par Calculado Los controladores para posición y movimiento presentados en las secciones anteriores tienen en común, en sus leyes de control, la presencia explícita de un controlador lineal del tipo PD. Siendo la excepción a esta regla, el siguiente controlador de movimiento a presentar, cuya ley de control no presenta explícitamente el término lineal PD. Otras peculiaridades de este controlador son las siguientes. El control Par Calculado [6], permite obtener una ecuación de malla cerrada lineal en términos de las variables de estado. Este hecho no tiene precedente en los controladores abordados anteriormente. Conviene adelantar que dicho controlador satisface el objetivo de control de movimiento con una selección trivial de sus parámetros de 34 diseño. El modelo dinámico (2.1.1) que caracteriza el comportamiento de los robots manipuladores es generalmente no lineal en términos de las variables de estado (posiciones y velocidades articulares). Esta peculiaridad del modelo dinámico podría hacer pensar que dado cualquier controlador, la ecuación diferencial que gobierna al sistema de control en malla cerrada debería ser también no lineal en las variables de estado correspondientes. Esta idea intuitiva se confirma para el caso de los controladores vistos anteriormente. No obstante, existe un controlador también no lineal en las variables de estado con el cual se consigue describir el sistema de control en malla cerrada ahora mediante una ecuación diferencial lineal. Dicho controlador es capaz de satisfacer el objetivo de control y de movimiento en forma global con una selección trivial de sus parámetros de diseño y recibe el nombre de control Par Calculado. La ecuación correspondiente al control Par Calculado viene dada por [6]: τ = M (q)[q&&d + K v q%& + K p q% ] + C (q, q& )q& + G (q), (3.2.5) donde K v y K p son matrices simétricas definidas positivas de diseño, y q% = qd − q denota como de costumbre al error de posición. A pesar de la presencia del término K p q% + K v q&% en la ley de control (3.2.5), éstos son en realidad multiplicados por la matriz de inercia M (qd − q% ). Este hecho tiene como resultado que efectivamente la ley de control cuente con un término del tipo PD pero éste no es un controlador lineal, ya que las ganancias de posición y de velocidad no son constantes sino que dependen explícitamente del error de posición q%. Esto puede verse claramente expresando la ley de control Par Calculado dada por (3.2.5) de la siguiente manera [6]: τ = M (qd − q% ) K p q% + M (qd − q% ) K v q%& + M (q)q&&d + C (q, q& )q& + G(q). El control Par Calculado fue una de las primeras estructuras de control de movimiento basadas en el modelo del manipulador a ser controlado, es decir, que hace uso explícito del conocimiento de las matrices M ( q ), C ( q, q& ) y del vector G ( q ). 35 Obsérvese que la trayectoria de movimiento deseada: qd (t ), q&d (t ) y q&&d (t ), así como la medición de la posición q (t ) y de la velocidad q& (t ), se emplean para realizar el cálculo de la acción de control (3.2.5). La ecuación de malla cerrada se obtiene sustituyendo la acción de control τ de la ley de control (3.2.5) en la ecuación del modelo del robot (2.1.1): M ( q ) q&& = M ( q ) ⎡⎣ q&&d + K v q%& + K p q% ⎤⎦ . (3.2.6) Debido a que M (q ) es una matriz definida positiva y por lo tanto también invertible, luego la ecuación (3.2.6) se reduce a: q&&% + K v q%& + K p q% = 0, la cual a su vez puede expresarse en términos del vector de estado ⎡⎣ q% T T q%& T ⎤⎦ como ⎤ q&% d ⎡ q% ⎤ ⎡ = ⎢ ⎥, ⎢ ⎥ dt ⎣ q%& ⎦ ⎢⎣ − K p q% − K v q%& ⎥⎦ ⎡ 0 =⎢ ⎣− K p I ⎤ ⎡ q% ⎤ , − K v ⎥⎦ ⎢⎣ q&% ⎥⎦ (3.2.7) Donde I es la matriz identidad de dimensión n. Es importante observar que la ecuación de malla cerrada (3.2.7) representa una ecuación diferencial lineal y autónoma, cuyo único estado de equilibrio es ⎡⎣ q% T q%& T ⎤⎦ = 0 ∈ R 2 n . La unicidad del equilibrio se debe a que la matriz K p es por diseño definida positiva y por lo tanto no singular. Como la ecuación de malla cerrada (3.2.7) es lineal y autónoma, las soluciones de ésta pueden obtenerse en forma cerrada. Se establece que el origen ⎡⎣ q% T T q%& T ⎤⎦ = 0 ∈ R 2 n de la ecuación de malla cerrada es asintóticamente estable en forma global y entonces: 36 lim q&% (t ) = 0, t →∞ lim q% (t ) = 0, t →∞ y por lo tanto, esto implica que el objetivo de control de movimiento se verifica. Para fines prácticos, las matrices de diseño K p y K v pueden ser diagonales, por tanto la ecuación de malla cerrada (3.2.7) representa un sistema lineal multivariable desacoplado, es decir, el comportamiento dinámico de los errores de posiciones articulares es gobernado por ecuaciones diferenciales lineales de segundo orden, donde cada una de ellas es independiente de las restantes. En este contexto la elección de las matrices K p y K v puede hacerse específicamente como: K p = diag {w12 , ... , wn2 } , K v = diag {2w1 , ... , 2 wn } . Con esta elección, cada unión responde igual que un sistema lineal de segundo orden críticamente amortiguado con ancho de banda wi [6]. El ancho de banda wi determina la velocidad de respuesta de la unión y en consecuencia, la tasa de decaimiento exponencial de los errores q% (t ) y q%& (t ). Para realizar las simulaciones correspondientes, se considera la ecuación general de un robot manipulador de n grados de libertad (2.1.1) y el sistema de la figura 2.1. Donde también q ∈ R n es el vector de posición, τ ∈ R n es el vector de torques de control en accionadores, M (q) ∈ R nxn es la matríz de inercia, C (q, q& ) ∈ R nxn es la matríz centrífuga y de Coriolis, G (q) ∈ R n es el vector de gravedad. Las condiciones iniciales para q, q& son asumidas igual a cero. Las matrices de ganancia del controlador, simétricas definidas positivas se escogen como: ⎡900 0 ⎤ Kp = ⎢ ⎥, ⎣ 0 900 ⎦ ⎡60 0 ⎤ Kv = ⎢ ⎥. ⎣ 0 60 ⎦ 37 Las trayectorias de posición articular deseadas son: qdi = π 2 (1 − e − wit ) + 0.1sen( w0i t ), wi = 5, w0i = 2π , i = 1, 2. 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q1 0.6 q d1 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.15 Posición de q1 respecto de qd 1 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q2 0.6 q d2 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.16 Posición de q2 respecto de qd 2 38 Como se puede apreciar en las figuras 3.15 y 3.16, los resultados obtenidos cumplen totalmente con los objetivos de control. Ahora, si volvemos a realizar las simulaciones, pero ahora aplicando una g al sistema y una ĝ al controlador con los siguientes datos: g = 9.81 m seg 2 gˆ = 18 m , seg 2 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q1 0.6 q d1 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.17 Posición de q1 respecto de qd 1 con una ĝ distinta de g. 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q2 0.6 q d2 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 3.18 Posición de q2 respecto de qd 2 con una ĝ distinta de g. 39 De acuerdo a los resultados obtenidos en las figuras, en forma general su desempeño es mejor que el controlador PD+. Sin embargo, también demuestra una sensibilidad a las variaciones de gravedad como la aplicada. Es importante señalar que para variaciones mayores, esta diferencia es cada vez mayor; lo que demuestra que el controlador de movimiento Par Calculado a pesar de ser más robusto que los controladores mostrados, su funcionamiento también es afectado por las variaciones de gravedad aplicadas. 40 CAPÍTULO 4: DISEÑO DE LOS CONTROLADORES PID. Introducción En éste capítulo se presenta el diseño de dos nuevos controladores no-lineales PID para robots manipuladores, dando solución al problema de seguimiento de trayectorias. Usando teoría de estabilidad de Lyapunov, se demostró que los controladores son estables en forma global. Utilizando el modelo dinámico de un robot manipulador de dos grados de libertad, se realizaron las pruebas numéricas que mostraron el desempeño de los controladores. Los márgenes de error observados están dentro de los que tradicionalmente se han reportado en otros controladores no lineales PID [1 - 5]. El control de robots manipuladores es un campo muy estudiado [12], siendo los controladores PID los que comúnmente se han utilizado para el control de éstos. Aunque existen muchos tipos de controladores [11 - 13], recientemente se han reportado trabajos en control no lineal del tipo PID [1 - 5], donde estos controladores han probado estabilidad global o semi global. Usando la propiedad de la dinámica de robots manipuladores mostrada en [15], se logró desarrollar las dos propuestas, y el análisis de estabilidad global fue ratificado con la ayuda de la teoría de estabilidad de Lyapunov [6, 7]. Experimentos numéricos realizados al modelo dinámico de dos grados de libertad, demostraron el funcionamiento de los diseños obtenidos. 4.1 Descripción del Sistema Se considera que el robot manipulador de n grados de libertad a controlar tiene la dinámica de (2.1.1), donde nuevamente se tiene que q ∈ R n es el vector de posición, τ ∈ R n es el vector de torques de control en accionadores, M (q ) ∈ R nxn es la matríz de inercia, C (q, q& ) ∈ R nxn es la matríz centrífuga y de coriolis, y G (q) ∈ R n es el vector de gravedad. 41 Se considera el brazo mecánico de dos g.d.l. mostrado en la figura 2.1. Recordando las características del sistema, el brazo manipulador está formado por dos eslabones rígidos de longitudes l1 y l2 , y masas m1 y m2 respectivamente. Las uniones 1 y 2 son rotacionales. Los desplazamientos del robot se llevarán a cabo en el plano vertical x-y. La distancia entre los ejes de giro y los centros de masas se denota por lC1 y lC 2 respectivamente. Por ultimo, I1 e I 2 expresan los momentos de inercia de los eslabones con respecto al eje que pasa a través de sus centros de masa y que es perpendicular al plano x-y. Los g.d.l están asociados a los ángulos q1 , que se mide desde la posición vertical hacia abajo y q2 , que se mide a partir de la extensión del eslabón 1 hasta el eslabón 2, siendo ambos positivos en sentido contrario al movimiento de las manecillas del reloj. El vector de posiciones q (t ) se define como: q (t ) = [ q1 (t ) q2 (t )]T . (4.1.1) Anteriormente, en otros trabajos de control de robots manipuladores, la siguiente propiedad ha sido muy utilizada [12]: M ( q ) q&& + C ( q, q& ) q& + g ( q ) = Γ ( q, q& , q&&)Ω , (4.1.2) donde Ω ∈ R n es un vector de constantes. La desventaja de ésta propiedad consiste en que la matriz Γ necesita información de aceleración, lo cual no es conveniente para el diseño e implementación de controladores. En [15], la siguiente propiedad es introducida: G ( q ) = Γ ( q )Ω . (4.1.3) Dicha propiedad es simplemente la linealidad en términos de los parámetros dinámicos del vector de pares gravitacionales. Esta parametrización no requiere información de velocidad y aceleración, lo cual es provechoso e importante para el diseño de controladores adaptables para compensar las variaciones de gravedad. Aplicando la propiedad (4.1.3) en (2.1.1), se obtiene una representación alterna de la dinámica no lineal del robot manipulador de n g.d.l.: M ( q )q&& + C (q, q& ) q& + Γ( q )Ω = τ . (4.1.4) 42 4.2 Primera propuesta Una vez estudiadas las distintas estrategias para el diseño de controladores, se propuso el siguiente Controlador No Lineal PID: donde ˆ , τ = M (q)[q&&d + KV q%& + K p q% ] + C (q, q& )q& + Γ(q )Ω (4.2.1) ˆ& = ΓT (q) M −1 (q) K q&% , Ω V (4.2.2) q% = qd − q es el error de posición, siendo qd (t ) la posición deseada y la cual es asumida doblemente diferenciable. Además K P y KV son matrices simétricas y definidas positivas y representan las ganancias del controlador a disposición para el diseño del mismo. El problema de seguimiento de trayectorias consiste en acercar a cero, lo más posible, la expresión del error q% , sin importar las condiciones iniciales del robot. Proposición 1: El controlador (4.2.1) y (4.2.2) es un controlador No Lineal PID. Demostración: Integrando respecto al tiempo (4.2.2) y sustituyendo en (4.2.1) se obtiene: %& . τ = M (q )[q&&d + KV q&% + K p q% ] + C ( q, q& ) q& + Γ ( q ) ∫ ΓT ( q ) M −1 ( q ) KV qdt Reacomodando términos: %& + M (q )q&&d + C (q, q& )q& , τ = M (q) K p q% + M (q ) KV q%& + Γ(q ) ∫ ΓT (q ) M −1 (q ) KV qdt donde: Parte Proporcional: M (q) K p q% Parte Derivativa: M (q ) KV q&% &% Parte Integral: Γ(q ) ∫ ΓT (q ) M −1 (q ) KV qdt Parte de Corrimiento No Lineal: M (q )q&&d + C (q, q& )q& Teorema 1. El Controlador (4.2.1) y (4.2.2) resuelve el problema de seguimiento de trayectorias en forma global; esto es: lim q% t →∞ es acotado. Si KV = α I y α ∈ R+ . 43 Demostración: Sustituyendo (4.2.1) en (4.1.4): ˆ . M (q )q&& + C (q, q& )q& + Γ(q )Ω = M (q )[q&&d + KV q%& + K p q% ] + C (q, q& )q& + Γ(q )Ω (4.2.3) Agrupando términos en (4.2.3) se obtiene: ˆ − Ω] = 0 . M (q)[q&&% + KV q%& + K p q% ] + Γ(q )[Ω (4.2.4) Definiendo ˆ −Ω, % =Ω Ω se obtiene: %. q&&% = − K p q% − KV q%& − M −1 (q)Γ(q)Ω (4.2.5) La ecuación anterior se puede representar como la dinámica del error, debido que está en % . Considerando que Ω ∈ R n es un función del error de posición q% y del error de estimación Ω &% &ˆ = Ω . Se propone la siguiente función de vector de constantes, entonces se observa que Ω Lyapunov: % ) = 1 q&% T K q&% + 1 q% T K K q% + 1 Ω % TΩ % . V (q% , q&% , Ω V P V 2 2 2 (4.2.6) Donde dicha función es definida positiva y radialmente desacotada. Diferenciando a V con respecto al tiempo [14] tenemos: % ) = q&% T K q&&% + q% T K K q&% + Ω % TΩ %& . V& (q% , q%& , Ω V P V (4.2.7) Usando (4.2.5) en (4.2.7) se obtiene: % ) = q&% T K ⎡ − K q% − K q&% − M −1 (q )Γ(q )Ω % ⎤ + q% T K K q&% + Ω % TΩ %& V& (q% , q&% , Ω V ⎣ p V P V ⎦ &% % + q% T K K q%& + Ω % TΩ = −(q&% T KV K p q% )T − q%& T KV KV q%& − q%& T KV M −1 (q )Γ(q )Ω P V &% % + q% T K K q%& + Ω % TΩ = −q% T K p KV q%& − q%& T KV KV q%& − q%& T KV M −1 (q)Γ(q)Ω P V &ˆ % +Ω % TΩ = −q%& T KV KV q%& − q%& T KV M −1 (q )Γ(q )Ω 44 ˆ& T − q%& T K M −1 (q )Γ(q ) ⎤ Ω % ) = − q%& T K K q%& + ⎡Ω % V& (q% , q%& , Ω V V V ⎢⎣ ⎥⎦ &ˆ Ω = ΓT (q ) M −1 (q ) KV q&% Por lo tanto resulta: % ) = − q%& T K K q%& ≤ 0 . V& ( q% , q%& , Ω V V (4.2.8) Como se observa, la expresión es semi-definida negativa. De acuerdo a la teoría de estabilidad de Lyapunov, se concluye estabilidad global. ◊ 4.2.1 Resultados de Simulación A continuación se presentarán los resultados numéricos realizados al modelo dinámico del brazo manipulador de dos grados de libertad mostrado en la figura 2.1, y tiene los siguientes datos: ⎡M M (q) = ⎢ 11 ⎣ M 21 M 12 ⎤ , M 22 ⎥⎦ ⎡ C (q, q& ) C12 (q, q& ) ⎤ C (q, q& ) = ⎢ 11 ⎥, ⎣C21 (q, q& ) C22 (q, q& ) ⎦ ⎡ g (q) ⎤ G (q ) = ⎢ 1 ⎥ , ⎣ g 2 (q) ⎦ ⎡τ ⎤ τ = ⎢ 1⎥, ⎣τ 2 ⎦ donde: M 11 (q) = m1lC21 + m2l12 + m2lC2 2 + 2m2l1lC 2 cos(q2 ) + I1 + I 2 , M 12 (q) = m2lC2 2 + m2l1lC 2 cos(q2 ) + I 2 , M 21 (q ) = m2lC2 2 + m2l1lC 2 cos(q2 ) + I 2 , M 22 (q) = m2lC2 2 + I 2 , C11 (q, q& ) = − m2l1lC 2 sen(q2 )q&2 , C12 (q, q& ) = −m2l1lC 2 sen(q2 )[q&1 + q&2 ], C21 (q, q& ) = m2l1lC 2 sen(q2 )q&1 , C22 (q, q& ) = 0, g1 (q) = [m1lC1 + m2l1 ]gsen(q1 ) + m2 glC 2 sen(q1 + q2 ), g 2 (q) = m2 glC 2 sen(q1 + q2 ). Es fácil demostrar que (4.1.4) se satisface con: 45 ⎡ sen(q1 ) sen(q1 + q2 ) ⎤ , Γ( q ) = ⎢ sen(q1 + q2 ) ⎥⎦ ⎣ 0 ⎡(m l + m2l1 ) g ⎤ Ω = ⎢ 1 C1 ⎥ m2lC 2 g ⎣ ⎦ La lista de parámetros se muestra a continuación: Tabla 1 Parámetros del sistema Descripción Longitud eslabón 1 Notación l1 Valor 0.450 Unidades m Longitud eslabón 2 l2 0.450 m Distancia al centro de masa (eslabón 1) lC1 0.091 m Distancia al centro de masa (eslabón 2) lC 2 0.048 m Masa eslabón 1 m1 23.902 Kg Masa eslabón 2 m2 3.880 Kg Inercia eslabón 1 respecto al centro de masa I1 1.266 Kg m 2 Inercia eslabón 2 respecto al centro de masa I2 G 0.093 Kg m 2 9.81 m / s2 Aceleración de gravedad La programación del controlador (4.2.1) y (4.2.2) fue realizada usando: qdi = π 2 (1 − e − wit ) + 0.1sen( w0i t ), wi = 5, w0i = 2π , i = 1, 2. El primer término involucra un corrimiento de las oscilaciones en π / 2 para cada articulación, siendo wi la velocidad con la que se converge a dicha posición, mientras que el segundo término introduce una señal oscilante a una velocidad w0i alrededor de la posición deseada. Se propusieron las siguientes ganancias del controlador: ⎡1 0 ⎤ KV = α I = (300) ⎢ ⎥, ⎣0 1 ⎦ ⎡300 0 ⎤ KP = ⎢ ⎥ ⎣ 0 300 ⎦ 46 El valor de estas ganancias puede variar de acuerdo a las condiciones de cada sistema. En este caso, se tomaron estos valores de ganancia debido a que el controlador ya mostraba un buen desempeño. 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 0.6 0.4 q 1 0.2 q d1 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 4.1 Posición de q1 respecto de qd 1 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q2 0.6 q d2 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 4.2 Posición de q2 respecto de qd 2 Los resultados numéricos presentados en las figuras 4.1 y 4.2, presentan un ligero error en q1 y q2 respecto de las posiciones deseadas. No obstante se encuentran dentro de los 47 márgenes reportados por otros controladores no lineales PID [3], además dicho error se puede reducir, al incrementar las ganancias del controlador. q&1 q&d 1 Figura 4.3 Velocidad de q&1 respecto de q&d 1 q&2 q&d 2 Figura 4.4 Velocidad de q&2 respecto de q&d 2 48 El seguimiento de las velocidades de q&1 y q&2 respecto a las velocidades deseadas q&d 1 y q&d 2 , se aprecia claramente en las figuras 4.3 y 4.4. Los resultados muestran como se cumple de manera muy precisa dicho seguimiento para los dos casos presentados. τ1 τ2 Figura 4.5 Entradas de control para un rango de 0 a 0.05 segundos. τ1 τ2 Figura 4.6 Entradas de control para un rango de 0 a 10 segundos. En cuanto a los valores de τ 1 y τ 2 mostrados en las figuras 4.5 y 4.6, podemos mencionar que también se encuentran dentro de los rangos presentados por otros controladores no 49 lineales [3, 8], así como los errores observados en la figura 4.7 para q%1 y q%2 , lo que demuestra el buen desempeño del controlador. q%1 q%2 Figura 4.7 Errores de posición 4.3 Segunda propuesta Considerando lo estudiado en el controlador de la primera propuesta, se analizaron las distintas posibilidades y se propuso otra ley de control muy similar a la anterior. Los resultados fueron más satisfactorios como se verá mas adelante, y el controlador quedó de la forma siguiente: τ = M (q)[q&&d + KV q&% + K p q% ] + C (q, q& )q& + Γ(q) gˆ , (4.3.1) g&ˆ = ΓT (q) M −1 (q) KV q&% , (4.3.2) donde nuevamente q% = qd − q es el error de posición, siendo qd (t ) la posición deseada y con el mismo valor del caso anterior. Se tomaron los mismos valores de ganancias de K P y KV para tener las mismas condiciones. 50 Proposición 2: El controlador (4.3.1) y (4.3.2) es un controlador No Lineal PID. Demostración: Integrando respecto al tiempo (4.3.2) y sustituyendo en (4.3.1) se obtiene: &% . τ = M (q )[q&&d + KV q&% + K p q% ] + C (q, q& )q& + Γ (q ) ∫ ΓT (q ) M −1 (q ) KV qdt Reacomodando términos: &% + M (q )q&& + C (q, q& )q& , τ = M (q) K p q% + M (q ) KV q&% + Γ(q ) ∫ ΓT (q ) M −1 (q ) KV qdt d donde: Parte Proporcional: M (q) K p q% Parte Derivativa: M (q ) KV q&% &% Parte Integral: Γ(q ) ∫ ΓT (q ) M −1 (q ) KV qdt Parte de Corrimiento No Lineal: M (q)q&&d + C (q, q& )q& Teorema 2. El controlador (4.3.1) y (4.3.2) resuelve el problema de seguimiento de trayectorias en forma global; esto es: lim q% es acotado. t →∞ Si KV = α I y α ∈ R+ . Demostración: Sustituyendo (4.3.1) en (4.1.4): M (q)q&& + C (q, q& )q& + Γ(q) g = M (q)[q&&d + KV q%& + K p q% ] + C (q, q& )q& + Γ(q) gˆ . (4.3.3) Agrupando términos en (4.3.3) se obtiene: M (q)[q&&% + KV q%& + K p q% ] + Γ(q)[ gˆ − g ] = 0 Definiendo (4.3.4) g% = gˆ − g Por lo tanto, despejando se obtiene: 51 q&&% = − K p q% − KV q%& − M −1 (q)Γ(q) g% , (4.3.5) La ecuación anterior se puede representar como la dinámica del error, debido que está en función del error de posición q% y del error de estimación g% . Considerando que g ∈ R es un valor de gravedad constante, entonces se observa que g&% = g&ˆ . Se propuso la siguiente función de Lyapunov: 1 1 1 V ( q% , q&% , g% ) = q%& T KV q%& + q% T K P KV q% + g% T g% , 2 2 2 (4.3.6) donde dicha función es definida positiva y radialmente desacotada. Diferenciando a V con respecto al tiempo [14] tenemos: V& ( q% , q%& , g% ) = q%& T KV q&&% + q% T K P KV q&% + g% T g&% (4.3.7) Sustituyendo (4.3.5) en (4.3.7), se obtiene: V& (q% , q%& , g% ) = q&% T KV ⎡⎣ − K p q% − KV q&% − M −1 (q)Γ(q ) g% ⎤⎦ + q% T K P KV q&% + g% T g&% = −(q&% T KV K p q% )T − q&% T KV KV q&% − q&% T KV M −1 (q )Γ(q ) g% + q% T K P KV q&% + g% T g&% = −q% T K p KV q%& − q%& T KV KV q%& − q%& T KV M −1 (q)Γ(q ) g% + q% T K P KV q&% + g% T g&% = −q&% T KV KV q&% − q&% T KV M −1 (q)Γ(q) g% + g% T g&ˆ V& (q% , q&% , g% ) = − q&% T KV KV q&% + ⎡⎣ g&ˆ T − q&% T KV M −1 (q)Γ(q ) ⎤⎦ g% g&ˆ = ΓT (q) M −1 (q) KV q&% Y finalmente resulta: V& (q% , q%& , g% ) = − q%& T KV KV q%& ≤ 0 (4.3.8) Por lo anterior, se observa que es semi-definida negativa. De acuerdo a la teoría de Lyapunov, se concluye estabilidad global. ◊ 52 4.3.1 Resultados de simulación A continuación se presentarán los resultados numéricos realizados al modelo dinámico del brazo manipulador de dos grados de libertad mostrado en la figura 2.1, se consideraron los mismos datos mostrados en el caso anterior: ⎡M M (q) = ⎢ 11 ⎣ M 21 M 12 ⎤ , M 22 ⎥⎦ ⎡ C (q, q& ) C12 (q, q& ) ⎤ C (q, q& ) = ⎢ 11 ⎥, ⎣C21 (q, q& ) C22 (q, q& ) ⎦ ⎡ g (q) ⎤ G (q ) = ⎢ 1 ⎥ , ⎣ g 2 (q) ⎦ ⎡τ ⎤ τ = ⎢ 1⎥, ⎣τ 2 ⎦ solo con la modificación de que ĝ ∈ R es el valor adaptable y: ⎡(m l + m2l1 ) sen(q1 ) + m2lC 2 sen(q1 + q2 ) ⎤ Γ( q ) = ⎢ 1 C1 ⎥. m2lC 2 sen(q1 + q2 ) ⎣ ⎦ La programación del controlador (4.3.1) y (4.3.2) se realizó usando los mismos valores de ganancias de K P y KV , así como la misma función deseada del caso anterior: qdi = π 2 (1 − e − wit ) + 0.1sen( w0i t ), wi = 5, w0i = 2π , i = 1, 2. 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q1 0.6 q d1 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 4.8 Posición de q1 respecto de qd 1 53 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q2 0.6 q d2 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 4.9 Posición de q2 respecto de qd 2 Como lo muestran los resultados numéricos presentados en las figuras 4.8 y 4.9, presentan un mejor seguimiento que los obtenidos en la primera propuesta. Al igual que en el primer diseño, esa diferencia inicial en el seguimiento de las trayectorias se puede reducir al incrementar las ganancias del controlador. q&1 q&d 1 Figura 4.10 Velocidad de q&1 respecto de q&d 1 54 q&2 q&d 2 Figura 4.11 Velocidad de q&2 respecto de q&d 2 τ1 τ2 Figura 4.12 Entradas de control para un rango de 0 a 0.05 segundos Como se puede observar en las figuras 4.8 – 4.14, el funcionamiento del segundo controlador fue mucho mejor que el primer propuesto, además la descripción de su diseño fue más sencilla que el primero. De lo anterior, podemos mencionar que se logró mejorar la primera propuesta y así presentar otra posible forma de obtener otro controlador utilizando la propiedad mencionada. 55 τ1 τ2 Figura 4.13 Entradas de control para un rango de 0 a 10 segundos q%1 q%2 Figura 4.14 Errores de posición Una vez comprobado el mejor funcionamiento del segundo controlador, se procede a someter dicho controlador a una variación de varios de sus parámetros del sistema como se describirán en la tabla 2. Lo anterior es con el fin de observar la respuesta de este sistema de control ante variaciones no contempladas en el diseño pero que prueban el grado de robustez y así presentar unos resultados más sólidos que ratifiquen el buen desempeño de esta última propuesta. 56 A continuación, en la tabla 2 se vuelve a presentar la lista de los parámetros del sistema, pero ahora con las variaciones establecidas para la realización de las simulaciones numéricas. Tabla 2 Valores de los parámetros utilizados en el controlador Descripción Longitud eslabón 1 Notación l1 Valor 1 Unidades m Longitud eslabón 2 l2 1 m Distancia al centro de masa (eslabón 1) lC1 0.11 m Distancia al centro de masa (eslabón 2) lC 2 0.065 m Masa eslabón 1 m1 28 Kg Masa eslabón 2 m2 8 Kg Inercia eslabón 1 respecto al centro de masa I1 1.266 Kg m 2 Inercia eslabón 2 respecto al centro de masa I2 0.093 Kg m 2 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q1 0.6 qd1 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 4.15 Posición de q1 respecto de qd 1 De acuerdo a los resultados numéricos mostrados en las figuras 4.15 y 4.16, se aprecia claramente como el sistema de control se ve afectado por tales variaciones paramétricas. También se observa que después de un transitorio se cumple el seguimiento de las trayectorias deseadas, cumpliendo con los objetivos esperados. Al igual como se ha venido expresando, 57 esas diferencias en los resultados se pueden reducir al incrementar las ganancias del controlador. 1.8 1.6 1.4 Posición [Rad] 1.2 1 0.8 q2 0.6 qd2 0.4 0.2 0 0 2 4 6 Tiempo [Seg] 8 10 Figura 4.16 Posición de q2 respecto de qd 2 q&1 q&d 1 Figura 4.17 Velocidad de q&1 respecto de q&d 1 58 q&2 q&d 2 Figura 4.18 Velocidad de q&2 respecto de q&d 2 τ1 τ2 Figura 4.19 Entradas de control para un rango de 0 a 0.005 segundos Aunque en las figuras 4.19 y 4.20, se obtiene un aumento considerable de las entradas de control, es una consecuencia esperada considerando las variaciones aplicadas. En general podemos mencionar que los resultados obtenidos en las gráficas 4.16 a la 4.21, los objetivos de control se están cumpliendo satisfactoriamente mostrando una robustez ante variaciones paramétricas. 59 τ1 τ2 Figura 4.20 Entradas de control para un rango de 0 a 0.005 segundos q%1 q%2 Figura 4.21 Errores de posición En este capítulo se mostró el diseño de dos nuevos controladores no lineales PID para resolver el problema de seguimiento de trayectorias para robots manipuladores. Los experimentos numéricos obtenidos ilustran el buen desempeño de los dos controladores. La originalidad de éstos, radicó en la utilización de la propiedad mostrada en (4.1.3), la cual fue útil para la derivación de los dos controladores PID propuestos. 60 APÉNDICE A PROPIEDADES En éste apéndice se expondrán algunas de las propiedades más importantes del modelo dinámico para robots de n g.d.l. [6] caracterizado mediante la ecuación (2.1.1). Al realizar estudios con un determinado sistema, resulta de gran utilidad el conocimiento de propiedades que nos faciliten y optimicen el trabajo en el desarrollo de los sistemas de control. Es clara la complejidad de la ecuación (2.1.1) que caracteriza el funcionamiento de los robots manipuladores, por lo que constituye una herramienta de gran valor el identificar alguna propiedad adecuada para el diseño de controladores. En el capítulo 2 se describieron las propiedades utilizadas para el desarrollo de los controladores propuestos. A continuación se presentarán algunas otras de las bondades que brinda dicho modelo dinámico y cada una de ellas será tratada independientemente en los siguientes epígrafes. A.1 Matriz de Inercia M(q) La matriz de inercia M(q) juega un papel importante tanto en el modelado dinámico como en el diseño de controladores para robots. En el primer caso, la matriz de inercia se encuentra íntimamente relacionada con la energía cinética: K= 1 T q& M (q )q& , 2 mientras que en el segundo, se emplean algunas de sus propiedades para el estudio de estabilidad de sistemas de control de robots. Entre dichas propiedades se encuentran las enunciadas a continuación. 61 La matriz de inercia M(q) es una matriz simétrica definida positiva de n x n cuyos elementos son funciones solamente de q. La matriz de inercia M(q) satisface las siguientes propiedades: 1. Existe una constante real positiva α tal que: M (q) ≥ α I ∀q ∈ R n donde I denota la matriz identidad de dimensión n x n. La matriz M (q ) −1 existe y es definida positiva. 2. Para el caso de robots provistos únicamente de articulaciones rotacionales, existe una constante β > 0 tal que: λMax {M (q )} ≤ β ∀q ∈ R n . Una manera sencilla de calcular β es la dada por: β ≥ n ⎡ max ⎢⎣ i , j ,q M ij (q ) ⎤ ⎥⎦ donde M ij ( q ) denota al ij-ésimo elemento de la matriz M(q). A.2 Matriz centrífuga y de Coriolis C (q, q& ) La importancia de las propiedades de la matriz centrífuga y de Coriolis C ( q, q& ) se hace patente en el estudio de estabilidad de los sistemas de control de robots. Las principales propiedades de dicha matriz se citan a continuación. La matriz de fuerzas centrífugas y de Coriolis C ( q, q& ) es una matriz de n x n cuyos elementos son funciones de q y q&. Además C ( q, q& ) satisface las siguientes propiedades: 62 1. La matriz C ( q, q& ) puede no ser única, pero el vector C ( q, q& ) q& es único. 2. C (q, 0) = 0 para todo vector q ∈ R n . 3. El vector C ( q, x ) y puede expresarse en la forma: ⎡ xT C1 (q ) y ⎤ ⎢ T ⎥ x C2 ( q ) y ⎥ ⎢ C ( q, x ) y = ⎢ ⎥ M ⎢ T ⎥ ⎢⎣ x Cn (q ) y ⎥⎦ (A.1) donde Ck (q) son matrices simétricas de dimensión n para todo k = 1,2, … , n. De hecho, el ij-ésimo elemento Ckij ( q ) de la matriz Ck (q) corresponde al símbolo de Christoffel c jik (q ) [6]. 4. Para el caso de robots provistos únicamente de articulaciones rotacionales, existe una constante kC1 > 0 tal que: C (q, x) y ≤ kC1 x y para todo q, x, y ∈ R n . A.3 Vector de gravedad G(q) El vector de pares gravitacionales G(q) está presente en robots que no han sido diseñados, desde un punto de vista mecánico, con compensación de pares de gravedad, por ejemplo, sin contrapesos o resortes, o para robots destinados a desplazarse fuera del plano horizontal. Algunas de sus propiedades más importantes se citan a continuación. 1. Para el caso de robots provistos únicamente de articulaciones rotacionales, el vector G(q) es Lipschitz, esto es, existe una constante kG > 0 tal que: 63 G ( x) − G ( y ) ≤ kG x − y para todo x, y ∈ R n . Una forma sencilla de calcular kG es como: ⎡ ∂Gi (q ) ⎤ kG ≥ n ⎢ max ⎥. i, j ,q ∂qi ⎦ ⎣ Además, kG satisface: kG ≥ ⎧ ∂G (q) ⎫ ∂G (q ) ≥ λMax ⎨ ⎬. ∂q ⎩ ∂q ⎭ 2. Para el caso de robots provistos únicamente de articulaciones rotacionales, existe una constante k’ tal que: G (q) ≤ k’ para todo q ∈ R n . 64 CONCLUSIONES En la presente tesis, se diseñaron dos controladores no lineales PID adaptables de compensación de gravedad para robots manipuladores usando teoría de estabilidad de Lyapunov. En la simulación de los controladores ya existentes (los mostrados en el capítulo 3), se apreció claramente cómo al aplicar las variaciones del valor de la gravedad en los controladores de posición, ver figuras 3.4, 3.5, 3.8 y 3.9, se ven seriamente afectados. En el caso de los controladores de velocidad, en la medida que varíe la gravedad, en esa misma medida se presenta la diferencia entre la posición deseada y la final, ver figuras 3.13, 3.14, 3.17 y 3.18. Con esto se demostró que los sistemas de control anteriores son sensibles a las variaciones de sus parámetros, en este caso, al valor de la gravedad. De nuestros controladores propuestos, en el primer diseño se observó como se cumplen los objetivos de control, ver figuras de la 4.1 a la 4.7. El seguimiento de la trayectoria se cumple y los resultados obtenidos están dentro de los reportados en otros controladores no lineales PID [3], [8]. Además claramente se aprecia un mejor desempeño en relación a los mostrados en el capítulo 3 de este trabajo. En el segundo controlador propuesto, más que un análisis elaborado de su ley de control, fue la inspección de su constitución y funcionamiento lo que permitió obtener mejores resultados que el primer diseño propuesto. Es decir, al observar que los parámetros del sistema son iguales a los del controlador, se optó por reducir el parámetro Ω a únicamente a un valor estimado ĝ , lo que por consecuencia redujo la estructura del controlador y su desempeño se optimizó logrando con esto, mejores resultados y así superar la primera proposición. Lo anterior se puede constatar analizando las figuras de la 4.8 a la 4.14. Otro resultado importante del trabajo, fue perturbar el sistema de control en el segundo diseño. Se modificaron los parámetros del controlador, ver tabla 2, obteniendo toda una serie de resultados, ver figuras de la 4.15 a la 4.21, donde efectivamente se muestran como el funcionamiento es afectado. No obstante, a pesar de los incrementos en los torques de entrada, 65 resultados mostrados en las figuras 4.19 y 4.20, se entiende este fenómeno cómo consecuencia de las perturbaciones aplicadas. En resumen, podemos concluir que el segundo controlador presentó un buen desempeño, mostrando robustez y estabilidad ante variaciones de los parámetros del sistema. En este trabajo, como ya se mencionó, se planteó el diseño de dos nuevos controladores no lineales PID para resolver el problema de seguimiento de trayectorias. Tales diseños probaron tener estabilidad global en el sentido de Lyapunov, como los reportados en [1 - 5]. El uso de la propiedad de la dinámica de robots manipuladores mostrada en [15], que se basa en la característica que tiene el modelo del robot de linealidad de los parámetros dinámicos, fue la que nos permitió definitivamente la obtención de los controladores adaptables de compensación de gravedad propuestos. 66 BIBLIOGRAFÍA y REFERENCIAS [1] Acho L., Moreno J., “A class of adaptive PID control design for tracking control of robot manipulators”, Congreso Latinoamericano de Control Automático CLCA, Guadalajara, México, 2002. [2] Aguilar L., Acho L., Guerra R., “PID robust control for robot manipulators with parametric uncertainty”, Proccedings of the 6th IASTED International Conference Intelligent Systems and Control, Hawaii, USA, Aug. 2004. [3] Alvarez J., Cervantes I., Kelly R., “PID regulation of robot manipulators: stability and performance”, Systems and Control Letters, 41, pp. 73-83, Apr. 2000. [4] Alvarez J., Kelly R., Cervantes I., “Semiglobal stability of saturated linear PID control for robot manipulators”, Automatica, 39, pp. 989-995, Jan. 2003. [5] Gorez R., “Globally stable PID like control of mechanical systems”, Systems and Control Letter, 38, pp. 61-72, May 1999. [6] Kelly R., Santibáñez V., Control de Movimiento de Robots Manipuladores, Pearson Prentice Hall, 2003. [7] Khalil Hassan K., Nonlinear Systems, Third Edition, Prentice Hall, U.S.A. 2002. [8] Koo K., Kim J., “Robust Control of Robot Manipulators with Parametric Uncertainty”, IEEE Transactions on Automatic Control, 39, pp. 1230-1233, June 1994. [9] Nijmeijer H., Berghuis H., “Global regulation of robots using only position measurements”, Systems and Control Letters, 21, pp. 289-293, Feb 1993. [10] Ogata Katsuhiko, Ingeniería de Control Moderna, Tercera Edición, Prentice Hall Hispanoamericana, 1998. [11] Orlov Y., Alvarez J., Acho L., Aguilar L., “Global position regulation of friction manipulators via switched chattering control”, International Journal of Control, Vol. 76, No. 14, pp. 1146-1452, May. 2003. [12] Sage H., Mathelin M., Ostertag E., “Robust control of robot manipulators: a survey”,Int. J. Control, Vol. 72, No. 16, pp. 1498-1522, May. 1999. [13] Slotine Jean J., Li Weiping, “Adaptive Manipulator Control: A Case Study”, IEEE Transactioons on Automatic Control, Vol. 33, No. 11, November 1988. 67 [14] Spurgeon S., Edwards C., Sliding Mode Control: Theory and Applications, Taylor and Francis, London 1998. [15] Tayebi A., “Adaptive iterative learning control for robot manipulators”, Automatica, 40, pp. 1195-1203, Jan 2004. 68