SciELO - Scientific Electronic Library Online

 
 número46Two dimensional packing problem using a hybrid constructive algorithm of variable neighborhood search and simulated annealingColumn Generation Algorithm: A revision from its application to the Student Assignation Proble índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Em processo de indexaçãoCitado por Google
  • Não possue artigos similaresSimilares em SciELO
  • Em processo de indexaçãoSimilares em Google

Compartilhar


Revista Facultad de Ingeniería Universidad de Antioquia

versão impressa ISSN 0120-6230versão On-line ISSN 2422-2844

Rev.fac.ing.univ. Antioquia  n.46 Medellín out./dez. 2008

 

Estudio y modelamiento del robot KUKA KR 6

Study and modeling of KR 6 KUKA robot

John Faber Archila Diaz* , Max Suell Dutra

Laboratório de Robótica, Universidad Federal de Rio de Janeiro COPPE/UFRJ, Postal Box 68.503 – CEP 21.945-970 – Rio de Janeiro, RJ, Brazil.

 


Resumen

Este trabajo despliega el estudio y modelamiento del robot KUKA KR 6, del laboratorio de robótica de la Universidad Federal de Río de Janeiro UFRJ, presenta el modelo CAD, los modelos cinemáticos directo e inverso y el modelo dinámico, en el modelo cinemático directo se utilizan matrices homogéneas; para su obtención, en el modelo cinemático inverso se utiliza el método de la ecuación cuadrática, en el modelo dinámico se usan las ecuaciones de Euler; Lagrange, empleando matrices homogéneas y teniendo en cuenta los efectos inerciales por medio del tensor de inercias, el cual se determinó con la ayuda de herramientas CAD, también se presenta el jacobiano del manipulador, necesario para el control cinemático. El trabajo se plantea como la primera etapa, para el control del robot KUKA KR 6, y propone la implementación del modelo cimemático inverso en un DSP de la familia Texas Instruments, analizando su desempeño.

Palabras clave: Robótica, cinemática directa, cinemática inversa, tensor de inercia, modelo dinámico, jacobiano, KUKA KR 6, DSP.

 


Abstract

This work presents the study and modeling of KUKA KR 6 Robot, of robotics laboratory of Federal University of Rio de Janeiro, show the CAD model, the direct and inverse kinematics models and the dynamical model, the direct kinematical model is based in the use of homogeneous matrix, the inverse kinematics use the quadratic equations model, the dynamical model is based in the use of Euler - Lagrange equations, using homogeneous matrix and having in a count the inertial tensor, which one was found with help of CAD tools, is presented the jacobian of manipulator needed for the kinematical control. The work is the first stage for the control of KUKA KR 6 Robot and proposes the implementation of inverse kinematical model in one DSP of Texas Instruments family, analyzing his performance.

Keywords: Robotics, direct kinematics, inverse kinematics, inertial tensor, dynamical model, Jacobian, KUKA KR 6, DSP.

 


Introducción

Este trabajo despliega el estudio y modelamiento del robot KUKA KR 6, del laboratorio de robótica de la Universidad Federal de Río de Janeiro UFRJ, (Figura 1).

Figura 1 Robot KUKA KR 6, Laboratorio de Robótica Universidad Federal de Rio de Janeiro UFRJ

Representación de movimientos en el espacio

Para la representación de movimientos en el espacio existen diversos métodos, tales como: Matrices de rotación, Vectores, Cuaternios, RPY, ángulos de Euler, Matrices homogéneas, entre otros [1], el método empleado para desarrollar el modelo cinemático directo en este trabajo es el de matrices homogéneas base para formular los modelos matemáticos:

Matrices Homogéneas

Las matrices homogéneas son matrices de 4X4, que pueden representar rotaciones, translaciones, escalas y perspectivas [2]. En términos generales las matrices homogéneas representan transformaciones lineales. La forma general se presenta en la ecuación (1)

R(3x3) Corresponde a una matriz de tres filas por tres columnas que representa rotación.

T(3x1) Corresponde a un vector de tres filas por una columna que representa translación.

P(1x3) Corresponde a un vector de una fila por tres columnas que representa la perspectiva.

E(1x1) Corresponde a un escalar que representa la escala de la transformación.

Para el presente caso

Matrices homogéneas principales

Rotación en torno al eje Z, (Figura 2).

Figura 2 Rotación en torno a un eje

Translación Px, Py, Pz, Figura 3

Figura 3 Traslación espacial

Un movimiento en el espacio se representa por una serie de rotaciones y translaciones, dichas rotaciones y translaciones, se pueden representar como una multiplicación de matrices homogéneas.

Cinemática Directa

La cinemática directa corresponde al modelo cinemático del robot, en este modelo se conocen los movimientos de los grados de libertad del robot y se desea encontrar la posición final del robot. (Figura 4). Para encontrar el modelo cinemático directo se utiliza el método de matrices homogéneas, el cual consiste en realizar los movimientos necesarios desde la base fija hasta el último vínculo, para cada movimiento se obtienen las matrices homogéneas y el resultado final es el producto de las matrices.

Cinemática Inversa

La cinemática inversa busca obtener los movimientos de cada grado de libertad partiendo de la posición final Del robot (Figura 4).

Figura 4 Cinemática Directa e Inversa

Los métodos que se utilizaran son: El método geométrico por medio de la ecuación cuadrática [3] y el método de gradiente.

Generación de trayectoria

Para la operación del robot es necesario determinar las diferentes posiciones de trabajo, movimientos y trayectorias que le permitan realizar una tarea específica.

Dinámica

Para el control del robot es necesario conocer el modelo dinámico del mismo, y con el formular las estrategias de control dinámico, en este trabajo fue utilizado el modelo de Euler Lagrange [4].

Modelamiento del robot

Para la etapa de modelamiento del Robot se desarrollaron modelos CAD, y modelos matemáticos para la cinemática y dinámica del manipulador que se presentan a continuación.

Modelo CAD

La figura 5 presenta el modelo CAD desarrollado en Solid Edge, tomando como base el KUKA KR6 del laboratorio de robótica de la UFRJ, teniendo en cuenta sus principales características geométricas.

Figura 5 Modelo CAD del Robot KUKA KR6

Cinemática Directa

El modelo cinemático del manipulador esta basado en la utilización de Matrices Homogéneas para tal fin se ubican los sistemas coordenados con una convención propuesta por los autores, apoyada en recomendaciones del algoritmo de Denavit- Hartenberg [5], la convención adoptada es la siguiente:

Sobre el eje de giro de cada articulación ubique el eje z, en dirección tal que las rotaciones positivas sean en sentido contrario a las manecillas del reloj (Figura 6).

Figura 6 Sistemas de Referencia para el robot KUKA KR6

El eje x se ubica paralelo a cada vínculo orientado hacia el siguiente sistema de coordenadas. Ver Figura 6.

La convención propuesta busca definir todas las rotaciones de las articulaciones positivas cuando el sentido de giro sea en contra de las manecillas del reloj y realizar las traslaciones siempre sobre el eje x y en sentido positivo.

Modelo Matemático para la cinemática Directa

Los movimientos generados para ir de un sistema de referencia a otro, representados matemáticamente por matrices de transformación, se realizan de forma tal que muestren la geometría particular del robot. El modelo cinemático completo es presentado en la ecuación (2):

Cinemática Inversa

Para obtener el modelo cinemático inverso se recurrió al método geométrico, utilizando el método de la ecuación cuadrática [3], por medio del cual obtenemos la solución para las diferentes configuraciones del robot en forma cerrada, el primer paso es representar el robot de forma vectorial en una posición cualquiera, ver figura 7.

Figura 7 Modelo vectorial para la cinemática inversa

Realizando la suma vectorial y los despejes algebraicos tenemos:

Para la articulación θ1: ecuación (3)

Donde:

Para θ2ecuación (5)

Donde:

Las ecuaciones anteriores, ecuación (3) a la ecuación (6), representan el modelo cinemático inverso en forma cerrada, brindando las soluciones para las diferentes configuraciones del robot KUKA KR 6 dentro de su área de trabajo.

Modelo numérico para el cálculo de la cinemática inversa

Para la implementación del modelo cinemático inverso en el DSP, se plantea el método del gradiente con el fin de observar la potencialidad del DSP para su aplicación en el control del manipulador.

La ecuación general del método es la ecuación (7):

Donde J-1n) corresponde al jacobiano inverso del robot, que se puede apreciar en la ecuación (8) y las funciones f (θn) dependen del modelo de la cinemática directa ecuaciones (9)

Como se aprecia es necesario determinar el Jacobiano del robot y desarrollar el algoritmo para encontrar los ángulos correspondientes a una posición dada del manipulador, las funciones de las ecuaciones (9) se explicitan en el conjunto de ecuaciones (10):

Las ecuaciones (10) como se había mencionado, corresponden a la solución de la cinemática directa del robot.

Dinámica

El modelo dinámico esta basado en las ecuaciones de Euler Lagrange (11) específicamente en el Modelo presentado por Fu [6], el modelo considera los efectos inerciales del manipulador por medio del tensor de inercias, utiliza las matrices de transformación y aprovecha que sus derivadas pueden ser obtenidas como una combinación lineal de una matriz de constantes por la matriz de transformación original, es decir substituye una derivada por un producto de matrices.

Donde:

L corresponde al Lagrangiano (energía cinética menos energía potencial) ecuación (12)

El modelo planteado por Fu [6] se presenta en la ecuación (13)

Expresado en forma matricial se pude apreciar en la ecuación (14)

Donde:

Vector de torques, Tamaño n*1.

Vector de posiciones articulares, Tamaño n*1.

Vector de Velocidades angulares, Tamaño n*1.

Vector de aceleraciones angulares, Tamaño n*1.

Matriz de inercias, Tamaño n*n.

Tensor de Inercias ecuación (15).

Vector de Coriolis e fuerza centrifuga, Tamaño n*1

Vector de fuerzas de gravedad tamaño n*1

Modelo Dinámico para el robot KUKA KR6

A partir del modelo cinemático directo presentado en la ecuación (2) se aplica el modelo de Fu, para el cual debemos determinar las matrices Ujk, el tensor de inercia para cada vínculo, las matrices de efectos inerciales D, las matrices hi y hijk de Coriolis y aceleración centrífuga los vectores posición R y los vectores de fuerzas gravitacionales C.

Para el cálculo de las matrices Us se utiliza la siguiente ecuación canónica, ecuación (16):

Determinación de los tensores de inercia para el robot KUKA

Para determinar el tensor de inercias de cada vínculo se utilizó el modelo CAD, con el cual se obtienen los momentos de inercia respecto al sistema de referencia de la primera pieza utilizada en el módulo de ensamble del software CAD. Como ejemplo presentamos el caso del vínculo 2, el software presenta las inercias, de la forma en que se muestra en la figura 8.

Figura 8 Inercias obtenidas en Solid Edge

Con los datos del software se elabora la tabla 1, donde se muestran los datos correspondientes a las inercias y centroides.

Para obtener el tensor de inercias, ecuación (15), es necesario realizar dos transformaciones a los datos de Solid Edge, la primera una traslación del sistema de referencia de la base al sistema de referencia de la articulación y la otra para orientar el sistema de referencia de la base de acuerdo con el sistema de referencia seleccionado en el modelo cinemático. (Figura 9),

Tabla 1 datos inerciales para el vínculo dos

Figura 9 Sistemas de referencia para el vínculo dos

Las distancias para aplicar el teorema de Steiner [7] son presentadas en la tabla 2

Tabla 2 Distancias para la aplicación al teorema de Steiner

El tensor de inercia para el vínculo dos luego de hacer las transformaciones y basado en la ecuación (15) se presenta en la tabla 3

Tabla 3 Tensor de inercia para el vínculo dos

Determinación de las matrices D (matriz de efectos inerciales). Se realiza teniendo en cuenta la ecuación (17)

Determinación del vector h, vector de Coriolis y fuerzas centrífugas. Para efecto del cálculo y simulación se dejan las velocidades angulares independientes por medio de la matriz Hi,v, ecuación (18)

Donde

Determinación del vector de fuerzas de gravedad C, ecuación (19)

El sistema total tiene entonces la siguiente forma: ecuación (20)

Modelo Cinemático Inverso aplicado en DSP

Para la implementación del modelo cinemático inverso se empleó un algoritmo basado en el método del gradiente [8], para este caso el algoritmo calcula el error de posición y el número de iteraciones necesarias para obtener el resultado, cabe resaltar que entre mayor sea el número de iteraciones, mayor va a ser el tiempo de cálculo para el sistema de control [9] el cual tiene como limite la velocidad de respuesta permitida por el manipulador y/o la tarea a realizar por el mismo, un esquema general del algoritmo es presentado en la figura 10.

Figura 10 Algoritmo para el cálculo de la cinemática inversa

El algoritmo fue implementado en Matlab 7.0, en C y VisualDSP++ 4.5 [10], obteniendo los tiempos de cómputo, la posición, el error y el número de iteraciones necesarias para encontrar las posiciones angulares para una posición en el espacio dada al robot.

Resultados obtenidos

Para la validación de los modelos cinemáticos y dinámicos se empleó matlab 7.0 donde se evaluó el comportamiento de cada modelo matemático a ser aplicado en el control del robot KUKA.

Para la validación de los modelos se decidió trabajar con trayectorias oblicuas pasando por dos singularidades del robot.

Modelo Computacional para validar el modelo cinemático directo

En la validación de este modelo se dan como datos de entrada posiciones angulares para cada articulación y se obtienen las posiciones del elemento terminal, figura 11.

Figura 11 Modelo cinemático directo

Modelo Computacional para validar el modelo cinemático inverso

En la validación de este modelo es necesario conocer las posiciones espaciales para el robot, para su validación se trabajó con una trayectoria oblicua obteniendo los resultados de la figura 12.

Figura 12 Modelo cinemático inverso.

En la figura 12 se aprecia que el robot sigue la trayectoria solicitada, brindando las posiciones angulares necesarias para alcanzar la posición deseada incluso para posiciones singulares dentro del área de trabajo del manipulador.

Modelo Computacional para validar el modelo dinámico

Para la validación del modelo dinámico se trabajó con trayectorias oblicuas y tareas que exigen movimiento del elemento terminal con velocidad constante, trabajando con carga de 16 Kg que corresponde a la máxima carga recomendada por KUKA Roboter [11].

Para la trayectoria oblicua solicitada por medio del algoritmo de la cinemática inversa ya validado se obtienen las posiciones angulares presentadas en la figura 13.

Figura 13 Posiciones angulares solicitadas

Una vez obtenidas las posiciones angulares calculamos las velocidades angulares por medio del jacobiano inverso, obteniendo las siguientes velocidades articulares figura 14.

Figura 14 Velocidades angulares

Se calculan también las aceleraciones angulares necesarias para realizar la trayectoria solicitada, los valores se presentan en la figura 15.

Figura 15 Aceleraciones angulares

Con los datos de posiciones angulares, velocidades angulares, aceleraciones angulares y carga aplicamos el modelo dinámico de la ecuación (14) obteniendo los siguientes valores para torque de los actuadores del robot (Figura 16).

Figura 16 Torques solicitados al robot

Datos del fabricante

Los datos ofrecidos por KUKA Roboter [11] se presentan en la tabla 4, que muestra los límites operacionales del robot.

Tabla 4 Datos técnicos del robot KUKA KR 6

Resultados del DSP

El algoritmo de la cinemática inversa fue implementado en VisualDSP++4.5, en Matlab 7 y en C, para observar su desempeño, evaluando el tiempo de procesamiento y el error de posición.

Tiempo de procesamiento

Para evaluar el tiempo de procesamiento se trabajó con trayectorias oblicuas así como en la validación del modelo dinámico, con los datos de trayectoria se obtuvieron los tiempos de procesamiento presentados en la figura 17 donde claramente se aprecia que el DSP tiene el menor tiempo de procesamiento.

Figura 17 Comparación de los tiempos de procesamiento

Evaluación del tiempo de procesamiento

En la figura 17 se aprecia que el tiempo de procesamiento del DSP es menor, sin embargo debemos evaluar si es adecuado para implementarlo como posible controlador. Para tal fin es necesario revisar los datos técnicos del robot para conocer su velocidad de respuesta, estos datos se pueden apreciar en la tabla 5, donde las principales informaciones son: pulsos del encoder y velocidad angular máxima a la cual se puede mover el robot debido a las características técnicas de los servomotores empleados para su funcionamiento.

En la figura 18 podemos apreciar que el tiempo de procesamiento del DSP es adecuado para ser implementado como controlador ya que este ofrece una respuesta en máximo 0,55 ms y el requerido por el robot es de 1,17 ms.

Tabla 5 Datos para el cálculo de la velocidad de respuesta del robot

Figura 18 Tiempos de procesamiento para el DSP

Error de posición

Otra característica importante a evaluar es el error de posición el cual corresponde a dos factores principales: el primero es el error de cuantización y el segundo el error debido al método de cálculo (en la figura 19 se muestran los errores de posición). El parámetro de comparación corresponde a la repetibilidad del robot, que para el presente caso es de 0,1 mm de acuerdo con la tabla 4.

Figura 19 Errores de posición

En la figura 19 apreciamos que el error de posición máximo para VisualDSP es de 0,08 mm.

Conclusiones

El trabajo presenta el modelo cinemático directo para el robot KUKA KR 6, el cual fue evaluado obteniendo resultados adecuados para ser implementado en el control cinemático.

El modelo cinemático inverso mediante la ecuación cuadrática mostró ser un método adecuado ya que presenta las posibles configuraciones del robot para alcanzar la posición deseada consiguiendo seguir una trayectoria deseada.

El cálculo del tensor de inercias, se realizó con la ayuda del software CAD, el cual nos brinda los momentos de inercia principales, los productos de inercia, y la ubicación del centroide de cada articulación del robot.

Es importante resaltar que el tensor de inercias obtenido necesita ser entendido y trasladado al sistema de referencia apropiado para el modelo dinámico.

El modelo dinámico fue evaluado obteniendo valores de torque de 1250 N-m para la trayectoria oblicua a velocidad de trabajo constante, dada al robot, obteniendo como velocidad máxima en la articulación dos 12,7 RPM, trabajando así dentro de los parámetros del fabricante.

La evaluación del desempeño del DSP para la tarea dada al robot fue adecuada obteniendo un tiempo de procesamiento de 0,55 ms apropiado para la operación dada.

El error de posición encontrado corresponde al método de cálculo y al error de cuantización, el valor de error máximo encontrado fue de 0,08 mm que esta por debajo del valor de repetibilidad dado por KUKA Roboter.

Referencias

1. A. Barrientos. Fundamentos de robótica. Ed. McGraw Hill. Barcelona. 1997. pp. 15-38        [ Links ]

2. A. Ollero. Robótica, Manipuladores y robots móviles. Ed. Marcombo Boixareu. Barcelona. 2001. pp. 43-80        [ Links ]

3. M. S. Dutra. Notas de Aula Mecanismos. Universidad Federal de Rio de Janeiro. UFRJ. 2006. pp. 12-33.        [ Links ]

4. T. Kurfles. Robotics and Automation Handbook. Ed. CRC Press. Florida, 2005. pp. 26-84.        [ Links ]

5. J. Denavit, R. S. Hartenberg. “A Kinematic Notation for Lower- Pair Mechanism Based on Matrices”. Journal of Applied Mechanics. Vol. 22. 1955. pp. 215-221.         [ Links ]

6. K. S. Fu. Control, Sensing, Vision, and Intelligence. Ed. McGraw Hill. New York. 1987. pp. 82-102.        [ Links ]

7. F. Beer. Mecânica Vetorial para Engenheros. 3a. ed. McGraw Hill. São Paulo. 1980. pp. 399-447.        [ Links ]

8. L. W. Tsai. Robot Análisis. The Mechanics of Serial and Parallel Manipulators. Ed. John Wiley & Sons, Inc. New York. 1999. pp 55-72.        [ Links ]

9. J. F Archila, M. S. Dutra. “Design and construction of a SCARA Type Manipulator, implementing a control system”. International Congress of Mechanical Engineering COBEM. 2007. Brasilia. 2007. pp 129-138.         [ Links ]

10. Visual DSP ++ 4.5, C/C++ Compiler and library Manual for sharc, Analog Device. pp 632- 694.        [ Links ]

11. KUKA Roboter. Technical Specifications Manual. 2005. pp. 9-34.         [ Links ]

(Recibido el 14 de enero de 2008. Aceptado el 30 de Junio de 2008)

*Autor de correspondencia: teléfono: + 55 + 21 + 883 70 486, Lab: + 55 + 21 + 256 277 64, correo electrónico: john.faber@ufrj.br joaofaber@gmail.com (J.F. Archila).

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons