8º Congreso Nacional de Mecatrónica Noviembre 26 y 27, 2009. Veracruz, Veracruz. Control de Posición Para Robots Manipuladores: Una nueva Metodología de Diseño Espinosa Maya Luis Eduardo(1), Barahona Avalos Jorge Luis(2), Villegas Rosas José Gerardo(1) y Sánchez Medina Godolfredo(1) (1) Facultad de Ciencias de la Electrónica, Benemérita Universidad Autónoma de Puebla, Av. 18 Sur y Sn. Claudio S/N, Col. San Manuel, C. P. 72570, Puebla, Pue. (2) Jefatura de Ingeniería en Mecatrónica, Instituto de Electrónica y Computación, Universidad Tecnológica de la Mixteca, Km 2.5 Carretera a Acatlima S/N, C.P. 69000, Huajuapan de León, Oaxaca. robot manipulador de transmisión directa grados de libertad Resumen Este trabajo presenta una nueva metodología de diseño para el control de posición de robots manipuladores que se desplazan libremente por su espacio de trabajo. La nueva aproximación es desarrollada con base a la técnica de moldeo de energía propuesta por Takegaki y Arimoto en 1981 y reformulada posteriormente por Kelly en 2000. El sustento teórico formal de la nueva metodología es hecho a partir del segundo método de Lyapunov y del principio de invarianza de Lasalle. La metodología propuesta permite obtener una considerable cantidad de controladores. Se presentan resultados de la evaluación experimental de algunos de los controladores obtenidos. Dentro de la comunidad científica se ha impulsado el diseño de algoritmos de control para manipuladores; sin embargo no se plantean formas o lineamientos para que el diseño y/o creación de dichos algoritmos sea un procedimiento sencillo. El esfuerzo de este trabajo consiste en facilitar la aplicación de la metodología de moldeo de energía para el control de robots manipuladores [1,2], brindando formatos más específicos para su uso. Los algoritmos diseñados deben de ir acompañados del sustento teórico formal que garantice la estabilidad, dado que ésta es la preocupación fundamental de la Ingeniería de Control. Si se desea un análisis de estabilidad del sistema controlador — robot, es conveniente emplear una herramienta que es más general que los criterios del control clásico —el Método Directo o Segundo Método de Lyapunov— [3]. El Método de Lyapunov por sí solo, poco puede decir de como aplicarlo a un sistema; existen líneas de trabajo que ayudan a proponer funciones candidatas, tales como, el Método del Gradiente Variable [3] y una variante de éste conocida como Moldeo de Energía. Ambos métodos utilizan ideas matemáticas y físicas abstractas, lo cual dificulta su empleo, por tanto, en este trabajo se propone facilitar el uso de dichas herramientas proporcionando esquemas de diseño de controladores, los cuales forman un conjunto bastante extenso. Se considera que la gran aportación del presente trabajo es la propuesta de un gran número de controladores de posición para robots manipuladores (alrededor de 20 nuevos controladores más 9 familias de controladores). Palabras clave: Control de Posición, Robot Manipulador, Segundo Método de Lyapunov, Principio de Invarianza de Lasalle. 1. Introducción Este trabajo está relacionado con el así llamado problema de control de posición para robots manipuladores (setpoint control) que se desplazan libremente por su espacio de trabajo; dicho problema consiste en encontrar una función vectorial de pares aplicados a las articulaciones del robot, de tal forma que el error de posición tienda a cero conforme el tiempo evoluciona hacia el infinito [1]. El trabajo consiste en una nueva forma de diseño de algoritmos de control, visto por los autores como una nueva forma de emplear un método usado ampliamente y conocido como metodología de moldeo de energía más inyección de amortiguamiento [1,2]. Las aportaciones del trabajo tienen sustento teórico formal así como validación experimental sobre un Asociación Mexicana de Mecatrónica A.C. de tres Éste trabajo está organizado como sigue: en la sección 2 se presenta la dinámica asociada con un robot manipulador así como las propiedades de su 178 Instituto Tecnológico de Veracruz 8º Congreso Nacional de Mecatrónica Noviembre 26 y 27, 2009. Veracruz, Veracruz. modelo que son explotadas para la construcción de una diversidad de reguladores. La sección 3 presenta, con fines de claridad, en que consiste la metodología de moldeo de energía más inyección de amortiguamiento y en la misma sección se presenta la nueva metodología de diseño propuesta. En la sección 4 se resumen algunos de los controladores obtenidos mediante la nueva metodología. En la sección 5 se dan algunos resultados experimentales obtenidos y finalmente en la sección 6 se dan algunas conclusiones. forma parte de una función candidata de Lyapunov, es decir [2]: τ = ∇ U a − K v q& + g ( q ) V (q% , q& ) = donde U a ∈ artificial, (3) es la función de energía potencial Kv ∈ nxn es una matriz diagonal de n En ausencia de fricción y otro tipo de perturbaciones, el modelo dinámico de un robot manipulador serial de n – eslabones, puede ser escrito como [4]: donde q ∈ 1 T q& M (q )q& + U a 2 ganancias derivativas, g (q ) ∈ es el vector de pares gravitacionales que se añade al controlador a fin de compensar los efectos de la gravedad presentes en el manipulador y V ( q, q& ) es la función candidata de Lyapunov, la cual puede apreciarse como el “Hamiltoniano deseado” del sistema controlador – robot y que debe ser definida positiva. En resumen, para dicha metodología, de ser factible encontrar una función de energía potencial artificial tal que la función candidata de Lyapunov sea definida positiva, entonces se garantiza que la derivada temporal de la misma es semi – definida negativa por lo que de acuerdo al segundo método de Lyapunov se puede concluir estabilidad del punto de equilibrio del sistema controlador – robot e invocando el principio de invarianza de Lasalle se puede concluir la estabilidad asintótica del punto de equilibrio. 2. Modelo Dinámico M (q )q&& + C (q , q& ) + g (q ) = τ − f (τ , q& ) (2) (1) es el vector de posición articular, es la matriz de inercia, C (q, q& ) ∈ nxn es M (q ) ∈ la matriz de fuerzas centrípetas y de Coriolis, g (q ) ∈ n es el vector de pares gravitacionales, f (τ , q&) ∈ n es el vector de pares de fricción articular y τ ∈ n es el vector de pares aplicados. A pesar de la naturaleza no lineal y fuerte acoplamiento de la dinámica descrita en la ecuación (1), posee ciertas propiedades útiles a la hora de diseñar algoritmos de control de posición [5,6]; a continuación se presentan aquellas empleadas para fines del presente trabajo. n nxn 3.1 Método del Jacobiano En ésta sección se presenta el método propuesto para el diseño de reguladores de posición articular para robots manipuladores. Considérese la ley de control dada en la ecuación (4), en lazo cerrado junto con el modelo dinámico del manipulador dado en (1), entonces el punto de equilibrio del sistema en lazo cerrado será asintóticamente estable resolviéndose así el problema de control de posición. Propiedad A: La matriz C(q, q& ) ∈ nxn verifica: C (q, 0) = 0 para todo q ∈ n . Propiedad B: La matriz C (q, q& ) y la derivada temporal de la matriz de inercias M& ( q ) satisfacen: τ = K p J (q% ) f (q% ) − f v (q& ) + g ( q ) 1 q& M& (q) − C (q, q& ) q& = 0 2 (4) T La ley de control propuesta en (4) presenta las siguientes características: 3. Regulación de Posición 1. Existe una metodología ampliamente usada para la proposición de controladores de robots manipuladores propuesta por Takegaki y Arimoto en 1981, conocida como moldeo de energía más inyección de amortiguamiento [1]. En términos generales, dicha metodología consiste en diseñar el algoritmo de control de tal suerte que la parte proporcional del mismo contenga el gradiente de una función de energía potencial artificial, la cual a su vez Asociación Mexicana de Mecatrónica A.C. Kp ∈ nxn es la matriz de ganancias proporcionales y cumple que K p = diag ( k pi ) > 0 . q% ∈ n es el error de posición definido como q% = qd − q , es decir la diferencia entre el vector de 2. posiciones deseadas y el vector de posiciones retroalimentadas del robot manipulador. 179 Instituto Tecnológico de Veracruz 8º Congreso Nacional de Mecatrónica Noviembre 26 y 27, 2009. Veracruz, Veracruz. 3. En el caso de regulación, las posiciones articulares deseadas son constantes en el tiempo de modo tal que d / dt ( q% ) = d / dt ( qd − q ) = − q& . de Lyapunov para realizar el análisis de estabilidad del punto de equilibrio. Empleando la técnica de moldeo de energía, la función candidata de Lyapunov tiene la forma: 1 1 V (q% , q& ) = q& T M (q )q& + f T (q% ) K p f ( q% ) (9) 2 2 4. La función f (q% ) : → ∈ C es un mapeo continuo y diferenciable con respecto a su argumento. Además, la i – ésima componente f i (q%i ) está desacoplada, es decir, la estructura matemática que la caracteriza involucra únicamente términos que dependen de la propia componente; así, la matriz jacobiana correspondiente resulta ser una matriz diagonal, dada por: n 1 n Obsérvese que (9) es una función definida positiva puesto que cada término es una forma cuadrática ya que por definición M (q ) = M ( q) > 0 así como T K p = diag ( k pi ) > 0 . Derivando con respecto al tiempo la ecuación (9) a lo largo de las trayectorias de (8), se obtiene lo siguiente: ∂ f ( q% ) ∈ nxn (5) ∂q% 5. Además se sabe que la derivada total de la función vectorial f (q% ) está dada como: J (q% ) = V& (q%, q& ) = V& (q%, q& ) = d f& (q% ) = f (q% ) = J (q% )q&% = − J (q% )q& ∈ n (6) dt 6. La función vectorial asociada a la parte derivativa f v ( q& ) : n → n es disipativa, esto es, V& (q%, q& ) = 1 q& T M (q )q&& + q& T M& (q ) q& + f T ( q% ) K p J (q% ) q%& 2 1 q& T M (q )q&& + q& T M& (q ) q& − f T (q% ) K p J (q% )q& 2 1 T q& K p H (q% ) − q& T f v ( q& ) − q& T C (q , q& )q& q& T M& (q ) q& 2 − f T (q% ) K p J (q% )q& 1 q& T K p H (q% ) − q& T f v ( q& ) + q& T M& (q ) − C (q , q& ) q& 2 − q& T K p H ( q% ) − q& T f v (q& ) (10) q& T f v ( q& ) > 0 ⇒ f v (q& ) = 0 ⇔ q& = 0 . 7. Por razones de simplicidad, en éste trabajo no se consideran los efectos de los fenómenos de fricción dados en la ecuación (1). V& (q%, q& ) = Una vez detallado cada término de la estructura de control dada en (4), se define una función auxiliar vectorial H ( q% ) = J ( q% ) q% ∈ n . Lo anterior para facilitar la demostración formal de estabilidad del punto de equilibrio (el espacio de estados) del sistema controlador – robot. Obsérvese también que H (q% ) = 0 ⇔ q% = 0 . Rescribiendo la ecuación (4), con la consideración anterior, se tiene: y (10) es una función semi – definida negativa globalmente, por lo que es posible concluir que el punto de equilibrio del origen del espacio de estados de (8) es estable. Para poder concluir la estabilidad asintótica del punto de equilibrio de (8) se explota la naturaleza autónoma de dicha ecuación aplicando el principio de invarianza de Lasalle [7]. Como ya se describió anteriormente el único punto de equilibrio de (8) es el origen del espacio de estados. La función V : n × n → dada en (9) es definida positiva en forma global, radialmente no acotada y continuamente diferenciable; en (10) se mostró que V ( q% , q& ) ≤ 0 para todo (q% , q& ) ∈ 2 n . Considérese la región dada por: τ = K p H ( q% ) − f v ( q& ) + g (q ) V& (q%, q& ) = (7) 3.2 Análisis de Estabilidad Considerando las ecuaciones (1) y (7), puede verse que la ecuación en lazo cerrado, seleccionando como variables de estado a q% y q& , es la siguiente: V& ( q% , q& ) = 0 Ω= n n & = q% ∈ , q& = 0 ∈ V ( q% , q& ) = 0 { −q& d q% ¨= −1 (8) % & & & & dt q M (q) K p H (q ) − f v (q) − C (q, q )q 2n } ya que V& ( q% , q& ) ≤ 0 ∈ Ω , entonces V& ( q% (t ), q& (t )) es una función decreciente de t . V& (q% , q& ) es continua dentro del conjunto compacto Ω y es acotada inferiormente en Ω . Por ejemplo, se satisface que 0 ≤ V ( q% (t ), q& (t )) ≤ V ( q% (0), q& (0)) . De esta manera V (q% (t ), q& (t )) tiene un límite conforme t → ∞ . La ecuación diferencial dada en (8) es autónoma y puede verificarse con facilidad que su punto de equilibrio único es el origen del espacio de estados [ q%, q& ] = [0, 0] . Debido a la naturaleza autónoma de la ecuación (8) es factible emplear el segundo método Asociación Mexicana de Mecatrónica A.C. q% ∈ q& 180 Instituto Tecnológico de Veracruz 8º Congreso Nacional de Mecatrónica Noviembre 26 y 27, 2009. Veracruz, Veracruz. Entonces V ( q% (t ), q& (t )) = 0 . Ya que Ω es un conjunto invariante, V (q% (t ), q& (t )) = 0 y el único conjunto invariante es q% = 0 y q& = 0 . Ya que la solución trivial es la única solución del sistema en lazo cerrado dado en (8) restringida a Ω entonces se concluye que el origen del espacio de estados de (8) es un punto de equilibrio asintóticamente estable en forma global además C1 ). Por condiciones de diseño se pedirá que la derivada de la función propuesta P ( q% ) cumpla la siguiente condición (para el punto de equilibrio): ∂ 0 ∂q% P1 (q%1 ) L ∂ M O M P (q% ) = 0 = ∂q% ∂ 0 Pn (q%n ) L ∂q% 4. Casos de Estudio Durante el desarrollo y estudio de la nueva propuesta de estructura para controladores de posición, se desarrollaron algunas nuevas familias; dichas familias son en sí plantillas de diseño más particulares. Las familias son propuestas para una mayor facilidad en el desarrollo de los controladores – una herramienta didáctica, por así decirlo – y representan la principal contribución de éste trabajo. A continuación por razones de espacio se presentan sólo algunas de las plantillas obtenidas. ⇔ q% = 0 4.2 Familia Disipativa P-D En ésta familia se añade una condición más, sin embargo plantea una regla para la selección de la función derivativa y con base en esta última se realiza la selección de la función proporcional; su estructura es la siguiente: τ = K p J (q% ) D(q% ) − Kv D(q& ) + g (q) 4.1 Familia de Radicando Ésta plantilla definida como sigue: de f p ( q% ) , P( q% ) ∈ C 1 (funciones de clase controladores queda donde en (14) la función D( q& ) ∈ la función Jacobiana ∂ ∂q% P1 (q% ) 1 τ = Kp M − f v (q& ) + g (q ) ∂ Pn ( q% ) ∂q%n J (q% ) = n (14) es disipativa y ∂ D (q% ) ; además se ∂q% respetan las mismas condiciones empleadas para la ecuación (4). La función candidata de Lyapunov correspondiente a ésta familia es de la forma: (11) 1 T 1 q& M (q )q& + DT (q% ) K p D(q% ) (15) 2 2 es decir, que para éste caso de estudio, al seleccionar una función para la parte derivativa que cumpla con ser disipativa, se puede generar la parte proporcional del controlador simplemente cambiando la variable q& por la variable q% y así calcular el Jacobiano correspondiente. V (q%, q& ) = y la función candidata de Lyapunov correspondiente a (11) es: P1 (q% ) P1 (q% ) 1 T 1 n V (q%, q& ) = q& M ( q)q& + ∑ M K p M 2 2 i =1 Pn (q% ) Pn (q% ) (12) 4.3 Clasificación de Controladores La relación para la función de la parte proporcional en (11) es tal que cumple: P1 (q%1 ) f p (q% ) = P(q% ) = M ∈ Pn (q%n ) n A través del desarrollo del presente trabajo se detectaron al menos tres tipos de funciones para la parte proporcional de los controladores, lo cual permite establecer una clasificación de los controladores generados. El primer tipo de controlador es denominado controlador no acotado, y se define como aquel en el que la función proporcional es una función radialmente no acotada y la multiplicación de dicha función por su argumento resulta en una función definida positiva, es decir: (13) donde en (13) cada uno de los términos de la función Pi ( q%i ) > 0 (definidos positivos) [3] y por tanto los términos de la función proporcional también lo son; Asociación Mexicana de Mecatrónica A.C. 181 Instituto Tecnológico de Veracruz 8º Congreso Nacional de Mecatrónica Noviembre 26 y 27, 2009. Veracruz, Veracruz. lím f ( x) → ∞ de la posición es obtenida de los encoders incorporados dentro de los motores. Las señales de velocidad son generadas utilizando un algoritmo de diferenciación numérica de primer orden aplicado a las mediciones de la posición de cada articulación. Las características de los motores utilizados para la construcción del robot se resumen en la Tabla 1. x →∞ f ( x) = 0 ⇔ x = 0 xf ( x ) > 0 El segundo tipo de controlador considerado en nuestra clasificación es el controlador de tipo saturado, el cual se define como aquel en el que la función proporcional es una función saturada, es decir, cuyo valor tiende a un valor constante o cota a medida que el argumento crece indefinidamente, es decir, satisface que: lím f ( x) = K x →∞ f ( x) = 0 ⇔ x = 0 xf ( x ) > 0 Finalmente el tercer y último tipo de controlador es denominado controlador de tipo acotado, siendo aquel en el que la función proporcional no sobrepasa un límite o cota superior, y al ser multiplicada por su argumento genera una función semi – definida positiva, generando así controladores estables en forma local; es decir que matemáticamente cumple: Figura 1: Plataforma Experimental. El hardware de la tarjeta de control de movimiento incluye lo necesario para el manejo de las señales de tres encoders y cuenta con 3 convertidores D/A para proporcionar la entrada analógica a los manejadores de los motores. El algoritmo de control es ejecutado desde un programa denominada SPAC (Sistema Programable de Algoritmos de Control) el cual reside en una computadora Pentium II a 333 MHz. Para el control de posición del robot solo se requiere tener conocimiento de la estructura del vector de pares gravitacionales el cual está dado por: máx { f ( x )} = K < ∞ f ( x) = 0 ⇒ x ∈ D + {0} , D ∈ xf ( x) ≥ 0 5. Resultados Experimentales Los experimentos fueron llevados a cabo en una plataforma experimental para propósitos de investigación científica en robótica diseñada y construida en el Laboratorio de Robótica de la Facultad de Ciencias de la Electrónica de la Benemérita Universidad Autónoma de Puebla; ésta consiste de un robot manipulador de tres grados de libertad del tipo antropomórfico y que se desplaza libremente por un espacio de trabajo tridimensional, como se muestra en la Figura 1. El robot consiste de eslabones de aluminio 6061 y cuyas articulaciones son actuadas por motores de transmisión directa del fabricante Parker Compumotor. Algunas ventajas de este tipo de robot incluyen: capacidad de manejar las articulaciones sin la necesidad de un reductor por engranes, carencia de juego mecánico, una fricción significativamente mas baja comparada con aquellos actuadores manejados por reductores con engranes y tiempos de establecimiento considerablemente más cortos que los de servomotores tradicionales. 0 g (q ) = 38.45sin(q2 ) + 1.82sin(q2 + q3 ) 1.82sin(q2 + q3 ) Tabla 1: Características de los motores del robot Modelo Par (Nm) p/rev Base Hombro Codo DM1050A DM1150A DM1115B 50 150 15 1 024 000 1 024 000 655 360 5.1 Índices de desempeño Por consideraciones de espacio, no se muestran aquí los gráficos obtenidos con respecto a la evolución temporal de los errores de posición así como de los pares aplicados en las articulaciones del robot para cada controlador evaluado. No obstante se muestran los resultados obtenidos con respecto al Los motores son operados en el modo de control de par de tal modo que el motor actúa como una fuente de par y el comando de referencia para la señal de par es un voltaje analógico. La información Asociación Mexicana de Mecatrónica A.C. Eslabón 182 Instituto Tecnológico de Veracruz 8º Congreso Nacional de Mecatrónica Noviembre 26 y 27, 2009. Veracruz, Veracruz. estudio comparativo del desempeño de los controladores evaluados en forma experimental. La cuestión anterior es resuelta implementando el valor escalar de la norma L2 como una medida numérica sobre la curva de los errores de posición. En otras palabras, la norma L2 resalta el compromiso entre la velocidad y la precisión del movimiento realizado por el robot. La norma L2 está dada como [7]: L2 = 1 t − t0 t ∫ 2 q% dt Figura 3: Desempeño de controladores saturados. t0 Donde t , t0 ∈ , son los tiempos iniciales y finales, respectivamente. Es importante resaltar que una norma L2 mas pequeña representa un error de Referencias [1] Takegaki M. And Arimoto S. “A new feedback method for dynamic control of manipulators”, ASME Journal of Dynamics Systems, Measurement and Control. Volumen (102), 1981. posición más pequeño, una respuesta transitoria más rápida y un mejor desempeño del controlador que es evaluado. La gráfica de comparación de los controladores evaluados se muestra en las Figuras 2 y 3. [2] Kelly R. “Regulation of manipulators in generic task space: an energy shaping plus damping injection approach”, IEEE Transactions on Robotics and Automation. Volumen (15), Número (2), 1997. 6. Conclusiones El objetivo principal del presente trabajo consistió en atacar el problema de control de posición para robots manipuladores. La principal motivación para el desarrollo del mismo fue el hecho de que la aplicación de la metodología de moldeo de energía más inyección de amortiguamiento suele ser una tarea laboriosa y sujeta a la experiencia de la persona que la aplica. Es por ello que éste trabajo contribuye en gran manera, toda vez que los resultados presentados permiten concluir que los diferentes tipos de plantillas obtenidos facilitan la creación de nuevos algoritmos de control de posición para robots manipuladores. Dentro de la gama de controladores generados se logró formular una regla para su clasificación, la cual es aplicable tanto para los controladores generados como para los ya existentes. [3] Khalil H. “Nonlinear Systems”, Prentice Hall, USA, 3ª edición, 1993. [4] Santibañez V., Kelly R. and Reyes F. “The PD Control with computed feedforward for robot manipulators revisited”, IEEE Transactions on Robotics and Automation. Volumen (17), Número (4), 1999. [5] Ortega R., and Spong M. “Adaptive motion control of rigid robots: a tutorial”, Automatica. Volumen (25), 1989. [6] Loria A. “On output feedback control of Euler Lagrange Systems”, PhD Thesis, France, 1996. [7] Barahona J., Espinosa L., Villegas G. “Controlador de posición con acciones acotadas para robots manipuladores”, Sexto Congreso sobre Innovación y Desarrollo Tecnológico (CIINDET), IEEE Sección Morelos, páginas 1-8, Cuernavaca, Morelos, M. Figura 2: Desempeño de controladores individuales. Asociación Mexicana de Mecatrónica A.C. 183 Instituto Tecnológico de Veracruz