Está en la página 1de 7

Redalyc

Sistema de Informacin Cientfica


Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal

Giraldo, Luis Felipe; Delgado, Edilson; Castellanos, Germn Cinemtica Inversa de un Brazo Robot Utilizando Algoritmos Genticos Avances en Sistemas e Informtica, vol. 3, nm. 1, junio, 2006, pp. 29-34 Universidad Nacional de Colombia Colombia
Disponible en: http://redalyc.uaemex.mx/src/inicio/ArtPdfRed.jsp?iCve=133114991005

Avances en Sistemas e Informtica ISSN (Versin impresa): 1657-7663 mprada@unalmed.edu.co;avances@unalmed.ed u.co Universidad Nacional de Colombia Colombia

Cmo citar?

Nmero completo

Ms informacin del artculo

Pgina de la revista

www.redalyc.org Proyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Cinemtica Inversa de un Brazo Robot Utilizando Algoritmos Genticos


Luis Felipe Giraldo, Edilson Delgado y Germn Castellanos
UNIVERSIDAD NACIONAL DE COLOMBIA. luspipe16@yahoo.com ; edelgadot@unal.edu.co ; gcastell@telesat.com.co Recibido para revisin May2006, aceptado Jun2006, versin nal recibida Jun2006

Resumen: Se describe el procedimiento para resolver el problema de la cinemtica inversa de un brazo robot utilizando algoritmos genticos a partir de la solucin del problema cinemtico directo. Se demuestra que este mtodo tiene varias ventajas sobre otros mtodos: el mismo algoritmo aplica para dar solucin a la cinemtica inversa de cualquier brazo robot, independientemente del tipo de articulaciones y del nmero de grados de libertad; se obtiene una solucin factible en forma rpida, resaltando la sencillez en la implementacin; se utiliza la representacin de elementos de Denavit-Hartenberg, caracterizada por su universalidad algortmica. Al algoritmo gentico utilizado se le realiza un control en sus parmetros y en la funcin de evaluacin con el n de mejorar su rendimiento ante el problema propuesto.

espacial del brazo en varios problemas de geometra planar. En Paul, Shimano y Mayer (1981) se propone la Un manipulador mecnico, se puede modelar como una tcnica de la transformada inversa, en donde se intenta, cadena articulada en lazo abierto con unos elementos a travs de diversas aproximaciones resolver los ngulos conectados en serie por una articulacin de revolucin de Euler. Estos mtodos por aproximaciones geomtrio prismtica movida por actuadores. El movimiento re- cas presentan muchas condiciones en cuanto a la estruclativo en las articulaciones resulta en el movimiento de tura fsica del manipulador y el tipo de articulaciones, los elementos que posicionan la mano en una orientacin adems de la dicultad en encontrar la solucin. deseada. Carvalho y Gaspar (1991), Oyama, Chong, Agah, En la mayora de las aplicaciones de robtica, se Maeda y Tachi (2001) proponen varios mtodos utiest interesado en la descripcin espacial del efector lizando redes neuronales; las redes implementadas necenal del manipulador con respecto a un sistema de coorsitan muchos ejemplos para que puedan ser entredenadas de referencia ja, para lo cual necesariamente se nadas, adems de que no se alcanza una precisin adedebe resolver el problema de la cinemtica directa y la cuada. Varios autores han reportado el uso de algoritcinemtica inversa. Para un manipulador determinado, mos evolutivos para solucionar el problema de la cinla cinemtica directa consiste en hallar la orientacin y emtica inversa de un manipulador para puntos indiposicin del efecto nal a partir del vector de ngulos viduales [Khoogar, Parker y Goldberg (1989), Gibbs de las articulaciones y los parmetros geomtricos del (1996), Khawaja, Rahman y Wagner (1998)], requirinelemento. dose muchas generaciones para que el algoritmo llegue En Denavit y Hartenberg (1955) se propone un al ptimo al cercano-ptimo. mtodo matricial para resolver en forma sistemtica y generalizada este problema. La cinemtica inversa conEn este trabajo se propone realizar la solucin al siste en hallar el vector de ngulos de las articulaciones a problema cinemtico inverso de un brazo robot utipartir de la orientacin y posicin del efector nal, el cual lizando algoritmos genticos a partir de la representacin es un problema de difcil solucin debido a que incluye Denavit-Hartenberg, independiente del tipo de articulaecuaciones no lineales y mltiples soluciones. Este pro- ciones y del nmero de grados de libertad, resaltndose blema ha sido abordado de muchas formas plantendose la rpida convergencia del algoritmo mediante el control diversos mtodos para resolverlo. En Pieper (1968) se de sus parmetros y la funcin de evaluacin. El brazo presenta la solucin cinemtica para manipuladores con robot tomado como referencia para realizar las pruebas seis grados de libertad en donde tres ejes consecutivos se es el Scorbot VR plus, con articulaciones rotacionales y interceptan en un punto. cinco grados de libertad, adquirido por la Universidad En Lee y Ziegler (1984) se descompone la geometra Nacional de Colombia sede Manizales. 1 INTRODUCCIN
Av. Sist Inf., Vol. 3 No. 1 pp. 2934, Medelln, Junio 2006, ISSN 16577663

30

L.F. Giraldo, E. Delgado y G. Castellanos / Avances en Sistemas e Informtica 3 (1) 2006 29 34

2 CINEMTICA DIRECTA DEL BRAZO ROBOT Una herramienta indispensable para describir la geometra espacial de un manipulador es la representacin en coordenadas homogneas. El concepto de una representacin en coordenadas homogneas en un espacio eucldeo tridimensional es til para desarrollar transformaciones matriciales que incluyan rotacin, traslacin, escalado y transformacin de perspectiva. En general, una matriz de transformacin homognea es una matriz que transforma un vector de posicin expresado en coordenadas homogneas desde un sistema de coordenadas hasta otro sistema de coordenadas. Una matriz de transformacin homognea se puede considerar que consiste en cuatro submatrices:
R T = 33 f13 p 31 k11

matriz de rotacin vector posicin = transformacin de perspectiva escalado

La submatriz superior izquierda representa la matriz de rotacin; la submatriz superior derecha representa el vector de posicin del origen del sistema de coor- Tabla 1: Parmetros de coordenadas del brazo del robot denadas rotado con respecto al sistema de referencia; la submatriz inferior izquierda representa la transformacin Articulacin i ai (mm) di (mm) de perspectiva; y el cuarto elemento diagonal es el factor 1 -900 0 364 de escala global. En aplicaciones de robtica, este factor 2 00 220 0 de escala ser siempre igual a 1. 3 00 220 0 Para analizar la cinemtica del brazo robot se uti4 900 0 0 liza la representacin de Denavit-Hartenberg, la cual es5 00 0 170 tablece en forma sistemtica un sistema de coordenadas para cada elemento de la cadena articulada. Dicha representacin resulta en una matriz de transformacin homognea que representa cada uno de los sistemas de cos i cos i sin i sin i sin i ai cos i sin i cos i cos i sin i cos i ai sin i coordenadas de los elementos en la articulacin con resi1 Ai = 0 pecto al sistema de coordenadas del elemento previo, desin i cos i di nominada matriz de transformacin D-H. Para la apli0 0 0 1 cacin particular, se establece el sistema de coordenadas (1) como se ilustra en la Figura 1. A partir de la matriz de transformacin descrita en la expresin (1), se halla la matriz homognea 0 Ti , la cual especica la localizacin del sistema de coordenadas isimo con respecto al sistema de coordenadas base. Esta matriz est dada por:
i j1 0

A partir del sistema de coordenadas elegido y las medidas del brazo robot, se hallan los parmetros de la representacin de Denavit-Hartenberg (ver Tabla I) para ser reemplazados en la matriz de transformacin D-H en sistemas de coordenadas adyacentes i e i-1, notados en la expresin (1). Estos cuatro parmetros describen totalmente cualquier articulacin prismtica o de revolucin. Para calcular los parmetros de la representacin Denavit-Hartenberg se tienen las siguientes consideraciones: i : Es el ngulo de la articulacin del eje xi1 al eje xi respecto del eje zi1 (utilizando la regla de la mano derecha). di : Es la distancia desde el origen del sistema de coordenadas i 1-simo hasta la interseccin del eje zi1 con el eje xi a lo largo del eje zi1 . ai : Es la distancia de separacin desde la interseccin del eje zi1 con el eje xi hasta el origen del sistema i-simo a lo largo del eje xi ( la distancia ms corta entre los ejes zi1 y zi ). i : Es el ngulo de separacin del eje zi1 al eje zi respecto del eje xi (utilizando la regla de la mano derecha).

Ti =
j=1

Aj

(2)

El problema cinemtico directo consiste en hallar la posicin y orientacin nal del brazo robot a partir de los ngulos de articulacin = {1 , 2 , , i }. Utilizando la matriz de transformacin 0 Ti se relaciona un punto pi Figura 1: Establecimiento del sistema de coordenadas para en reposo en el elemento i expresado en coordenadas homogneas con respecto al sistema de coordenadas i en el el Scorbot VR plus

L.F. Giraldo, E. Delgado y G. Castellanos / Avances en Sistemas e Informtica 3 (1) 2006 29 34

31

sistema de coordenadas base establecido en el elemento base por la expresin: p0 = T i pi


0

Algoritmo 1. Pseudocdigo de los AGs Se requiere: p m


y

pc
1 0 2 0 n 0 ;// Poblacin
// inicial

(3)

t : = 0; inicializar

r (xr ( ) = { ( ), xr ( ),K , xr ( )} x )
0

Teniendo en cuenta que el brazo robot es de cinco grados de libertad, y que el punto del espacio que se quiere obtener es el origen del sistema de coordenadas de la herramienta, se reemplaza en las expresiones (2) y (3), obtenindose: p0 = 0 T5 [0 donde,
0

repetir r r g : = evaluar x (t )

( )

; // Evaluar cada miembro de la poblacin

r r r x m (t ) : = seleccin x (t ),g r x c (t ) : = cruzamiento


m

// y obtener medida de costo

0 0

1]t

(4)

) (xr ( ))
0

; // Seleccionar mejores
// cromosomas con base en

; // Realizar cruzamiento y
// obtener poblacin de cras

r r r r x (t ) : = x (t ) - x rand (t ) + x c (0 ) ; // Eliminar miembros de la

T5 = 0 A1 0 A2 0 A3 0 A4 0 A5

r x (t ) : =
t : = t+1 ;

mutacin

(r ( )) x
t

// poblacin aleatoriamente e // ingresar cras

; // Aplicar mutacin

Se resuelve la multiplicacin de la expresin (4) y se obtiene: p0 = [x donde, x = 0 T5 (1, 4), y = 0 T5 (2, 4), z = 0 T5 (3, 4) y z 1]t (5)

hasta

que se satisfaga el criterio de parada

4 MARCO EXPERIMENTAL El esquema del algoritmo implementado para dar solucin al problema cinemtico inverso se ilustra en la Figura 2. Se puede observar el control realizado a los Parmetros del algoritmo gentico y la funcin de evaluacin utilizada.

siendo (x, y, z) la posicin espacial del origen del sistema de coordenadas del efector nal respecto al sistema de coordenadas base.

ESTRUCTURA GENERAL DE LOS ALGORITMOS GENTICOS

Los algoritmos genticos (AGs) son procedimientos de bsqueda basados en los principios de la seleccin natural, gentica y evolucin. Se asume que la evolucin de los seres vivientes es un proceso que se opera en los cromosomas - aparatos orgnicos codicadores de la estructura de los seres vivos; de esta forma, los AGs resuelven problemas de encontrar buenos cromosomas sin algn conocimiento del tipo de problema que se est resolviendo. Dado un mtodo de codicar soluciones de un problema en la forma de n cromosomas de longitud L y Figura 2: Diagrama de bloques del algoritmo implementado dada una funcin de evaluacin que proporcione una mePara resolver el problema de la cinemtica inversa se dida del costo de algn cromosoma en el contexto del problema. En el Algoritmo 1 se describe el procedimien- utiliza un AG simple con las siguientes especicaciones: Codicacin:Los ngulos de rotacin = to que generalmente siguen los algoritmos genticos.

32

L.F. Giraldo, E. Delgado y G. Castellanos / Avances en Sistemas e Informtica 3 (1) 2006 29 34

{1 , 2 , , i } se codican en forma de cromosomas con cadenas binarias de 15 bits por cada parmetro, en un cdigo concatenado, mapeado, multiparmetro de punto jo.
01 L 01 00 L 10 L 11 L 00 q1 q2 K q5

(d, t) = exp

d2 (pr , pc )
t 2(50 49 T ) 2

(8)

Funcin de evaluacin: Cada cromosoma se decodica, obteniendo as los valores de los cinco ngulos de rotacin, los cuales estn dentro de un rango dado por las especicaciones del brazo robot. Estos valores se reemplazan en la expresin (5) para calcular el punto en el espacio resultante despus de posicionar el brazo robot con estos ngulos. Por lo tanto, la medida de costo del cromosoma debe ser inversamente proporcional a la distancia entre el punto obtenido a partir del cromosoma y el punto para el cual la herramienta del brazo robot debe posicionarse respecto al sistema de coordenadas base. La funcin utilizada se describe en la expresin (6). = exp d2 (pr , pc ) 2 2 (6) Figura 3: Grca de (d, t) Mutacin: Debido a que el espacio de bsqueda es bastante amplio, se necesita que el algoritmo sea eciente y que encuentre una solucin lo ms cercana posible al ptimo. Para obtener lo anterior, se elige realizar un control en la tasa de mutacin, la cual es el operador decisivo en la bsqueda de un algoritmo evolutivo [Beyer (2001)]. En Back (1993) se demuestra que es un buen mtodo la probabilidad de mutacin, siendo pm la probabilidad de mutacin y L la longitud del cromosoma; sin embargo, se ha encontrado que variar la tasa de mutacin durante la ejecucin del AG provee mejores resultados [Eiben, Hinterding y Michlewichz (1999)]. Por lo tanto, se utiliza un esquema de control determinstico de la probabilidad de mutacin en funcin de la generacin, dada por la expresin (9), obteniendo mejores resultados. L1 t T
1

donde d2 (pr , pc ) es la distancia entre el punto pr para el cual la herramienta del brazo robot debe posicionarse en el punto pc obtenido a partir del cromosoma, y es la desviacin estndar de la funcin exponencial, cuyo valor depende de las caractersticas fsicas del problema. Para el cromosoma ptimo = 1. Para puntos alejados del punto objetivo (d > 3), es casi nulo. De acuerdo a esto, si la poblacin inicial contiene cromosomas que generan puntos de este tipo, la medida de costo va a proveer muy poca informacin y el algoritmo no va a poder direccionar el proceso evolutivo hacia el ptimo cercano-ptimo. Con el n de evitar este inconveniente, la funcin de evaluacin dada por la expresin (6), se plantea de la siguiente forma: para las generaciones iniciales, toma un valor grande, ampliando la funcin de evaluacin, de tal forma, que los cromosomas que generan puntos alejados del punto objetivo, tengan un considerable, logrndose que el algoritmo pueda direccionar la evolucin de los mismos. A medida que el nmero de generaciones aumenta, se debe hacer ms pequeo con el n de obtener una mayor precisin en los cromosomas. As, queda denido por la expresin (7), siguiendo un esquema determinstico lineal. t (7) T donde, t es la generacin actual y T es el nmero mximo de generaciones. Se toma (0) = 50, y (T ) = 1. Reemplazando la expresin (7) en la expresin (6) se obtiene la nueva funcin de evaluacin, dada por la expresin (8) e ilustrada en la Figura 3. (t) = 50 49

pm (t) = 1 +

(9)

donde, T es el nmero total de generaciones y t es la generacin actual, siendo 0 t T . Esta funcin decre1 menta pm tal que pm (0) = 1 y pm (T ) = L . Otros parmetros: En De Jong (1975) y Grefenstette (1986), se determina experimentalmente valores adecuados para los parmetros de un algoritmo gentico, de los cuales se eligieron los siguientes: tasa de cruzamiento: 0.95; tamao de la poblacin: 50; nmero de bits: 15; criterio de parada: el AG termina cuando se ejecuten el nmero total de generaciones, o cuando se supere un umbral de la funcin de evaluacin.

L.F. Giraldo, E. Delgado y G. Castellanos / Avances en Sistemas e Informtica 3 (1) 2006 29 34

33

RESULTADOS Y DISCUSIN

Como se observa en la Figura 4, despus de ejecutar el algoritmo 100 veces con = 1.7 y 300 generaciones, hay 23 ejecuciones que no alcanzaron a superar el umbral establecido de d(pr , pc ) = 0.14mm. Despus de ejecutar el algoritmo con la nueva funcin de evaluacin (ecuacin 8) 100 veces, con un nmero mximo de 300 generaciones y el mismo umbral, se obtienen los resultados mostrados en la Figura 5. Se observa que el ptimo ( cercanoptimo) es alcanzado entre 50 y 175 generaciones aproximadamente, con una efectividad del 99%.

(a)

Estado de la poblacin en la generacin 5

(b)

Estado de la poblacin en la generacin 15

Figura 4: Resultados para = 1.7

(c)

Estado de la poblacin en la generacin 40

Figura 6: Proceso evolutivo 6 CONCLUSIONES Y TRABAJO FUTURO Se demuestra que el algoritmo es efectivo y eciente al En la Figura 6 se observa el progreso de los cromo- hallar la cinemtica de un brazo robot, a pesar de que el somas. Despus de 40 generaciones se alcanza el criterio espacio de bsqueda es bastante amplio. de parada especicado anteriormente. La poblacin de Otros mtodos antes propuestos, en la solucin del cromosomas se representa en su valor equivalente en el problema de la cinemtica inversa de un brazo robot, son espacio tridimensional mediante las x, y el punto que se complejos de desarrollar, y es por esto que, o slo quedan desea alcanzar se representa por medio de un crculo de aplicables a casos especcos, o si encuentran la solucin gran tamao. Como se observa, a medida que el nmero es en un tiempo muy prolongado. El mtodo que se de generaciones aumenta, la poblacin se acerca cada vez propone en este trabajo es de fcil implementacin y rms al ptimo. pida convergencia, dejando el camino abierto para que Figura 5: Resultados para variable

34

L.F. Giraldo, E. Delgado y G. Castellanos / Avances en Sistemas e Informtica 3 (1) 2006 29 34

se mejore conforme al desarrollo de nuevas tcnicas en el rea de la computacin evolutiva. Se debe tener en cuenta que un brazo robot puede posicionarse en un punto del espacio de muchas maneras, proporcionalmente al nmero de grados de libertad que tenga, siempre y cuando est dentro de su espacio de trabajo y las caractersticas fsicas lo permitan; por lo tanto, pueden existir muchas soluciones al problema de la cinemtica inversa. El algoritmo implementado direcciona el proceso evolutivo hacia una de las soluciones factibles en forma aleatoria. Queda planteado como trabajo futuro la aplicacin de restricciones al algoritmo para que encuentre tan slo la solucin de inters, utilizando acciones de penalizacin en la funcin de evaluacin, las cuales tambin pueden ser controladas durante la ejecucin del algoritmo [Eiben et al. (1999)].
REFERENCIAS Back, T. (1993), Optimal mutatin rates in genetic search, in S. Forrest, ed., Proceedings of the 5th International Conference on Genetic Algorithms, Morgan Kaufmann. Beyer, H. (2001), The Theory of Evolution Strategies, Leiden Center of Natural Computing. Springer-Verlag. Carvalho, L. y Gaspar, E. (1991), The solution of the inverse kinematic problem of robot arms with neural networks, in XI Brazilian Congress on Mechanical Engineering COBEM - Brasil. De Jong, K. (1975), The Analysis of the Behaviour of a Class of Genetic Adaptive Systems, PhD thesis, University of Michigan, Ann Arbor, Michigan. Denavit, J. y Hartenberg, R. (1955), A kinematic notation for lower-pair mechanisms on matrices, ASME Journal of Applied Mechanics pp. 215221.

Eiben, A., Hinterding, R. y Michlewichz, Z. (1999), Parameter control in evolutionary algorithms, IEEE Transactions on Evolutionary Computation 3(2), 124141. Gibbs, J. (1996), Easy inverse kinematics using genetic programming, in Proceedings of the GP-96 Conference, p. 28. Grefenstette, J. (1986), Optimization of control parameters for genetic algorithms, IEEE Transactions on Systems, Man and Cybernetics 16(1), 122128. Khawaja, A., Rahman, M. y Wagner, M. (1998), Inverse Kinematics of Arbitrary Robotic Manipulators using Genetic Algorithms, Kluwer Academic Publishers. In J. Lenarcic y M.L. Justy, editores. Advances in Robot Kinematics: Analysis and Control. Khoogar, A., Parker, J. y Goldberg, D. (1989), Inverse kinematics of redundant robots using genetic algorithms, in International Conference on Robotics an Automation, p. 271. Lee, C. y Ziegler, M. (1984), Geometric approach in solving inverse kinematics of puma robots, IEEE Transactions on Aerospace and Electronic Systems 20(5). Oyama, E., Chong, N., Agah, A., Maeda, T. y Tachi, S. (2001), Inverse kinematics learning by modular architectore neural networks with performance perdiction networks, in IEEE International Conference on Robotics and Automation, p. 1006. Paul, R., Shimano, B. y Mayer, G. (1981), Kinematic control equations for simple manipulators, IEEE Transactions on Systems, Man and Cybernetics 11(6). Pieper, D. (1968), The Kinematics of Manipulators Under Computer Control, PhD thesis, Stanford University.

También podría gustarte