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
M A E S T R O E N C I E N C I A S
P R E S E N T A:
MANUEL EMILIO GÁMEZ URÍAS
BAJO LA DIRECCIÓN DE:
DR. LEONARDO ACHO ZUPPA
Dedico esta tesis a mis padres:
A quienes con todo orgullo debo todo lo que tengo y lo que soy
H U M B E R T O G A M E Z G A R C I A
y
E L I A U R I A S R O D R I G U E Z
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.
A G R A D E C I M I E N T O S :
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.
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
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
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.
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
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 qd1………..………. 22
Figura 3.3 Posición de q2 respecto de qd2……….. 23
Figura 3.4 Posición de q1 respecto de qd1 con una gˆdistinta de g………. 24
Figura 3.5 Posición de q2 respecto de qd2 con una gˆdistinta de g………. 24
Figura 3.6 Posición de q1 respecto de qd1………... 27
Figura 3.7 Posición de q2 respecto de qd2……….. 27
Figura 3.8 Posición de q1 respecto de qd1 con una gˆdistinta de g………. 28
Figura 3.9 Posición de q2 respecto de qd2 con una gˆ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 qd1………... 32
Figura 3.12 Posición de q2 respecto de qd2……….. 33
Figura 3.13 Posición de q1 respecto de qd1 con una gˆdistinta de g………. 33
Figura 3.14 Posición de q2 respecto de qd2 con una gˆdistinta de g………. 34
Figura 3.15 Posición de q1 respecto de qd1………... 38
Figura 3.16 Posición de q2 respecto de qd2……….. 38
Figura 3.17 Posición de q1 respecto de qd1 con una gˆdistinta de g………. 39
Figura 4.1 Posición de q1 respecto de qd1………... 47
Figura 4.2 Posición de q2 respecto de qd2……….. 47
Figura 4.3 Velocidad de q&1 respecto de q&d1………...……. 48
Figura 4.4 Velocidad de q&2 respecto de q&d2……… 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 qd1………... 53
Figura 4.9 Posición de q2 respecto de qd2……….. 54
Figura 4.10 Velocidad de q&1 respecto de q&d1……… 54
Figura 4.11 Velocidad de q&2 respecto de q&d2……… 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 qd1………... 57
Figura 4.16 Posición de q2 respecto de qd2……….. 58
Figura 4.17 Velocidad de q&1 respecto de q&d1……… 58
Figura 4.18 Velocidad de q&2 respecto de q&d2……… 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
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
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.
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:
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.).
La figura 1.1 muestra un robot de 4 g.d.l.: 1 q 2 q 3 q 4 q Figura 1.1 Robot de 4 g.d.l.
Las variables 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:
1, 2, 3 y 4 q q q q 1 2 . n q q q q ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ M
Tanto las posiciones articulares q como sus derivadas temporales, es decir, las velocidades articulares q d ,
dt
=
& q se miden mediante sensores convenientemente colocados en el robot.
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
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 . n τ τ τ τ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ M
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.
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:
( , , ).
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.
- 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 y q 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
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
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.
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:
1 τ 2 τ g 1 l 1 C l 1 q 2 q 2 C l 2 l x y 2 2,I m 1 1 I m
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.
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 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 respectivamente. Por ultimo,
1 y , y masas 2 1 y l l m m2 2 1 y 2 C C l l 1 e
I I 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 , que se mide desde la posición vertical hacia abajo y , 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 1 q 2 q ( ) q t se define como: 1 2 ( ) [ ( ) ( )] .T q t = q t q 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∈Rnes el vector de posición, n
R
τ∈ es el vector de torques de control en accionadores, ( )M q ∈Rnxnes la matríz de inercia, es la matríz centrífuga y de coriolis, es el vector de gravedad. Nótese que (2.1.1) es una ecuación diferencial vectorial no lineal en el estado
( , ) nxn C q q& ∈R ( ) n G q ∈R . T T T q q ⎡ ⎤ ⎣ & ⎦
El término C q q q( , )& & es un vector de llamado vector de fuerzas centrífugas y de Coriolis, el cual es único, pero la matriz
1
n x
( , )
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.
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: 11 12 11 12 1 1 21 22 21 22 2 2 ( , ) ( , ) ( ) ( ) , ( , ) , ( ) , , ( , ) ( , ) ( ) M M C q q C q q g q M q C q q G q M M C q q C q q g q τ τ τ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ =⎢ ⎥ =⎢ ⎥ =⎢ ⎥ ⎢ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ & & & & & ⎤ = ⎥ ⎦ donde: 2 2 2 11 1 1 2 1 2 2 2 1 2 2 1 2 2 12 2 2 2 1 2 2 2 2 21 2 2 2 1 2 2 2 2 22 2 2 2 11 2 1 2 2 2 12 2 1 2 2 1 2 21 ( ) 2 cos( ) , ( ) cos( ) , ( ) cos( ) , ( ) , ( , ) ( ) , ( , ) ( )[ ], ( , C C C C C C C C C C M q m l m l m l m l l q I I M q m l m l l q I M q m l m l l q I M q m l I C q q m l l sen q q C q q m l l sen q q q C q = + + + + + = + + = + + = + = − = − + & &
& & &
2 1 2 2 1 22 1 1 1 2 1 1 2 2 1 2 2 2 2 1 2 ) ( ) , ( , ) 0, ( ) [ ] ( ) ( ), ( ) ( ). C C C C q m l l sen q q C q q g q m l m l gsen q m gl sen q q g q m gl sen q q = = = + + + = + & & &
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:
[
1 . ( ) ( ) ( , ) ( ) q q d M q t C q q q G q q dt − τ]
⎡ ⎤ ⎡ ⎤ = ⎢ ⎥ ⎢ ⎥ − − ⎣ ⎦ ⎣ ⎦ & & & & (2.1.2)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
,
T
T T
q q
⎡ ⎤
⎣ & ⎦ 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.
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: 11 12 11 12 1 21 22 21 22 2 ( , ) ( , ) ( ) , ( , ) , , ( , ) ( , ) M M C q q C q q M q C q q M M C q q C q q τ τ τ ⎡ ⎤ ⎡ ⎤ ⎡ =⎢ ⎥ =⎢ ⎥ ⎢ ⎣ ⎦ ⎣ ⎦ ⎣ & & & & & ⎤ = ⎥ ⎦ en el caso del vector de pares gravitacionales tenemos:
1 1 2 1 1 2 2 1 2 1 2 2 1 2 2 [ ] ( ) ( ( ) ( ) , ( ) ( ) C C C m l m l gsen q m gl sen q q g q G q m gl sen q q g q + + + ) ⎡ ⎤ ⎡ ⎤ =⎢ ⎥= ⎢ ⎥ + ⎣ ⎦ ⎣ ⎦
considerando (2.2.1), se pueden tener distintas representaciones de G(q), es decir, de . Para ejemplificar la propiedad (2.2.1), a continuación se presentan dos parametrizaciones del vector de gravedad, un primer caso es:
( ) y q Γ Ω 1 1 2 1 1 1 2 2 2 1 2 ( ) ( ) ( ) ( ) , 0 ( ) C C m l m l g sen q sen q q q m l g sen q q + + ⎡ ⎤ ⎡ ⎤ Γ =⎢ ⎥ Ω = ⎢ ⎥ + ⎣ ⎦ ⎣ ⎦,
y otra posibilidad es :
[ ]
1 1 2 1 1 2 2 1 2 2 2 1 2 ( ) ( ) ( ) ( ) , . ( ) C C C m l m l sen q m l sen q q q g m l sen q q + + + ⎡ ⎤ Γ =⎢ ⎥ Ω = + ⎣ ⎦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.
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 , que se supone constante, se trata de determinar una función vectorial
d
q
τ , de tal forma que las posiciones asociadas a las coordenadas articulares del robot lleguen asintóticamente a . En términos más formales, el objetivo de control de posición pura, o simplemente control de posición, consiste en determinar
q
d
q
τ de tal forma que:
lim ( ) d
donde qd ∈Rn 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 qy 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 q M q C q q G qd, ( ), ( , ), ( )).
τ τ= & && & (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:
d
q τ 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
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∈Rnes el vector de posición,
n
R
τ∈ es el vector de torques de control en accionadores, M q( )∈Rnxnes la matríz de inercia, es la matríz centrífuga y de coriolis, es el vector de gravedad. El controlador propuesto por Harry Berghuis y Henk Nijmeijer [9] es:
( , ) nxn C q q& ∈R G q( )∈Rn ( ) d p , G q K x K e τ = − &− (3.1.3) , d x&= −Lx+K e (3.1.4)
donde que representa el error de posición
y 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 ( , , 0, 0, 0 y , T T T d d p p d L=L > K =K > K =K > e≡ −q q d q ) 0. q e x& ≡
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:
11 12 11 12 1 1 21 22 21 22 2 2 ( , ) ( , ) ( ) ( ) , ( , ) , ( ) , ( , ) ( , ) ( ) M M C q q C q q g q M q C q q g q M M C q q C q q g q τ τ τ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ =⎢ ⎥ =⎢ ⎥ =⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ & & & & & ⎡ ⎤ = ⎢ ⎥ ⎣ ⎦,
pero ahora estos valores son dados por los autores: 11 2 12 2 21 2 22 11 2 2 12 2 1 2 21 2 1 22 1 1 ( ) 8.77 1.02 cos( ), ( ) 0.76 0.51cos( ), ( ) 0.76 0.51cos( ), ( ) 0.62, ( , ) 0.51 ( ) , ( , ) 0.51 ( )[ ], ( , ) 0.51 ( ) , ( , ) 0, ( ) 7.6 ( ) 0.6 M q q M q q M q q M q C q q sen q q C q q sen q q q C q q sen q q C q q g q gsen q = + = + = + = = − = − + = = = + & &
& & &
& & & 1 2 2 1 2 3 ( ) ( ) 0.63 ( ), sen q q g q sen q q + = + ,
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 qTd =
[ ]
1 1 . Las condiciones iniciales para q q, y & x son asumidas igual a cero. Las matrices de ganancia del controlador son:50 0 150 0 80 0 , , 0 100 0 60 0 100 p d K =⎡⎢ ⎤⎥ K =⎡⎢ ⎤⎥ L=⎡⎢ ⎣ ⎦ ⎣ ⎦ ⎣ . ⎤ ⎥ ⎦ 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Tiempo [Seg] Posición [Rad] q 1 q d1
0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Tiempo [Seg] Posición [Rad] q 2 q d2
Figura 3.3 Posición de q2 respecto de qd2
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 gˆ al controlador con los siguientes datos:
g 9.81 m2 gˆ 12 m2,
seg seg
= =
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
ˆ
g 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ˆ.
0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Tiempo [Seg] Posición [Rad] q 1 q d1
Figura 3.4 Posición de q1 respecto de qd1 con una gˆdistinta de g.
0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Tiempo [Seg] Posición [Rad] q 2 q d2
Figura 3.5 Posición de q2 respecto de qd2 con una gˆ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
de posición en forma global para robots cuyos modelos dinámicos no poseen el vector de pares gravitacionales G q( ). (3.1.5) p v K q K q τ = %+ &%
En este caso, la sintonía de este controlador es trivial ya que es suficiente con seleccionar las matrices de diseño Kp y Kv 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 q( d)=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: (3.1.6) ( ) p v K q K q G q τ = %+ &%+
donde son matrices simétricas definidas positivas y Nótese que la única diferencia respecto al control PD (3.1.5) es el término aditivo
, nxn
p v
K K ∈R q%=qd −q.
( )
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 y la velocidad deseada así como medición de la posición
( )
d
q t
( ),
d
q t& 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 ( ) d
donde es un vector constante cualquiera. Este controlador también presenta estabilidad asintótica global del origen Como resultado, se afirma que:
n d q ∈R 2 0 T T n q q R ⎡ ⎤ = ∈ ⎣% & ⎦ . lim ( ) 0, lim ( ) 0, t t q t q 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∈Rnes el vector de posición, τ∈Rnes el vector de torques de control en accionadores, ( )M q ∈Rnxnes la matríz de inercia, es la matríz centrífuga y de coriolis, es el vector de gravedad. La programación del controlador (3.1.6) fue con una posición deseada:
( , ) nxn C q q& ∈R ( ) n G q ∈R
[
]
. 4 20 T d q = ⎢⎡π π ⎤⎥ R ⎣ ⎦ adLas 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 35 0 , . 0 81 0 15 p v K =⎡⎢ ⎤⎥ K =⎡⎢ ⎤⎥ ⎣ ⎦ ⎣ ⎦
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.
0 2 4 6 8 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Tiempo [Seg] Posición [Rad] q 1 q d1
Figura 3.6 Posición de q1 respecto de qd1
0 2 4 6 8 10 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Tiempo [Seg] Posición [Rad] q2 q d2
Figura 3.7 Posición de q2 respecto de qd2
Nuevamente se realizaron las simulaciones, pero ahora aplicando una g al sistema y una gˆ al controlador con los siguientes datos:
2 ˆ 2
9.81 12 .
= m = m
g g
0 2 4 6 8 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Tiempo [Seg] Posición [Rad] q 1 q d1
Figura 3.8 Posición de q1 respecto de qd1 con una gˆdistinta de g.
0 2 4 6 8 10 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Tiempo [Seg] Posición [Rad] q2 q d2
Figura 3.9 Posición de q2 respecto de qd2 con una gˆ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.
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
es el vector de posición,
n
q∈R τ∈Rnes el vector de torques de control en accionadores, ( ) nxn
M q ∈R es la matríz de inercia, es la matríz centrífuga y de coriolis, es el vector de gravedad. Los vectores denotan la posición, velocidad y aceleración articular, respectivamente.
( , ) nxn
C q q& ∈R
( ) n
G q ∈R q q q, ,& &&∈Rn
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 referidas como posiciones, velocidades y aceleraciones articulares deseadas, se trata de determinar una función vectorial
, y
d d d
q q& q&&
τ , de tal forma que las posiciones asociadas a las coordenadas articulares del robot sigan con precisión a En términos más formales, el objetivo de control de movimiento consiste en determinar
q
.
d
q
τ de tal forma que:
lim ( ) 0
t→∞q t% = (3.2.1)
donde denota el vector de errores de posiciones articulares, simplemente denominado error de posición y definido como:
n
q%∈R
( ) d( ) ( ).
q t% =q t −q t
Considerando la definición anterior, el vector 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.
( ) d( ) ( )
q t&% =q t& −q t&
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
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 q q q M q C q q G qd, d, d, ( ), ( , ), ( )).
τ τ= & && & && & (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. d q τ q q& d q& d 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):
(3.2.3)
( ) ( , ) ( ).
p v d d d d d d
K q K q M q q C q q q G q
τ = %+ &%+ && + & & +
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.
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:
(3.2.4) ( ) ( , ) ( ),
p v d d
K q K q M q q C q q q G q
τ = %+ &%+ && + & & +
donde son matrices simétricas definidas positivas seleccionadas por el diseñador y como de costumbre
, nxn
p v
K K ∈R
d
q%=q −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
( ), ( , ) y ( ).
M q C q q& G q Adicionalmente es necesario disponer de las trayectorias deseadas
así como de las mediciones ( ), ( ) y ( )
d d d
q t q t& q t&& q t( ) y ( ).q t& Aquí la selección de Kp y Kv 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, 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
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.
0 n d d q& =q&& = ∈R , ( ) y ( ). d d q t 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∈Rnes el vector de posición, n
R
τ∈ es el vector de torques de control en accionadores, ( ) nxn
M q ∈R es la matríz de inercia, es la matríz centrífuga y de coriolis, es el vector de gravedad. Las condiciones iniciales para
( , ) nxn
C q q& ∈R
( ) n
G q ∈R q q, & son asumidas
igual a cero. Las matrices de ganancia del controlador, simétricas definidas positivas se escogen como: 785 0 250 0 , . 0 785 0 250 p v K =⎡⎢ ⎤⎥ K =⎡⎢ ⎣ ⎦ ⎣ ⎤ ⎥ ⎦
Las trayectorias de posición articular deseadas son:
0 0 (1 ) 0.1 ( ), 5, 2 , 1, 2. 2 i w t di i i i q =π −e− + sen w t w = w = π i=
Donde el primer término involucra a π/ 2 como la posición final deseada para cada articulación, siendo 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 alrededor de la posición deseada. i w 0i w 0 2 4 6 8 10 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Tiempo [Seg] Posición [Rad] q 1 q d1
0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Tiempo [Seg] Posición [Rad] q 2 q d2
Figura 3.12 Posición de q2 respecto de qd2
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 gˆ al controlador con los siguientes datos:
g 9.81 m2 gˆ 18 m2, seg seg = = 0 2 4 6 8 10 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Tiempo [Seg] Posición [Rad] q 1 q d1
0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Tiempo [Seg] Posición [Rad] q 2 q d2
Figura 3.14 Posición de q2 respecto de qd2 con una gˆ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
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]:
( )[ d v p ] ( , ) ( ),
M q q K q K q C q q q G q
τ = && + &%+ % + & &+ (3.2.5)
donde Kv y Kp son matrices simétricas definidas positivas de diseño, y denota como de costumbre al error de posición.
d
q%=q −q
A pesar de la presencia del término en la ley de control (3.2.5), éstos son en realidad multiplicados por la matriz de inercia
p
K q%+K qv&%
( d ).
M q −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]:
( d ) p ( d ) v ( ) d ( , ) ( ).
M q q K q M q q K q M q q 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