generaciÓn de trayectorias para...

11
MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO 1394 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM GENERACIÓN DE TRAYECTORIAS PARA MANIPULADORES ROBÓTICOS CON ALGORITMOS GENÉTICOS Ramírez-Gordillo Javier, Lugo-González Esther, Ponce-Reynoso Rodolfo Sección de Estudios de Posgrado e Investigación, Escuela Superior de Ingeniería Mecánica y Eléctrica Instituto Politécnico Nacional, Unidad Profesional, Adolfo López Mateos, Zacatenco, Edif. 5, 2do. Piso, Col. Lindavista, C.P. 07738, México. Teléfono (55) 5729600. Extensión: 64502. [email protected] Merchán-Cruz Emmanuel Alejandro, Urriolagoitia-Sosa Guillermo, Rodríguez-Cañizo Ricardo Gustavo Sección de Estudios de Posgrado e Investigación, Escuela Superior de Ingeniería Mecánica y Eléctrica Instituto Politécnico Nacional, Unidad profesional, Azcapotzalco, Av. de las Granjas No. 682, Col. Sta. Catarina Azcapotzalco, C.P. 02550, México. Teléfono (55) 5729600. Extensión: 64502. RESUMEN Este trabajo presenta la generación de trayectorias para manipuladores robóticos implementando un algoritmo genético para solucionar la posición y orientación de sistema de coordenadas de la herramienta de un robot tomando en cuenta solo las ecuaciones de enlace geométrico a partir de la representación de Denavit- Hartenberg, la cual establece de manera sistemática, una metodología para asignar un sistema de coordenadas a cada elemento de la cadena articulada, independientemente del tipo de la articulación y del número de grados de libertad, solo con la utilización de las ecuaciones de enlace geométrico como función de evaluación y mediante el control de sus parámetros, es posible alcanzar una solución satisfactoria en los resultados y en la convergencia del algoritmo. Palabras claves: Algoritmo Genético, Robot, Generación de trayectoria. ABSTRACT This works shows the trajectories generation for robot manipulators using genetic algorithms to solve position and orientation of the robot tool coordinates system, taking only into consideration the geometric link equations since Denavit-Hartenberg representation, which establishes systematically a methodology to assign a coordinates system to each element of the articulated chain, independently of the joint type and degrees of freedom, only with the use of geometric link equations as evaluation function by means of the control of its parameters, it is possible to reach a satisfactory solution in results and in the algorithm convergence. Keywords: Genetic Algorithms, Robot, planning trajectory. NOMENCLATURA i i-ésimo θ i Ángulo formado entre el eje X i-1 al eje X i respecto al eje Z i-1 α i Ángulo formado entre el eje Z i-1 al eje Z i respecto al eje X i a i Distancia desde el origen del eje X i al origen Z i-1 a lo largo del eje X i d i Distancia desde el origen del eje X i al origen Z i-1 a lo largo del eje Z i-1 n x ,n y ,n z Componente del vector unitario normal n s x ,s y ,s z Componente del vector unitario de deslizamiento s a x ,a y ,a z Componente del vector unitario de aproximación a p x ,p y ,p z Componentes del vector de posición p i-1 A i Matriz de transformación homogénea 4x4 0 T i Matriz homogénea 4x4 R Matriz de Rotación 3x3 ∆θ nmin Dominio mínimo de la variable enésima ∆θ nmax Dominio máximo de la variable enésima

Upload: others

Post on 28-Jul-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1394 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

GENERACIÓN DE TRAYECTORIAS PARA MANIPULADORES ROBÓTICOS CON ALGORITMOS GENÉTICOS

Ramírez-Gordillo Javier, Lugo-González Esther, Ponce-Reynoso Rodolfo

Sección de Estudios de Posgrado e Investigación, Escuela Superior de Ingeniería Mecánica y Eléctrica Instituto Politécnico Nacional, Unidad Profesional, Adolfo López Mateos, Zacatenco,

Edif. 5, 2do. Piso, Col. Lindavista, C.P. 07738, México. Teléfono (55) 5729600. Extensión: 64502.

[email protected]

Merchán-Cruz Emmanuel Alejandro, Urriolagoitia-Sosa Guillermo, Rodríguez-Cañizo Ricardo Gustavo Sección de Estudios de Posgrado e Investigación, Escuela Superior de Ingeniería Mecánica y Eléctrica

Instituto Politécnico Nacional, Unidad profesional, Azcapotzalco, Av. de las Granjas No. 682, Col. Sta. Catarina Azcapotzalco, C.P. 02550, México.

Teléfono (55) 5729600. Extensión: 64502.

RESUMEN Este trabajo presenta la generación de trayectorias para manipuladores robóticos implementando un algoritmo genético para solucionar la posición y orientación de sistema de coordenadas de la herramienta de un robot tomando en cuenta solo las ecuaciones de enlace geométrico a partir de la representación de Denavit-Hartenberg, la cual establece de manera sistemática, una metodología para asignar un sistema de coordenadas a cada elemento de la cadena articulada, independientemente del tipo de la articulación y del número de grados de libertad, solo con la utilización de las ecuaciones de enlace geométrico como función de evaluación y mediante el control de sus parámetros, es posible alcanzar una solución satisfactoria en los resultados y en la convergencia del algoritmo. Palabras claves: Algoritmo Genético, Robot, Generación de trayectoria.

ABSTRACT This works shows the trajectories generation for robot manipulators using genetic algorithms to solve position and orientation of the robot tool coordinates system, taking only into consideration the geometric link equations since Denavit-Hartenberg representation, which establishes systematically a methodology to assign a coordinates system to each element of the articulated chain, independently of the joint type and degrees of freedom, only with the use of geometric link equations as evaluation function by means of the control of its parameters, it is possible to reach a satisfactory solution in results and in the algorithm convergence. Keywords: Genetic Algorithms, Robot, planning trajectory. NOMENCLATURA i i-ésimo θi Ángulo formado entre el eje Xi-1 al eje Xi respecto al eje Zi-1 αi Ángulo formado entre el eje Zi-1 al eje Zi respecto al eje Xi

ai Distancia desde el origen del eje Xi al origen Zi-1 a lo largo del eje Xi di Distancia desde el origen del eje Xi al origen Zi-1 a lo largo del eje Zi-1 nx,ny,nz Componente del vector unitario normal n sx,sy,sz Componente del vector unitario de deslizamiento s ax,ay,az Componente del vector unitario de aproximación a px,py,pz Componentes del vector de posición p i-1Ai Matriz de transformación homogénea 4x4

0Ti Matriz homogénea 4x4 R Matriz de Rotación 3x3 ∆θnmin Dominio mínimo de la variable enésima ∆θnmax Dominio máximo de la variable enésima

Page 2: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1395 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

INTRODUCCIÓN Un Algoritmo Genético (AG), es una técnica de programación que imita la evolución biológica como una estrategia para resolver problemas complejos de búsqueda en la satisfacción de decisiones para modificarse y actuar como optimizadores de funciones [1], basados en los principios naturales de selección y supervivencia de los individuos más aptos [2, 3]. Los algoritmos genéticos desarrollados por Holland a principios de los 1960´s durante la solución de problemas de aprendizaje de máquina [4, 5], se basaron en operadores probabilísticos y en la actualidad elitismo para poder converger al óptimo [6]. Algunas aplicaciones de los AG son: La optimización (estructural, de topologías, numérica, combinatoria, etc.), predicción, generación de gramáticas (regulares, libres de contexto, etc.), bases de datos (optimización de consultas), reconocimiento de patrones (por ejemplo, imágenes) y la planeación de movimientos de robots entre otras [7]. La ventaja de los AG sobre algunas técnicas tradicionales de búsqueda y optimización son: La simplicidad conceptual, la amplia aplicabilidad, el potencial para incorporar conocimiento sobre el dominio, explotación sobre arquitecturas en paralelo y capacidad de resolver problemas para los cuales no se conoce solución alguna [7, 8]. La generación de trayectorias de manipuladores robóticos y su optimización, son parte del problema de la planeación de movimientos de robots y son un ejemplo de las aplicaciones del mundo real. Las aplicaciones robóticas pueden estar basadas sobre una trayectoria compuesta por movimientos como secuencia de desplazamiento espacial del manipulador robótico [9]. Mecánicamente, un manipulador robótico, se puede modelar como una cadena abierta con pares cinemáticos articulados movidos por actuadores. El movimiento relativo en las articulaciones resultante posiciona la herramienta con una orientación deseada. El problema puede ser analizado a través de las ecuaciones de enlace cinemático del manipulador robótico y resuelto mediante la cinemática inversa del mismo con métodos numéricos, basado en la inversión de matriz Jacobiana de un sistema no lineal y sobre determinado, obteniendo los valores angulares de los eslabones que satisfacen la posición y orientación de la herramienta [10]. Este análisis en ocasiones no es muy cómodo, más cuando se trata en generar trayectorias para manipuladores robóticos con múltiples grados de libertad. Pese a que el problema ha sido previamente investigado por varios autores en su complejidad y aplicabilidad [9, 11-14], este trabajo propone analizar el problema de generar trayectorias para manipuladores robóticos utilizando algoritmos genéticos a partir de la representación de Denavit-Hartenberg [15], independientemente del tipo de la articulación y del número de grados de libertad, solo con la utilización de las ecuaciones de enlace geométrico como función de evaluación y mediante el control de sus parámetros, alcanzar una solución satisfactoria en los resultados y en la convergencia del algoritmo. CINEMÁTICA DEL MANIPULADOR ROBÓTICO Para describir la geometría espacial de un manipulador robótico en representación de coordenadas homogéneas sobre el espacio Euclidiano, es necesario recordar la matriz de transformación homogénea descrita por representación de Denavit-Hartenberg [15, 16], la cual establece de manera sistemática, una metodología para asignar un sistema de coordenadas a cada elemento de la cadena articulada. Dicha representación, está descrita en la ecuación (1) y representa el movimiento en cada eslabón en la articulación con respecto al sistema de coordenadas del elemento previo. Para su utilización, es importante obtener los parámetros (θi,αi,ai,di) de acuerdo al sistema de coordenadas conveniente [17, 18].

−−

=−

1000

cossin0

sincossincoscossin

cossinsinsincoscos

1

iii

iiiiiii

iiiiiii

ii

d

a

a

Aαα

θθαθαθθθαθαθ

(1)

La matriz homogénea 0Ti, descrita en la ecuación (2), representa la posición y orientación de la herramienta con respecto al marco de referencia del manipulador robótico en forma sistemática.

ij

i

ji AT 1

1

0 −=

Π=

(2)

Page 3: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1396 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

La ecuación (3), es la expresión comúnmente empleada para representar la posición y orientación de la herramienta respecto al marco de referencia:

=

=

×

××101000

100031

1333

0

pRpasn

pasn

pasn

pasn

i

zzzz

yyyy

xxxx

(3)

Por otro lado, si la ecuación (3) representa la posición y orientación de la herramienta del robot en un modelo expresado matemáticamente respecto al marco de referencia, también puede representar la posición y orientación deseada, teniendo la siguiente expresión en la ecuación (4).

=

10001000dddd pasnpasn

(4)

El término del lado izquierdo de la igualdad, representa el modelo matemático del robot, el término del lado derecho describe los parámetros deseados (orientación y posición). Para utilizar una expresión capaz de emplearse como función de desempeño en el AG, es necesario someterla al siguiente arreglo: prescindir del vector de perspectiva y el valor de escala e igual la expresión con cero, como se muestra en la ecuación (5).

[ ] 0=−−−−−−−−−−−− zzdyydxxdzzdyydxxdzzdyydxxdzzdyydxxd ppppppaaaaaassssssnnnnnn

(5)

La ecuación (5) es un vector que describe la desviación que existe entre la orientación-posición inicial y la orientación-posición deseada, el objetivo es hacer cero esta desviación en cada uno de los términos del vector y como función, al ser evaluada de manera totalmente paralela, permite diseñar la función de desempeño “fitness”. ALGORITMO GENÉTICO PARA GENERAR TRAYECTORIA PARA MANIPULADOR ROBÓTICO El soporte matemático sobre el cual se sustentan los AG, corresponde a Holland su creador, dio por nombre como esquema. Un esquema es un patrón que describe un conjunto de similitudes entre un grupo de cadenas ubicadas en ciertas posiciones de los individuos partícipes en procesos de búsqueda y optimización [19]. Desde entonces, se consideran como técnicas robustas en la solución a problemas diversos, desde de su aplicación por Goldberg en los 80´s, su aceptación por la comunidad científica es aun más creciente [7, 20, 21]. El AG es un método estocástico de búsqueda simultánea en diferentes regiones del espacio factible, realizando una intensificación sobre algunas de ellas y explora otros sub-espacios a través de un intercambio de información entre configuraciones [22, 23]. El problema específico es encontrar una trayectoria para llegar a una posición y orientación deseada desde una configuración inicial del manipulador, la entrada del AG es a través de un conjunto de soluciones potenciales iniciado por una población aleatoriamente generada. Los caracteres en la cadena de solución son llamados genes. El valor y la posición en la cadena de un gen son llamados alelo. Cada solución de la cadena es llamada cromosoma. El código de las variables se llama genotipo, y las variables mismas se llaman fenotipo. Estas variables son codificadas por algún método y evaluadas por una métrica llamada función de aptitud que permite conocer cuantitativamente a cada conjunto de individuos seleccionados probabilísticamente. Estos pueden ser soluciones que ya se sabe que funcionan y con el objetivo de que el AG las adapte y las mejore, los candidatos prometedores son conservados y se les permite reproducirse, con la opción de realizar múltiples copias de ellas e introduciendo cambios aleatorios durante el proceso de copia. Esta descendencia prosigue en cada generación, formando un nuevo acervo de soluciones candidatas, sometidas nuevamente a evaluación de la métrica aptitud, variando mediante operaciones genéticas como la reproducción, el cruce y la mutación mejorado a algunos individuos, convirtiéndolos en mejores soluciones del problema, más completos o más eficientes [7].

Page 4: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1397 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

La estrategia para abordar el problema involucra una secuencia de pasos, empezando con analizar la configuración del manipulador robótico y obtener las parámetros D-H con (θi,αi,ai,di), mediante las ecuaciones (1) y (2) respectivamente, se obtiene de forma sistemática el modelo matemático del robot 0Ti como se muestra en la ecuación (4). Sin embargo, la expresión que se necesita es el arreglo de la ecuación (5), donde se describe el robot con la posición y orientación deseada. El modelo matemático del manipulador robótico obtenido de la convención D-H, es evaluado con una configuración inicial del sistema (θ1,θ2,…θn), donde se conoce la posición y orientación inicial tal como se hace en la cinemática directa. La estructura del individuo en el AG es definido por el dominio [∆θ1min ∆θ1max ; ∆θ2min ∆θ2max ;… ∆θnmin

∆θnmax]Єℜ , la presión requerida y el número de las variables necesarias para calcular la longitud de la cadena binaria, calculando el número de bits nbits y la longitud del cromosoma longcr con la expresión (6) y (7) respectivamente, siendo p el número de dígitos de precisión después del punto [24].

( )( )( )2log

10log minmaxp

iiinbits

×∆−∆=

θθ

(6)

∑=

=n

i

inbitslongcr

1

(7)

Ejemplo: Se tienen dos variables (θ1 ,θ2) y cuyo dominio [∆θ1min ∆θ1max ; ∆θ2min ∆θ2max] Єℜ , es de [-5.4 5.0; -3.3 5.1] con un precisión requerida p=6 dígitos después del punto. Determinar la cantidad de bits requeridos para representar cada variable y cuál es la longitud del individuo.

Dominio [∆θnmin ,∆θnmax]

Cálculo del numero de bits para (θ1 ,θ2) Redondear al entero inmediato superior

Cálculo de la longitud del individuo

−−

1.53.3

0.54.5 ( )( )

( )

=

=

×

=

×

−−−−

=23.001957

23.310080

0.693147

15.943742

16.157316

0.693147

104.8

4.10log

2log

103.31.5

4.50.5log 66

2,1nbits

=

24

24

2

1

θθ

nbits ∑=

=

=

2

1

4824

24

i

longcr

La estructura del individuo está conformada por 48 bits que representa dos variables con una precisión 6 dígitos después del punto. La representación es una cadena binaria con cardinalidad de 2, suficiente para representar en un espacio potencial de soluciones en un número real. La población es generada de manera aleatoria de acuerdo a su tamaño ni y a la longitud del individuo, esto puede observarse en la ecuación (8).

longcrnini

longcr

longcrni

bb

bb

s

,1,

,11,1

ΚΜ

Κ

(8)

Ejemplo: Se tiene una población aleatoria s con ni=5 individuos y longcr=48 bits cada uno.

1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0

θ1

θ2

El tamaño de una población con un número de individuos ni y de longitud longcr, con una codificación binaria. Debe ser suficiente para garantizar la diversidad de las soluciones creadas por una notación mediante cadenas compuestas por 0 y 1, mostrada en la ecuación (8). La población se decodifica para convertirse en una serie de parámetros fenotipos del problema, como se muestra en la ecuación (9).

Page 5: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1398 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

−∆−∆⋅

⋅+∆= ∑

= 122 minmax

0

min longcrii

nbits

j

iiii

i

bxθθθ (9)

Ejemplo: La población s antes generada, es decodificada en los siguientes números reales de acuerdo con la expresión (9).

x1 x2

3.300297 -2.976955 0.792032 3.774495 4.649452 -0.761531 -5.162910 2.183433 -0.056024 -2.846626

Las variables una vez decodificadas, son evaluadas por la métrica llamada función de aptitud, que permite conocer cuantitativamente a cada conjunto de individuos seleccionados probabilísticamente, está puntuación es una solución en función de lo cerca que esté del mejor resultado. A esta puntuación se le llama fitness. Esta debe reflejar el valor del individuo de una manera real, pero en muchos problemas de optimización combinatoria, donde existe una gran cantidad de restricciones, buena parte de los puntos del espacio de búsqueda representan individuos no válidos.

)( ii xfitnessf = (10)

Los individuos son seleccionados proporcionalmente a la función objetivo y cada individuo tiene una probabilidad de ser seleccionado como el individuo a reproducirse, esto se muestra en la expresión (11) y (12) [9, 14, 20].

pop

ii

F

fw =

(11)

f1

f2

f3

f4

f5

fi

w k

w 10L 1

L 2

Fig. 1 Selección por ruleta.

wp

∑−

=

+=1

0

p

k

pkp wwL (12)

El operador de cruce se aplica con una probabilidad pc sobre los individuos seleccionados previamente, algunas de las cadenas se cruzan con otras, de forma tal que la cadena resultante ya no sería representante de la cadena original.

1 0 1 1 1 0 0 1 0 1

0 1 0 1 0 1 1 1 1 1

Padre 1 Hijo Padre 2

La mutación, es un operador que se aplica con probabilidad pm y que tiene el efecto de invertir un bit utilizando una probabilidad de mutación del bit l-1, siendo l la longitud de la cadena del cromosoma.

La función a evaluar se diseña mediante el objetivo principal que es la posición y orientación de herramienta en (13) y (14), localizado en el punto final del manipulador y calculando su error con la distancia Euclidiana [25, 26], tomando en cuenta los vectores normal n, deslizamiento s, aproximación a y posición p, los cuales son parte de la función objetivo para la orientación.

1 0 0 1 1 0 1 1 1 1

1 1 1 1 1 1 1 1 0 1

Page 6: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1399 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

[ ]3191 ××

= finalfinalfinal PRP (13)

[ ]3191 ××

= iii PRP (14)

[ ]( )212

1121121∑

=××

=j

ifinali PPerror

(15)

ierrorie

f1=

(16)

La función objetivo tiene una estructura particular del problema, donde el error es la distancia euclidiana entre dos puntos, el punto de la configuración inicial y el punto final, cuando la distancia se reduce, el error tiende a cero. Se pretende optimizar mediante el máximo conteo de la función objetivo, para evitar un problema de singularidad se modifica la función objetivo a través de una función exponencial inversa, así la función crece de manera normalizada mientras el error de distancia se reduce. Aplica de igual manera para la orientación, ya que la diferencia entre los valores de la orientación actual con la orientación deseada debe ser cero. CASO I: Se analiza la generación de trayectoria de un manipulador plano de dos grados de libertad, aplicando un algoritmo genético con los parámetros de la tabla 1.

Tabla 1. Inicialización de parámetros para el caso I.

Manipulador Robótico Plano de dos grados de libertad L1 50 mm

Longitud de eslabones L2 30 mm

Configuración inicial Ci [90 0] θ° Posición final Pf [20 -30] (x,y) mm Número de individuos ni 200 individuo Probabilidad de cruce Prbc 0.9 Proporcional Probabilidad de mutación Prbm 0.15 Un punto Precisión p 6 Dígito Número máximo de generaciones gen 1000 Generación Dominio de la variable ∆θi [-5 5] θ°

Page 7: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1400 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

Fig. 2 Trayectoria del manipulador plano de 2 grados de libertad. Los resultados obtenidos se muestran en figura 2, observándose la secuencia de movimientos de los eslabones hacia el punto objetivo reduciéndose la distancia Euclidiana en función de error y el máximo fitness alcanzado. La tabla 2 muestra el resultado del algoritmo genético en su convergencia.

Tabla 2. Resultados del GA en la generación de trayectoria.

CASO II: Se analiza la generación de trayectoria de un manipulador plano de diez grados de libertad, aplicando un algoritmo genético con los parámetros de la tabla 3.

Tabla 3. Inicialización de parámetros para el caso II. Manipulador Robótico Plano de diez grados de libertad

L1 … 30 mm Longitud de eslabones

L10 30 mm Configuración inicial Ci [90 0 0 0 0 0 0 0 0 0] θ° Posición final Pf [20 -30] (x,y) mm Número de individuos ni 200 individuo Probabilidad de cruce Prbc 0.9 Proporcional Probabilidad de mutación Prbm 0.15 Un punto Precisión p 6 Dígito Número máximo de generaciones gen 1000 Generación Dominio de la variable ∆θi [-5 5] θ°

Fig.3 Trayectoria del manipulador plano de 10 grados de libertad.

Los resultados obtenidos se muestran en figura 3, observándose la secuencia de movimientos de los eslabones hacia el punto objetivo reduciéndose la distancia Euclidiana en función de error y el máximo fitness alcanzado. La tabla 4 muestra el resultado del algoritmo genético en su convergencia.

Tabla 4. Resultados del GA en la generación de trayectoria.

Generaciones error fitness tiempo

40 0.007674 mm 0.992355 0.9361 s

Generaciones error fitness tiempo

19 0.005452 mm 0.994562 0.8260 s

Page 8: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1401 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

CASO III: Se analiza la generación de trayectoria de un manipulador de tres grados de libertad, aplicando un algoritmo genético con los parámetros de la tabla 5.

Tabla 5. Inicialización de parámetros para el caso III. Manipulador Robótico tres grados de libertad

d1 40 mm L2 70 mm Longitud de eslabones L3 50 mm

Configuración inicial Ci [0 0 0] θ° Posición final Pf [-50 100 40] (x,y) mm Número de individuos ni 500 individuo Probabilidad de cruce Prbc 1 Proporcional Probabilidad de mutación Prbm 0.2 Un punto Precisión p 6 Dígito Número máximo de generaciones gen 1000 Generación Dominio de la variable ∆θi [-3 3] θ°

Fig.4 Trayectoria del manipulador de 3 grados de libertad.

Los resultados obtenidos se muestran en figura 4, observándose la secuencia de movimientos de los eslabones hacia el punto objetivo de manera libre, reduciéndose la distancia Euclidiana en función de error y el máximo fitness alcanzado. La tabla 6 muestra el resultado del algoritmo genético en su convergencia.

Tabla 6. Resultados del GA en la generación de trayectoria.

CASO III.I: Se analiza la generación de trayectoria de un manipulador de tres grados de libertad, aplicando un algoritmo genético en seguimiento de una trayectoria recta en el espacio con los parámetros de la tabla 7.

Tabla 7. Inicialización de parámetros para el caso III.I. Manipulador Robótico tres grados de libertad

d1 40 mm L2 70 mm Longitud de eslabones L3 50 mm

Configuración inicial Ci [0 0 0] θ° Posición final Pf [0 100 0] (x,y) mm Número de individuos ni 500 individuo

Generaciones error fitness tiempo

41 0.013115 mm 0.986970 0.3732 s

Page 9: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1402 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

Probabilidad de cruce Prbc 1 Proporcional Probabilidad de mutación Prbm 0.2 Un punto Precisión p 4 Dígito Número máximo de generaciones gen 1000 Generación Dominio de la variable ∆θi [-3 3] θ°

Fig.5 Trayectoria del manipulador de 3 grados de libertad.

Los resultados obtenidos se muestran en figura 5, observándose la secuencia de movimientos de los eslabones hacia el punto objetivo de manera condicional a seguir una trayectoria recta en el espacio, reduciéndose la distancia Euclidiana en función de error y el máximo fitness alcanzado. La tabla 8 muestra el resultado del algoritmo genético en su convergencia.

Tabla 8. Resultados del GA en la generación de trayectoria.

CASO IV: Se analiza la generación de trayectoria de un manipulador de seis grados de libertad, aplicando un algoritmo genético con los parámetros de la tabla 9.

Tabla 9. Inicialización de parámetros para el caso IV. Manipulador Robótico seis grados de libertad

θi , αi °

Parámetros D-H

i θi αi ai di 1 0 -90 0 60 2 0 0 50 0 3 -90 -90 0 0 4 0 0 0 40 5 0 -90 0 0 6 0 0 0 20

ai , di mm

Configuración inicial Ci [0 0 -90 0 0] θ° Posición final Pf [30 20 -10] (x,y,z) mm Orientación final Of [0 0 1 0 -1 0 1 0 0] [nx ny nz sx sy sz ax ay az ] Número de individuos ni 500 individuo Probabilidad de cruce Prbc 1 Proporcional Probabilidad de mutación Prbm 0.2 Un punto Precisión p 4 Dígito

Generaciones error fitness tiempo

24 0.009353 mm 0.99069 1.50856s

Page 10: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1403 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

Número máximo de generaciones gen 1000 Generación Dominio de la variable ∆θi [-3 3] θ°

Fig.6 Trayectoria del manipulador de 6 grados de libertad.

Los resultados obtenidos se muestran en figura 6, observándose la secuencia de movimientos de los eslabones hacia la posición orientación objetivo se muestran en la tabla 9.

Tabla 9. Resultados del GA en la generación de trayectoria.

Con los valores obtenidos de evalúan en la matriz homogénea que describe el movimiento del robot con

respecto al sistema de coordenadas de la base 0T6.

=

1000

1439949.99903982-55718100.00063660-9105939520.0019150236963610.99999796

07635420.0006121824607930.0309978848038050.99951765-583000240.00189437

39265229.984314436963610.999997961450.0036638503663851450.00069566

60T

CONCLUSIONES

Generaciones error fitness tiempo 306 0.04666 mm 0.95440727 34.738 s

Page 11: GENERACIÓN DE TRAYECTORIAS PARA ...somim.org.mx/memorias/memorias2008/articulos/A6/A6_281.pdfcontrol de sus parámetros, alcanzar una solución satisfactoria en los resultados y en

MEMORIAS DEL 14 CONGRESO INTERNACIONAL ANUAL DE LA SOMIM 17 al 19 DE SEPTIEMBRE, 2008 PUEBLA, MÉXICO

1404 ISBN 978-968-9773-03-8 Derechos Reservados © 2008, SOMIM

Se puede observar claramente que el generar trayectorias con la implementación del algoritmo genético es muy ventajoso, cuando se tratan de manipuladores robóticos planos, ya que su descripción matemática es sencilla y no presenta dificultad alguna para el algoritmo, sin embargo cuando el manipulador esta en el espacio euclidiano su complejidad es otra. El tener un manipulador que se mueve en el espacio y además con un orientación con respecto a un sistema de coordenada de referencia presenta dos complicaciones, la primera no se puede considerar como un algoritmo que utilice el diseño de un función mono objetivo, debido a dos problemas inherentes de resolver, la posición y orientación respectivamente, aun más, la orientación está representada por tres componentes de tres vectores unitarios que hacen referencia al vector normal, el vector de deslizamiento y el vector de aproximación, en conjunto tienen la composición de 12 funciones independientes y este es un problema multi-objetivo, Sin embargo el problema puede resolverse con un sola función con el inconveniente del coste computacional requerido y el posible espacio de soluciones no alcanzadas. El desempeño del algoritmo es bueno mientras la población no es grande y la probabilidad de mutación es pequeña. RECONOCIMIENTOS Los autores desean agradecer el apoyo brindado por el CONACYT y el IPN, lo que ha hecho posible la realización del presente trabajo. REFERENCIAS [ 1 ] De Jong, K.A., Genetic Algorithms are NOT Function Optimizers. In L. Darell Whitley, Editor, Fundations of Genetics

Algorithms 2, Morgan Kaufmann Publishers, San Mateo California, 1993: p. 5-17. [ 2 ] Hincapié-Isaza, R.A., C.A. Ríos-Porras, & R.A. Gallego-R, Técnicas Heurísticas Aplicadas al Problema del Cartero Viajero

(TSP). Scientia et Technica, 2004. 24. [ 3 ] Darwin, C.R., On the Origen of Species by Means of Natural Selection On the Preservation of Favoured Races in the Struggle for

Life. Cambridge University Press, Cambridge, UK, Originally published in 1859, 1964. [ 4 ] Holland, J.H., Concerning Efficient Adaptive Systems. In M. C. Yovits, G. T. Jacobi, and G. D. Goldstein, editors, Self-Organizing

Systems, Spartan Books, Washington, D.C., 1962: p. 215-130. [ 5 ] Holland, J.H., Outline for a Logical Theory of Adaptive Systems. Journal of the Association for Computing Machinery, 1962. 9: p.

297-314. [ 6 ] Günter, R., Convergence Analysis of Canonical Genetic Algorithms. IEEE, Transactions on Neural Networks, 1994. 5: p. 96-101. [ 7 ] Goldberg, D.E., Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Publishing Co. Reading,

Massachusetts, 1989. [ 8 ] Bill, P.B. & E.P. Frederick, Genetic Algorithms. Technology Series. IEEE Computer Society Press, 1992. [ 9 ] Davidor, Y., Genetic Algorithms and robotics: a heuristic strategy for optimization. World Scientific Series in Robotics and

Automated System, 1991. 1: p. 55-60. [ 10 ] Giraldo, L.F., E. Delgado, & G. Castellanos, Cinemática Inversa de un Brazo Robot Utilizando Algoritmos Genéticos. Avances

en Sistemas e Informática, Medellín,, 2006. 3(1): p. 29–34. [ 11 ] Andreas, C.N. & A.A. Nikos, A Genetic Path Planning Algorithm for Redundant Articulated Robots. Robotica, Cambridge

University Press, 1997. 15: p. 213-224. [ 12 ] Tian, L. & C. Collins, An Effective Robot Trajectory Planning Method Using a Genetic Algorithm. Elsevier, Mechatronics, 2004.

14: p. 455-470. [ 13 ] Gill, M.A.C. & A.Y. Zomaya, Obstacle Avoidance in Multi-Robot Systems. World Scientific, 1998. [ 14 ] Merchán-Cruz, E.A. & A.S. Morris, GA Based Trajectory Planner for Robot Manipulatord Sharing a Common Workspace.

Proceeding of the IASTED International Conference APPLIED SIMULATION AND MODELLING, Rodhes, Greece, 2004. 96-101.

[ 15 ] Denavit, J. & R. Hartenberg, A Kinematic Notation for Lower-Pair Mechanisms on Matrices. ASME Journal of Applied Mechanics, 1955: p. 215–221.

[ 16 ] Spong, M.W. & M. Vidyasagar, Robot Dynamics and Control. John Wiley & Sons, E.E.U.U., 1989. [ 17 ] Fu, K.S., R.C. González, & C.S.G. Lee, Robotics: "Control, Sensing, Vision and intelligence". McGraw-Hill, New York, 1990. [ 18 ] Merchán-Cruz, E.A., Metodología para la Generación de Trayectorias de Manipuladores Robótcos, su Cinemática y su

Dinámica. Instituto Politécnico Nacional. México, D.F., 2000. [ 19 ] González, F.A. & P.J. Barrero, Algoritmos Genéticos Aplicados al Planeamiento de Trayectorias de Robots Móviles. Grupo

CEMOS, Universidad Industrial de Santander, 2006. [ 20 ] Merchán-Cruz, E.A., Soft-Computing Techniques in the Trajectory Planning of Multi-Robot Manipulators Systems (Part I).

Científica, Instituto Politécnico Nacional, Escuela Superior de Ingeniería Mecánica y Eléctrica, 2005. 9(4): p. 197-208. [ 21 ] Coello, C.C.A., Introducción a la Computación (Notas de Curso). CINVESTAV-IPN, Departamento de Computación, 2007. [ 22 ] Koza, J.R., Genetic Programming. On the Programming of Computers by Means of Natural Selection. The MIT Press, 1992. 819. [ 23 ] Tian, L. & C. Collins, Motion Planning for Redundant Manipulators Using a Floating Point Genetic Algorithm. Journal of

Intelligent and Robotic Systems, 2003. 38: p. 297-312. [ 24 ] Michalewicz, Z., Genetic Algorithms + Data Atructure = Evolution Programs. springer, 1999. [ 25 ] Atef, A.A., F.F. Waleed, & Y.S.a. Mohammad, Optimal Trajectory Selection for a Three DOF Manipulator with Minimum

Energy Consumption. International Journal of Applied Engineering Research, 2007. 2(1): p. 45-63. [ 26 ] Yue, S.G., et al., Trajectory Planning in Joint Space for Flexible Robots with Kinematics Redundancy. The IASTED International

Conference Modelling, Identification and Control., 2001.