• No se han encontrado resultados

PARAMÉTRICA CONTROL EN TIEMPO REAL DE ROBOTS

MANIPULADORES

Para poder verificar los distintos procedimientos desarrollados en este trabajo se han llevado a cabo diversos experimentos de identificación utilizando tanto datos simulados como datos medidos de un robot manipulador industrial: el PUMA560. La Figura 3 muestra el esquema del procedimiento experimental seguido que permite contrastar la precisión del modelo dinámico propuesto con respecto a las medidas del par en las articulaciones tomadas del robot real.

La trayectoria aplicada para llevar a cabo la identificación de los parámetros ha sido parametrizada mediante series finitas de Fourier. En

cuanto al procedimiento de optimización, se ha tomado el número de condición de la matriz de observación del sistema como criterio de optimización y se han impuesto las restricciones cinemáticas pertinentes tanto en el espacio de articulaciones como en el espacio cartesiano de trabajo relativas al robot y a su entorno de trabajo. Se ha aplicado un algoritmo de optimización basado en SQP.

Figura 3: Esquema de validación utilizando un robot manipulador industrial

Una vez que la matriz de observación ha sido calculada a partir de los datos de posición angular y par en los nudos, el proceso de identificación prosigue tal como se ha descrito anteriormente de acuerdo al esquema de identificación que se esté aplicando en cada caso.

La Figura 4 muestra los pares obtenidos de los 6 grados de libertad del PUMA. En línea continua se muestran los pares medidos en las articulaciones del robot real, y en la línea discontinua se tienen los pares calculados por el modelo del robot con los parámetros identificados. Tal como se puede observar, las diferencias entre los pares de cada una de las articulaciones son prácticamente iguales.

Figura 4: Test del procedimiento de identificación del conjunto de parámetros base del PUMA 560 Para poder llevar a cabo la identificación y el control del robot PUMA 560 se propuso la sustitución de la unidad de control original del sistema mediante una

nueva basada en un computador personal industrial. De este modo, el PC accede a las posiciones angulares de los nudos y genera las acciones de control requeridas para accionar los distintos elementos del brazo robot. La Figura 5 muestra el robot utilizado en este trabajo.

Figura 5: Robot industrial PUMA 560 Como puede observarse en la Figura 6, las lecturas de las posiciones angulares de los nudos del brazo robot son obtenidas a través de las tarjetas de adquisición de datos, la cuales recogen las señales de los potenciómetros y los encoders incrementales. Para ello se utilizan 2 clases de tarjetas de Advantech: la PCI-1711para la lectura de los potenciómetros y la PCL-833 para la lectura de los encoders.

Con la información del estado del sistema, las referencias de movimiento y el algoritmo de control programados, el PC es capaz de calcular las acciones de control necesarias para las distintas articulaciones del robot. Estas acciones de control se suministran a los amplificadores de potencia del controlador mediante los convertidores Digital/Analógico disponibles es las tarjetas PCI-1720 de Advantech.

A lg or it m os d e C on tr ol Tarjeta Encoders Convertidor D/A Convertidor A/D PC Amplifica- dores de Potencia Controlador Motores Pot Encoder Brazo

Figura 6: Arquitectura de Control del PUMA 560 Una información más detallada de la arquitectura hardware/software desarrollada para el control de este robot se puede encontrar en [10]

0 2 4 6 8 10 -20 -10 0 10 20 t(s) to rq ue (N ·m ) Joint 1 0 2 4 6 8 10 -50 0 50 100 t(s) to rq ue (N ·m ) Joint 2 0 2 4 6 8 10 -10 0 10 20 t(s) to rq ue (N ·m ) Joint 3 0 2 4 6 8 10 -10 -5 0 5 t(s) to rq ue (N ·m ) Joint 4 0 2 4 6 8 10 -10 -5 0 5 t(s) to rq ue (N ·m ) Joint 5 0 2 4 6 8 10 -10 -5 0 5 10 t(s) to rq ue (N ·m ) Joint 6 Meas Iden

Una vez obtenidos y validados los parámetros de la ecuación dinámica del robot se puede programar cualquier controlador dinámico. Aunque se han desarrollado otros controles (por ejemplo los basados en Pasividad), en este trabajo se ha utilizado una estrategia de control por par calculado (o dinámica inversa) que permite establecer el control de trayectoria. La estrategia de control viene dada por la expresión siguiente: ) ( ) ( ) (q,$ v C q,q,$ q G q,$ M c= + & &+ (17) donde: c: par de control ) (q,$

M : matriz de inercias del sistema q

q q

C( ,& ),$ &: vector Coriolis y fuerzas centrífugas )

(q,$

G : vector de fuerzas gravitatorias

La matriz de inercias M(q,$) se puede obtener directamente a partir de los términos Bk de la ecuación de movimiento de Gibbs-Appell de la expresión (5). De la misma forma, los términos correspondientes a las fuerzas de Coriolis, centrífugas y gravitatorios C(q,q&)q&+G(q) se pueden calcular directamente a partir de los términos

k

A de la ecuación (5). Una información más detallada sobre la obtención de estos términos se puede encontrar en [9].

Es interesante añadir que, dependiendo de la expresión del término v, se pueden obtener diferentes estrategias de control tal como se muestra en la tabla siguiente:

Tipo de Controlador v

Punto a Punto Kdq& Kpe Control de Trayectoria q&&d Kde& Kpe Control de Trayectoria

con acción integral

%

t i p d d K q K e K eu du q 0 ) ( & &&

Tabla 1. Controladores por dinámica inversa donde:

e=q-qd

Kd, Kp y Ki: matrices (diagonales y definidas

positivas) de ganancias derivativas, proporcionales e integradoras

La nueva arquitectura abierta de robot permite implementar el control de los 6 grados de libertad del PUMA con cualquier estrategia de control. A continuación se muestra la respuesta de los 3 primeros ejes del robot real cuando se utiliza un controlador de trayectoria con acción integral por dinámica inversa. 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -100 -80 -60 -40 -20 0 20 40 Periodo de muestro (Ts=10ms) R ef y po s (g ra do s) 1ª ar tic ul ac io n

Figura 7: Respuesta 1ª articulación PUMA 560

0 200 400 600 800 1000 1200 1400 1600 1800 2000 -60 -50 -40 -30 -20 -10 0 10 Periodo de muestro (Ts=10ms) R ef y po s (g ra do s) 2ª ar tic ul ac io n

Figura 8: Respuesta 2ª articulación PUMA 560

0 200 400 600 800 1000 1200 1400 1600 1800 2000 40 60 80 100 120 140 160 180 Periodo de muestro (Ts=10ms) R ef y po s (g ra do s) 3ª ar tic ul ac io n

Figura 9: Respuesta 3ª articulación PUMA 560

0 200 400 600 800 1000 1200 1400 1600 1800 2000 -2 0 2 Periodo de muestro (Ts=10ms) er ro r (g ra do s) 1ª ar t. 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -1 0 1 Periodo de muestro (Ts=10ms) er ro r (g ra do s) 2ª ar t. 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -5 0 5 Periodo de muestro (Ts=10ms) er ro r (g ra do s) 3ª ar t.

0 200 400 600 800 1000 1200 1400 1600 1800 2000 -5 0 5 Periodo de muestro (Ts=10ms) A C on tr ol 1ª ar t. 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -5 0 5 Periodo de muestro (Ts=10ms) A C on tr ol 2ª ar t. 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -5 0 5 Periodo de muestro (Ts=10ms) A C on tr ol 3ª ar t.

Figura 11: Acciones de control suministradas Tal como se puede apreciar, el comportamiento del robot es muy bueno, siguiendo las referencias especificadas con un error casi despreciable.

5 CONCLUSIONES

En el artículo se ha abordado la problemática de la identificación experimental de los parámetros que definen el modelo dinámico de un robot manipulador industrial. Se ha empleado un modelo dinámico de elementos rígidos del brazo robot, el cual se ha completado mediante el modelado de los actuadores, a fin de permitir la consideración del efecto giroscópico de los rotores. El modelo dinámico del robot se ha desarrollado a partir del formalismo dinámico de Gibbs-Appell, el cual aporta distintas ventajas, entre ellas la sencillez de las expresiones obtenidas y la fácil integración de la dinámica de los actuadores en el modelo. Las ecuaciones del modelo dinámico obtenidas han sido expresadas linealmente con respecto a los parámetros a identificar y expresadas en forma matricial. Por otra parte, se ha modelado asimismo el par debido a la fricción en las articulaciones, para lo cual se han considerado cuatro modelos distintos.

Por lo que respecta a la identificación de los parámetros dinámicos, se han implementado tanto un método basado en el esquema de identificación directo como un método parcialmente basado en el esquema de identificación indirecto, mediante el cual se ha tratado de sacar provecho de algunas ventajas inherentes a cada uno de los esquemas de identificación mencionados.

Finalmente, tanto el modelado como los procedimientos de identificación paramétrica se han verificado en un sistema real: un robot industrial PUMA 560, mostrando la respuesta de dicho robot con un control de trayectoria basado en la dinámica inversa.

Agradecimientos

Este trabajo ha sido parcialmente financiado por los proyectos FEDER-CICYT con número de referencia DPI2005-08732-C02-01 y DPI2005-08732-C02-02, del Ministerio de Educación y Ciencia.

Referencias

[1] F. Benimeli, V. Mata, and F. Valero, "A Comparison between Direct and Mixed Dynamic Parameter Identification Methods in Mechanical Systems," presented at MULTIBODY DYNAMICS 2005, ECCOMAS Thematic Conference, Madrid, Spain, 2005. [2] M. Gautier, "Numerical-Calculation of the Base

Inertial Parameters of Robots," Journal of Robotic Systems, vol. 8, pp. 485-506, 1991. [3] M. Grotjahn, M. Daemi, and B. Heimann,

"Friction and rigid body identification of robot dynamics," International Journal of Solids and Structures, vol. 38, pp. 1889-1902, 2001.

[4] Z. R. Lu, K. B. Shimoga, and A. A. Goldenberg, "Experimental-Determination of Dynamic Parameters of Robotic Arms," Journal of Robotic Systems, vol. 10, pp. 1009-1029, 1993.

[5] V. Mata, F. Benimeli, N. Farhat, and A. Valera, "Dynamic Parameter Identification in Industrial Robots Considering Physical Feasibility," Advanced Robotics, vol. 19, pp. 101-119, 2005. [6] S. Provenzano, "Aplicación de las Ecuaciones

de Gibbs-Appell a la Dinámica de Robots," in, ed. Valencia: Universitat Politecnica de Valencia, 2001.

[7] J. Swevers, C. Ganseman, J. DeSchutter, and H. VanBrussel, "Experimental robot identification using optimised periodic trajectories," vol. 10, pp. 561-577, 1996.

[8] J. Swevers, C. Ganseman, D. B. Tukel, J. DeSchutter, and H. VanBrussel, "Optimal robot excitation and identification," IEEE Transactions on Robotics and Automation, vol. 13, pp. 730-740, 1997.

[9] A. Valera, D. Jornet, V. Mata, F. Valero, "Implementation of the Inverse Dynamics Control for a PUMA 560 using a New Open Architecture," 15th ISPE/IEE International Conference on CAD/CAM, Robotics & Factories of the Future, Campinas (Brasil), 1999.

[10] A. Valera, V. Mata, M. Valles, F. Valero, N. Rosillo, and F. Benimeli, "Solving the Inverse Dynamics Control for Low Cost Real-Time Industrial Robot Control Applications," Robotica, vol. 21, pp. 261-269, 2003.

DETECCIÓN DE FALLOS EN EL PROCESO DE TERMOSELLADO