Está en la página 1de 40

SDMAG

SNTESIS DIMENSIONAL DE MECANISMOS MEDIANTE ALGORITMO GENTICO


MEMORIA DEL PFC
Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

NDICE
1. INTRODUCCIN
1.1
1.2
1.3

SNTESIS DIMENSIONAL DE MECANISMOS . . . . . .


OPTIMIZACIN. MTODOS HEURSTICOS . . . . . .
EL ALGORITMO GENTICO . . . . . . . . . . . . . .

Pg.
3
4
5

2. TRABAJO PREVIO
2.1
2.2

MTODOS COMPUTACIONALES . . . . . . . . . . . .
COMPUTACIN EVOLUTIVA . . . . . . . . . . . . . .

8
9

3. FORMULACIN DEL PROBLEMA


3.1
3.2

OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . 11
DESARROLLO DEL AG APLICADO . . . . . . . . . . . 12

4. METODOLOGA EMPLEADA
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9

COORDENADAS NATURALES . . . . . . . . . . . . .
TIPOS DE BARRA Y ECUACIONES DE RESTRICCIN .
CODIFICACIN . . . . . . . . . . . . . . . . . . . .
MONTAJE DE LAS ECUACIONES DE RESTRICCIN . .
EL PROBLEMA DE ENSAMBLAJE . . . . . . . . . . .
CORRELACIN TEMPORAL Y REAJUSTE . . . . . . . .
DIMENSIONES DEPENDIENTES . . . . . . . . . . . .
ANLISIS FINO. . . . . . . . . . . . . . . . . . . .
REDONDEO DE LAS DIMENSIONES FINALES . . . . .

15
16
19
21
22
23
24
24
25

5. SDMAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6. RESULTADOS Y CONCLUSIONES
6.1
6.2
6.3
6.4

EJEMPLO 1 . . .
EJEMPLO 2 . . .
EJEMPLO 3 . . .
CONCLUSIONES.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

28
31
35
37

7. PLANTEAMIENTOS FUTUROS . . . . . . . . . . . . . . . . . 39
8. REFERENCIAS. . . . . . . . . . . . . . . . . . . . . . . . . 40

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

1. INTRODUCCIN
1.1. SNTESIS DIMENSIONAL DE MECANISMOS
El inters por la Cinemtica o Ciencia del Movimiento tiene su origen en mquinas tan antiguas
como la civilizacin humana. Sin embargo, el inters por el estudio de los mecanismos tiene su
mayor impulso en el siglo XVIII, tras la invencin de la mquina de vapor y comienzo de la Era
Industrial.
Si bien, al principio, los mecanismos eran fabricados y estudiados de manera particular e
individualizada, pronto se vio la necesidad de sistematizar su desarrollo. As surgieron mtodos
generales de anlisis geomtrico y de clasificacin de diversos tipos de mecanismos. Muchas de
esas ideas forman la parte fundamental de la moderna teora cinemtica de hoy. No obstante, la
sntesis cinemtica sigue siendo, en la actualidad, un reto importante.
Tanto es as, que, frente al gran desarrollo experimentado en el anlisis de mecanismos, no se
tiene an ningn mtodo racional y sistemtico para la sntesis. Apenas existen unos pocos
mtodos analticos de sntesis para algunos casos particulares. Otros estudios se han centrado
en algo menos prctico, pero necesario como punto de partida: demostrar la existencia de
ciertos tipos de mecanismos capaces de desarrollar ciertas tareas.
Encontrar el tipo de mecanismo que mejor realiza una tarea determinada es el objetivo de la
Sntesis de Tipo. Materializar el mismo, dando para ello sus dimensiones, es tarea de la Sntesis
Dimensional. La primera de ellas, se alimenta en gran medida de la experiencia y creatividad del
diseador. La segunda requiere de la anterior y del clculo matemtico para dar resultados. Es
en el clculo donde se encuentra la mayor traba. Si bien algunos casos sencillos pueden
resolverse mediante unas pocas ecuaciones [1] o haciendo uso de mtodos grficos [2], un
problema ms complejo se convierte en algo casi inabordable.
Recientemente, y tras el fantstico desarrollo de la computacin, el diseador encuentra la
ayuda necesaria para afrontar el reto de disear mecanismos ms complejos, o de agilizar el
desarrollo de otros ms sencillos bajo la fuerte exigencia que el mercado le demanda. Surge as
la aplicacin de mtodos de optimizacin a la Sntesis Dimensional.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

1.2. OPTIMIZACIN. MTODOS HEURSTICOS


Se han venido usando tcnicas analticas y grficas para el problema de la sntesis
dimensional de mecanismos (Freudenstein [3], 1955; Suh y Radcliffe [4], 1978; Erdman y
Sandor [5], 1991). El uso de mtodos grficos se ha limitado a problemas sencillos, mientras
que los mtodos analticos recurren a expresiones algebraicas que requieren una resolucin
compleja.
En general, la sntesis dimensional es un problema complicado, al ser multidimensional, no
lineal y tener, en algunos casos, un espacio solucin discontinuo. Cuando se plantea su
resolucin numrica, sta se convierte en un problema de optimizacin con una funcin
objetivo multimodal (posee ms de un ptimo dentro del espacio solucin). Debido a estas
caractersticas, se hacen recomendables mtodos heursticos (de bsqueda).
Los mtodos heursticos se pueden dividir en mtodos de bsqueda directa y mtodos de
bsqueda basada en el gradiente de la funcin objetivo. En los primeros, se propone una
posible solucin factible y se va perturbando ligeramente hasta que se obtiene una mejor
solucin. En los basados en el gradiente, el valor de ste es encontrado mediante tcnicas de
diferencias finitas. Estos mtodos arrojan buenos resultados, pero emplean un gran tiempo
computacional. Ambos son deterministas y encuentran una solucin concreta dentro del
espacio de las soluciones factibles.
Una alternativa a los mtodos deterministas son los mtodos probabilsticos, que van
evaluando soluciones, aceptando incluso algunas relativamente malas en funcin de una cierta
probabilidad. Tambin se conocen como mtodos de escalada, por tener la capacidad de ir
escapando de ptimos locales hasta alcanzar un ptimo global. Pertenecen a este grupo el
Recocido Simulado (Kirkpatrick et al. [6], 1983) y el Algoritmo Gentico (Holland [7], 1975).
El origen del Recocido Simulado (del ingls, Simulated Annealing) est en la Fsica Estadstica.
Los procedimientos fsicos de solidificacin controlada consisten en calentar un slido hasta
que se funde, y seguidamente, ir enfrindolo de forma que cristalice en una estructura perfecta,
sin malformaciones locales.
En el Recocido Simulado se parte de una solucin vlida a la que se le provocan pequeas
mutaciones aleatorias. A medida que avanza el algoritmo, ste cada vez ser ms exigente en
cuanto a las soluciones aceptadas. En la analoga con la solidificacin fsica, se trata de tener
un cuerpo (problema) a alta temperatura (admitiendo soluciones muy diversas a pesar de
ofrecer malos resultados) e ir disminuyendo la temperatura (aumentando la exigencia del
algoritmo) de forma que termine por solidificarse segn la forma deseada (ofreciendo el mejor
resultado).

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

1.3. EL ALGORITMO GENTICO


Es un algoritmo de bsqueda probabilstica, basado en la mecnica de la gentica y la
evolucin natural. Un algoritmo gentico puede resolver problemas que an no estn
completamente caracterizados o son demasiado complejos para permitir una completa
caracterizacin. Es decir, problemas para los cuales no necesariamente conocemos cmo llegar
a una buena solucin, pero s podemos evaluar por alguna medida cuantificable el valor relativo
de una solucin (o al menos el valor relativo de una posible solucin respecto a otra).
El concepto bsico de un AG es la codificacin de una solucin posible como una serie de
parmetros. Tal conjunto de valores, es tratado como el genoma o material gentico de una
solucin individual. Se crea al azar una poblacin (conjunto de soluciones candidatas). Los
elementos de dicha poblacin evolucionan, generacin tras generacin, bajo el principio de
supervivencia del ms apto. Los mecanismos de interrelacin entre los individuos son el cruce y
la mutacin.
El AG explota eficientemente la informacin histrica para especular sobre nuevos puntos de
bsqueda del ptimo. Adems no est limitado por suposiciones restrictivas acerca del espacio
de bsqueda (suposiciones acerca de continuidad, existencia de derivadas, unimodalidad de la
funcin objetivo, etc.).
Los aspectos fundamentales que caracterizan a un AG respecto a otros mtodos de bsqueda
se listan a continuacin:
-Trabaja con la codificacin del conjunto de parmetros, no con los parmetros.
-La bsqueda se realiza a partir de un conjunto de soluciones, no a partir de una solucin.
-Se sirven de la funcin objetivo, no de sus derivadas u otro conocimiento adicional.
-Sus reglas de transicin son probabilsticas, no deterministas.
La principal aptitud de los algoritmos genticos es el paralelismo en la bsqueda. Mientras que
otros mtodos buscan una solucin, el AG busca simultneamente muchas soluciones, tantas
como soluciones factibles evolucionen dentro de la poblacin considerada. Esta es la manera en
la que explora el espacio de bsqueda, pasando por varios ptimos locales. La eficiencia con la
que se explote esta cualidad del AG ser la que determine la eficacia del mismo.
Los siguientes aspectos son fundamentales a la hora de comprender el funcionamiento de un
algoritmo gentico:
Codificacin del Dominio: para un algoritmo gentico lo primero que se requiere es
determinar en qu espacio se encuentran las posibles soluciones al problema que se pretende
resolver. Seguidamente, habr que determinar cmo se forma el cdigo gentico de los
individuos de la poblacin, as como su codificacin. As habr codificaciones binarias (los
cromosomas sern 0s y 1s, nmeros reales, etc.). En definitiva, ser necesario establecer un
alfabeto de codificacin de los posibles valores cromosmicos, que al combinarse
ordenadamente, formen la informacin gentica del individuo.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Evaluacin de la Poblacin: en la naturaleza hay individuos ms hbiles que otros para


sobrevivir. El grado de adaptacin (o fitness) informa de la aptitud de un individuo en el
contexto de la poblacin en la que se halla. La medida del fitness es tarea de la funcin de
evaluacin particular de cada problema de optimizacin. Encontrar dicha funcin y el modo de
evaluarla implican un cierto conocimiento del problema a tratar. Su evaluacin puede no ser
sencilla (puede incluso cambiar en cada generacin) y es, de hecho, lo que en la mayora de los
casos consume ms tiempo en la ejecucin de un algoritmo gentico.
Seleccin: una vez calificados todos los individuos de una generacin, el algoritmo debe, al
igual que lo hace la naturaleza, seleccionar a los individuos mejor calificados, mejor adaptados
al medio. De cmo se realice la seleccin, depender del tipo de AG que estemos considerando.
Algunos de los tipos ms comunes son:
-AGS: AG Simple, en el que los individuos son seleccionados con probabilidad proporcional a
su calificacin.
-AGE: AG Elitista. Cierto nmero de los mejores individuos es mantenido en la poblacin.
-AG de Seleccin Determinista: Se intenta enfatizar la variedad gentica reforzando el
cruzamiento entre individuos predefinidos. La estrategia particular de cruce determina el
modelo. As se tienen por ejemplo, los modelos de Nietzsche y de Vasconcelos [8]
En cualquier caso, se debe cuidar la seleccin para no caer en una convergencia prematura del
algoritmo.
Cruzamiento: en la naturaleza el cdigo gentico de los padres de un individuo se mezcla para
producir gametos, cuyo contenido gentico es hbrido, es decir, una mezcla. De esta manera es
posible que un individuo legue a sus descendientes las caractersticas mezcladas de sus propios
padres. Dentro del algoritmo, si estas caractersticas heredadas le confirieron a sus ancestros
una alta aptitud de supervivencia, entonces este individuo ser, con alta probabilidad, un
individuo exitoso en su poblacin. En un AG, el cruzamiento slo es una forma de intercambiar
la informacin contenida en los cromosomas de los individuos a hibridar. Dependiendo del
modo de efectuar dicho intercambio se hablar de cruzamiento en un punto, en dos puntos y de
cruzamiento uniforme.
Mutacin: Algunas veces, muy pocas de hecho, la ADN-polimerasa (la enzima encargada de
replicar el cdigo gentico), se equivoca y produce una mutacin, una alteracin accidental en
el cdigo gentico de los seres vivos. En un AG, el proceso de mutacin es necesario para
generar nuevos individuos, que exploren regiones del dominio del problema que
probablemente no se han visitado an.
Una vez conocidos algunos aspectos comunes de todo AG, puede concluirse que el problema a
resolver slo determina la funcin de evaluacin y la manera de codificar las soluciones posibles
(la semntica de los cdigos genticos de los individuos). El resto de los subprocesos que
constituyen el algoritmo son independientes y universalmente aplicables.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Para fijar conceptos, se expone a continuacin el esquema del Algoritmo Gentico Simple
(AGS) propuesto por Holland [7] y retomado posteriormente por Goldberg [9]. Se ha supuesto,
por sencillez un alfabeto binario para los cromosomas:
1. Decidir cmo codificar el dominio del problema.
2. Generar un conjunto aleatorio (poblacin inicial) de N posibles soluciones codificadas
del problema. A sta se le llamar la poblacin actual.
3. Calificar cada posible solucin (individuo) de la poblacin actual.
4. Seleccionar dos individuos de la poblacin actual con una probabilidad proporcional a su
calificacin.
5. Lanzar una moneda al aire (con probabilidad Pc cae cara).
6. Si cay cara, mezclar los cdigos de los dos individuos seleccionados para formar dos
hbridos, a los que llamaremos nuevos individuos.
7. Si cay cruz, llamamos a los individuos seleccionados nuevos individuos.
8. Por cada bit de cada nuevo individuo lanzar otra moneda al aire (con probabilidad Pm
cae cara).
9. Si cae cara, cambiar el bit correspondiente por su complemento.
10. Si cae cruz, el bit permanece inalterado.
11. Incluir a los dos nuevos individuos en la poblacin futura.
12. Si la poblacin futura tiene ya N individuos, llamarla poblacin actual y regresar al paso
3, a menos que se cumpla alguna condicin de terminacin.
13. Si no, regresar al paso 4.
El trmino lanzar una moneda al aire se usa para nombrar un experimento de Bernoulli
(aquel en el que pueden ocurrir exclusivamente dos eventos: uno con probabilidad p y otro con
probabilidad 1-p). Es decir, el lanzamiento de una moneda extraa en la que no necesariamente
ambas caras son equiprobables.
Al tipo de seleccin proporcional usado en el paso 4 se le conoce tambin como mtodo de
seleccin por ruleta. Se suman las calificaciones de todos los individuos de la poblacin y se
hace corresponder la longitud de la circunferencia a dicha suma. Luego se asignan longitudes
parciales en funcin de cada calificacin individual. De esta forma al girar dicha ruleta
imaginaria, la lengeta se parar con mayor probabilidad en las zonas correspondientes a los
individuos ms aptos.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

2. TRABAJO PREVIO
2.1 MTODOS COMPUTACIONALES
Existe una gran variedad de mtodos de optimizacin que, implementados
computacionalmente, permiten resolver infinidad de problemas de ingeniera. Para cada caso
se han propuesto varios mtodos y cada mtodo se ha usado para resolver ms de un problema.
La idoneidad de un mtodo de optimizacin aplicado a algn tipo de problema, es a menudo
contestable, viniendo a ser el diseador el que subjetivamente, se decante por uno u otro de los
que se le ofrecen.
Frente a los mtodos tradicionales de optimizacin se vienen estudiando recientemente los
llamados Bio-inspirados, por nacer del estudio de la naturaleza. En stos trata de crearse un
sistema matemtico que copie, en cierta medida, los mecanismos presentes en la naturaleza.
As surgen varios mtodos:
Mtodo
Redes Neuronales (RN)
Algoritmos Genticos (AG)
Lgica Difusa o Fuzzy Logic (FL)
Sistemas Expertos (SE)

Inspiracin
Neuronas biolgicas
Evolucin Natural
Proceso Lingstico
Mecanismos de Inferencia

En lo referente a la Sntesis Dimensional de Mecanismos se han usado con xito RN y AG, no


disponindose de ninguna informacin relativa a trabajos realizados usando FL y SE.
Los trabajos realizados con RN se han encaminado a aprovechar la capacidad de interpolacin
de una red neuronal. Se han aplicado al tipo Sntesis de Trayectoria. Para ello se ha entrenado
una RN para un mecanismo concreto (4 barras), usando una batera apropiada de casos
resueltos. La red obtenida se usa posteriormente de manera inversa. As, se le suministra la
curva deseada y sta encuentra las relaciones que deben tener las dimensiones del mecanismo
que mejor describe la trayectoria prescrita. Se usan Descriptores de Fourier para extraer la
informacin de la trayectoria (que debe ser cerrada). Para ms informacin consltese [10].
En cuanto al uso de AG aplicados al problema que nos ocupa aqu, los trabajos conocidos se
han centrado en el estudio del mecanismo de 4 barras. Se han propuesto tcnicas de Evolucin
Diferencial (ED), que introducen mtodos de seleccin ms novedosos que los de los AG
tradicionales. Los trabajos previos realizados mediante la aplicacin de estas tcnicas
evolutivas (AG y ED) se detallan con mayor profusin en el siguiente apartado.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

2.2 COMPUTACIN EVOLUTIVA


Se resean aqu algunos trabajos basados en algoritmos de inspiracin evolutiva, como son
los Algoritmos Genticos y la Evolucin Diferencial, introducida por Storn y Price [11].
J. A. Cabrera, A. Simn y M. Prado, del Departamento de Ingeniera Mecnica de la
Universidad de Mlaga [12], completaron un proyecto de implementacin de un AG aplicado a
la Sntesis ptima de Mecanismos. Los autores estudiaron el caso de sntesis de trayectoria para
el cuadriltero articulado mostrado en la figura, donde C es el punto trazador:

Y
C
rcy
rcx

x1

r2

r3

r1

r4

y1
X
Para ello, usaron los 9 valores cromosmicos mostrados (x1, y1, 1, r1, r2, r3, r4, rcx, rcy),
codificados como nmeros reales. Para la mayora de los ejemplos ilustrados, se us una
poblacin de 100 individuos. Se utiliz una estrategia de evolucin diferencial como medio de
seleccin y cruzamiento. Cada nuevo individuo propuesto (V) se calcul de la forma:
V = Xbest + F(Xr1 Xr2)
donde Xbest es el mejor individuo, Xr1 y Xr2 dos individuos elegidos al azar y F un nmero real entre
0.4 y 0.6 que controla la perturbacin introducida. El nuevo individuo se acepta si resulta ser
mejor que los individuos que lo generaron.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

La mutacin se realiza barriendo toda la poblacin y eligiendo cromosomas a mutar en funcin


de una cierta probabilidad especificada. El nuevo cromosoma mutado es el resultado de sumar o
restar una cantidad aleatoriamente elegida dentro del rango de variacin correspondiente a
dicho cromosoma.
Basndose en el trabajo iniciado por J. A. Cabrera, A. Simn y M. Prado, se implementan sus
resultados en un programa informtico desarrollado dentro de su mismo departamento. Se
trata del programa WinMecC* (uso bajo licencia remunerada), que en su versin 4.0 inclua un
mdulo para la sntesis de generacin de trayectorias y funciones. Los responsables del
mencionado programa son F. Nadal, A. Bataller y A. Simn.
Otros trabajos se han centrado en problemas ms especficos de sntesis, como el realizado
por Kerr-Jia Lu y Sridhar Kota, del Departamento de Ingeniera Mecnica de la Universidad de
Mchigan. Bajo el ttulo Compliant Mechanism Synthesis for Shape-Change Applications, sus
autores han planteado la sntesis de estructuras deformables adaptativas. Ms concretamente
buscaron optimizar el perfil de las alas de un avin para minimizar el consumo de combustible,
conjugando el uso de estrategias evolutivas junto con otras tcnicas diversas.

(*) WinMecC es un programa de simulacin de mecanismos planos con un grado de libertad, que ha sido desarrollado por el rea de Ingeniera
Mecnica de la Universidad de Mlaga con las ltimas herramientas de programacin orientadas a objetos y con un objetivo fundamentalmente
docente. La aplicacin realiza el anlisis cinemtico y dinmico de mecanismos planos con cualquier nmero de eslabones. La versin actual
(4.3) no incluye el mdulo de sntesis mencionado.

Memoria del PFC - Jos Hidalgo Daz

10

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

3. FORMULACIN DEL PROBLEMA


3.1. OBJETIVOS
Se quiere utilizar un algoritmo gentico para la sntesis dimensional ptima de mecanismos
planos de un grado de libertad con cualquier nmero de barras y que cumplan ciertos objetivos.
Ms concretamente, se busca conseguir los siguientes tipos de sntesis:
-Generacin de Trayectoria
-Generacin de Movimiento
-Generacin de Funcin
Se describen a continuacin la definicin de los tres problemas anteriores:
Generacin de Trayectoria: se busca que un punto del mecanismo describa una trayectoria lo
ms prxima posible a la deseada, siendo definida sta a travs de una serie de puntos de
precisin asociados a otras tantas posiciones de la barra motora.
Generacin de Movimiento: se quiere que un punto del mecanismo describa una trayectoria lo
ms prxima posible a la deseada. Adems se pretende que el elemento al que pertenece el
mencionado punto, mantenga unas orientaciones concretas. Se deben especificar los puntos de
la trayectoria y las rotaciones requeridas a travs de una serie de puntos de precisin asociados
a otras tantas posiciones de la barra motora.
Generacin de Funcin: se desea que la barra de salida del mecanismo alcance una serie de
posiciones especificadas para otras tantas posiciones prescritas para la barra motora.
Se pretende implementar lo anterior mediante una aplicacin informtica multiplataforma.
sta partir de unos datos de entrada (topologa del mecanismo a sintetizar y tarea prescrita,
bsicamente) y mediante un AG ser capaz de encontrar el mecanismo sintetizado. Como
resultado, el programa dar las dimensiones del mecanismo solucin, la aptitud del mismo y la
desviacin de la tarea desarrollada por ste respecto a la originalmente prescrita.

Memoria del PFC - Jos Hidalgo Daz

11

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

3.2. DESARROLLO DEL AG APLICADO


Se va a utilizar un algoritmo gentico simple con elitismo parcial. El diagrama bsico de flujo
para el mismo se muestra a continuacin:

POBLACIN INICIAL

ELITISMO

EVALUACIN
CRITERIO
DE PARO

FIN

CRUCE Y MUTACIN

POBLACIN FUTURA
Conocida la topologa del mecanismo podemos caracterizar a ste mediante sus dimensiones
caractersticas (xi). Sea Dim la cantidad total de las mismas. De esta forma es posible
representar un mecanismo concreto mediante un vector formado por sus dimensiones:
X = {x1, x2, ..., xDim}
Del total de dimensiones del mecanismo (Dim) puede haber algunas cuyos valores sean
conocidos, y por tanto no deberan ser considerados al construir un conjunto de soluciones
factibles. Por contra, habr otras cuyos valores sern precisamente los que queremos optimizar
mediante el proceso evolutivo. Sea Evol (EvolDim) el total de dichas dimensiones, a las cuales
llamaremos dimensiones evolutivas.
Definimos unos rangos de variacin (Ri) para cada una de las variables evolutivas,
obtenindose as un subespacio de bsqueda apropiado para el problema:
Ri = {mni, mxi}, 1<i<Evol
A continuacin se genera una poblacin inicial de N mecanismos de forma aleatoria. Para ello
se eligen al azar los valores de cada dimensin evolutiva dentro de sus rangos establecidos.

Memoria del PFC - Jos Hidalgo Daz

12

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

La poblacin inicial (j=0) estar constituida por N vectores de dimensin Evol cada uno:
MecActij=0 = {c1i, c2i, ..., cEvoli},donde 1<i<N, mnk<ck i<mxk, 1<k<Evol
Llamamos poblacin actual a dicha poblacin.
Evaluamos la poblacin actual. Para ello se ensambla cada mecanismo de la poblacin en cada
una de las posiciones prescritas. A cada mecanismo se le asigna un valor de aptitud o fitness:
Fi, 1<i<N
El valor de F depender del tipo de sntesis elegido:
-Generacin de Trayectoria: F ser la suma de las distancias eucldeas entre las posiciones
prescritas y las posiciones alcanzadas para todos los puntos de precisin.
-Generacin de Movimiento: F ser la suma de las distancias eucldeas entre los puntos
prescritos y alcanzados de la trayectoria ms las desviaciones angulares corregidas: distancia
entre los extremos de los vectores que representan al segmento de rotacin prescrita en sus
posiciones prescrita y alcanzada (suponiendo sus orgenes coincidentes).
-Generacin de Funcin: si la barra de salida es una corredera, F es la suma de las distancias
eucldeas entre posiciones prescritas y alcanzadas. Si la barra de salida no es una corredera, F
ser la suma de las desviaciones angulares de las posiciones alcanzadas respecto de las
prescritas.
Los mecanismos que resultasen rotos obtendrn una penalizacin en funcin de su grado de
rotura (nmero de posiciones prescritas no ensamblables). La obtencin de F se realiza como
sigue:
1. Se calcula un Fip (provisional) para cada mecanismo, considerando slo sus posiciones NO
rotas.
2. Se determina el mximo de los valores anteriores entre la poblacin (FMAX)
3. Se asigna un fitness definitivo (Fi, 1<i<N) a cada mecanismo. Si Pos es el nmero de
posiciones prescritas y NROTi es el nmero de roturas:
Si NROTi =0: Fi = Fip
Si NROTi < Pos: Fi = Fip + NROTi FMAX
Si NROTi = Pos: Fi = FMAX + NROTi FMAX
Se ordena la poblacin de acuerdo a su aptitud (de menor a mayor valor de Fi).
A continuacin se construye la Poblacin Futura: primero se almacenan en sta los mejores
mecanismos (en un nmero igual a lite individuos). Despus se completa la poblacin con los
hbridos resultantes tras el proceso de cruce y mutacin. Ntese que N debe ser tal que (Nlite)
sea par.

Memoria del PFC - Jos Hidalgo Daz

13

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

El cruzamiento consiste en seleccionar 2 individuos procreadores entre la poblacin actual.


stos darn lugar a 2 hbridos:
1. Seleccionar 2 progenitores (MecActP1 y MecActP2) mediante el mtodo de la ruleta.
2. Dichos individuos sern cruzados con probabilidad Pc (probabilidad de cruce). Si resulta
que deben cruzarse, se obtendrn 2 hbridos (Hibr1 e Hibr2). Cada cromosoma k de cada
hbrido ser:
ck1=ckP2 con probabilidad p=0.5 (ck1=ckP1 en caso contrario), para el Hibr1
ck2=ckP1 con probabilidad p=0.5 (ck2=ckP2 en caso contrario), para el Hibr2
con 1<k<Evol
En el caso de que no deban cruzarse: Hibr1=MecActP1 e Hibr2=MecActP2
La mutacin consiste en alterar los hbridos anteriores, tras lo que resultan los individuos
mutados Mut1 y Mut2:
1. Se eligen 2 mecanismos al azar entre la poblacin actual (MA y MB). stos sern la fuente
de ruido para la mutacin.
2. Cada cromosoma cki=1,2 de los hbridos cambiar su valor a c ki=1,2 con probabilidad Pm
(probabilidad de mutacin) y conservar su valor con probabilidad 1-Pm:
c ki=1,2= ckA + K(ckB - ckA), 1<k<Evol
donde K (constante de mutacin) es un valor aleatorio entre 0 y Km
En el caso de que algn c ki=1,2 no perteneciera Rk, esto es, estuviera fuera de rango, se
tomar c ki=1,2= ckA como resultado de la mutacin.
Los mecanismos resultantes tras la mutacin se introducen en la poblacin futura.
Se realizan los procesos de cruce y mutacin hasta que se completa la llamada poblacin
futura, tras lo cual se llama a sta poblacin actual, volvindose a repetir los pasos desde la
evaluacin.
Se incrementa el contador de generaciones transcurridas. Se repiten los pasos anteriores
hasta que se completan el nmero de generaciones programadas, o mientras que no se cumpla
el criterio de paro.
El criterio de paro elegido consiste en comparar la diferencia entre el ajuste medio poblacional
(FM) y el del mejor individuo (F0) de cada generacin con una determinada cota, o bien el propio
ajuste del mejor individuo. Si llamamos FitCota a dicho valor, el algoritmo se detendr en uno
de los siguientes casos: FM-F0<FitCota, o bien F0<FitCota
El mejor individuo al trmino del algoritmo ser la solucin propuesta como ptima.
La manera de implementar lo anterior, sobre todo en cmo se evalan los individuos de la
poblacin, se expone en el siguiente apartado.

Memoria del PFC - Jos Hidalgo Daz

14

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4. METODOLOGA EMPLEADA
Se detalla a continuacin cmo se ha implementado el AG de manera concreta. Puede que el
lector califique algunas tcnicas o tratamientos utilizados como particularmente enrevesados o
poco comunes. Se intentarn explicar stos con detalle, justificndolos en la medida de lo
posible.

4.1. COORDENADAS NATURALES


Se usan Coordenadas Naturales [1] para tratar los mecanismos. Las principales ventajas de
estas coordenadas son: definicin simple y sistemtica; ecuaciones de restriccin fciles de
establecer y sencillas; sitan a cada elemento con independencia de los dems; nmero de
coordenadas reducido, generalmente intermedio al empleado por las coordenadas relativas y
las de punto de referencia; inmediata interpretacin geomtrica de los resultados, ms sencilla
que en otras coordenadas.
En el plano, las coordenadas naturales son coordenadas cartesianas de puntos de slidos del
mecanismo, que se denominarn puntos bsicos (en adelante PB). Existen ciertas normas que
deben respetarse a la hora de modelar un mecanismo plano en coordenadas naturales. Estas
normas son:

Cada slido rgido debe contener, al menos, dos PBs, ya que en caso contrario no queda
su posicin definida.
En cada articulacin debe situarse un PB. De esta forma, los dos slidos que se unen en
ella comparten un punto, quedando as automticamente impuesta la condicin de par
de rotacin.
En pares prismticos deben existir dos PBs alineados con el eje del par, que sirvan para
definir su recta de deslizamiento.
Pueden utilizarse ms PBs por conveniencia: definicin de ngulos o distancias, puntos
concretos de inters, etc.

Podemos clasificar los PBs por su carcter:

PBs Fijos: sern aquellos cuya posicin no vara en el movimiento del mecanismo.
PBs Incgnita: aquellos cuyas posiciones son desconocidas a priori, necesitndose
resolver las ecuaciones de restriccin del mecanismo para fijarlos en el plano.
PBs Prescritos: aquellos cuyas posiciones estn prescritas en el movimiento, por
pertenecer a la barra motora.

Tambin podemos hablar de PBs Libres: aquellos que no se conectan con ninguna otra barra
distinta a la que pertenecen. Dichos puntos sern los habitualmente conocidos como Puntos de
Inters o Puntos Trazadores en un problema de generacin de trayectoria o de movimiento.

Memoria del PFC - Jos Hidalgo Daz

15

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.2. TIPOS DE BARRA Y ECUACIONES DE RESTRICCIN


Los tipos de barra que van a considerarse son: barras articuladas y correderas. Las primeras se
caracterizan porque sus puntos bsicos slo permiten la articulacin con otras barras del
mecanismo. En cuanto a las correderas se van a considerar correderas articuladas y correderas
rgidas.
Una barra articulada puede tener 2,3,... puntos bsicos. Para definir una barra articulada es
necesario conocer una serie de distancias entre sus puntos bsicos. As, una barra biarticulada
necesita una longitud, una triarticulada necesita 3 longitudes. En general, se puede definir un
criterio que asigne un segmento orientado para cada longitud necesaria. Una barra articulada
con NPB puntos bsicos necesitar 2(NPB-2) + 1 longitudes para su construccin:
L1: Distancia entre PB1 y PB2
L2: Distancia entre PB2 y PB3
...
LNPB: Distancia entre PBNPB y PB1
LNPB+1: Distancia entre PB1 y PB3
LNPB+2: Distancia entre PB1 y PB4
...
L2(NPB-2)+1: Distancia entre PB1 y PBNPB-1
En adelante, nos referiremos a las barras articuladas por la abreviatura BArt.
En cuanto a la manera de incorporar los puntos trazadores dentro de una barra articulada,
stos se tratarn como un PB Libre adicional. As, por ejemplo, si queremos disponer de un
punto trazador montado sobre una barra biarticulada, deberemos disponer de una barra
triarticulada. Dos de sus PBs permitirn la articulacin ordinaria de la barra, el tercero de ellos
ser el punto trazador.
Una corredera articulada (en adelante CArt) es una barra que tiene un nico punto bsico. ste
permite la conexin de la corredera con otras dos barras del mecanismo: una con la que se
articula y otra sobre la que desliza. Si el deslizamiento se realiza sobre la barra fija,
denominaremos a este tipo de barras correderas articuladas fijas (en adelante CArtF) y si el
deslizamiento se produce sobre cualquier otra barra, correderas articuladas mviles (en adelante
CArtM)
Una corredera rgida (en adelante CRig) es una barra que tiene un nico punto bsico. ste
permite la conexin de la corredera con otras dos barras del mecanismo: una sobre la que
desliza y otra a la que est unida rgidamente. Su direccin de deslizamiento define un cierto
ngulo con la barra a la que se une. Dicho ngulo es caracterstico de la CRig considerada. Si la
corredera desliza sobre la barra fija, denominaremos a este tipo de barras correderas rgidas fijas
(en adelante CRigF) y si el deslizamiento se produce sobre cualquier otra barra, correderas
rgidas mviles (en adelante CRigM). Como puede verse, el tratamiento expuesto para una CRig
difiere del tradicional, en el que se trata como un tipo de conexin entre barras. Aqu una CRig
se eleva a la categora de barra.

Memoria del PFC - Jos Hidalgo Daz

16

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

A continuacin se muestra una figura aclaratoria con diversos ejemplos de tipos de barra, as
como los convencionalismos adoptados.

TIPOS DE BARRA. EJEMPLOS


33

54

L5,3

L5,4

55

L5,2

L5,6

L5,7

52
L5,5
L5,1

21

31

BARRA 2 BIARTICULADA.
EL PB21 ES FIJO Y EL PB22 SE
CONECTA A OTRA BARRA. SE
MUESTRA LA MANERA DE MEDIR SU
NGULO ()

52

53

32

22

51

BARRA 3 TRIARTICULADA.
EL PB33 ES UN PB LIBRE

SE MUESTRAN LOS SEGMENTOS


ORIENTADOS DE LA BARRA
ARTICULADA 5 CON 5 PBs.

22=31

53

22=61
51

P1,4

32=41

P2,4

2
S
21

21

CORREDERA ARTICULADA FIJA 4.


SE ARTICULA EN EL PB32 Y DESLIZA
SOBRE LA LNEA FIJA DEFINIDA POR P1,4 Y
P2,4. SE MUESTRA CMO SE MIDE SU
COORDENADA DE AVANCE "S"

CORREDERA ARTICULADA MVIL 6.


SE ARTICULA EN EL PB22 Y DESLIZA
SOBRE EL SEGMENTO DE ORDEN 3 DE LA
BARRA 5 (EL QUE VA DEL PB53 AL PB51)

DIR. DEL SEGMENTO


DE UNIN

43

DIR. DEL SEGMENTO


DE DESLIZAMIENTO

42

23=51

5
2

41

CORREDERA RGIDA MVIL 5.


SE UNE EN EL PB23 Y DESLIZA SOBRE EL SEGMENTO
DE ORDEN 1 DE LA BARRA 4. SE MUESTRA LA
MANERA DE MEDIR SU NGULO (), EL QUE VA DEL
SEGMENTO DE MENOR ORDEN AL QUE PERTENECE EL
PUNTO DE UNIN (L2,2) HASTA EL SEGMENTO DE
DESLIZAMIENTO (L4,1)

22

21

22=31

32=41

4
2

P1,5

42=51

P2,5

5
S
21
DIR. DEL SEGMENTO
DE UNIN

Memoria del PFC - Jos Hidalgo Daz

DIR. DEL SEGMENTO


DE DESLIZAMIENTO
CORREDERA RGIDA MVIL 5.
SE UNE EN EL PB42 Y DESLIZA SOBRE LA LNEA FIJA
DEFINIDA POR P1,5 Y P2,5. SE MUESTRA LA MANERA
DE MEDIR SU NGULO (), EL QUE VA DEL SEGMENTO
DE MENOR ORDEN AL QUE PERTENECE EL PUNTO DE
UNIN (L4,1) HASTA EL SEGMENTO DE DESLIZAMIENTO
(EL QUE VA DEL P1,5 AL P2,5). SE MUESTRA TAMBIN
CMO SE MIDE SU COORDENADA DE AVANCE "S"

17

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

En cuanto a las ecuaciones de restriccin que se construyen para cada barra, se detallan a
continuacin sus expresiones:
Para cada barra articulada, se montarn tantas ecuaciones de restriccin como segmentos
tenga. Las ecuaciones son del tipo longitud constante. Si el segmento k (de longitud Lk) va del
punto bsico a al punto bsico b:
(xb-xa)2+(yb-ya)2-Lk2=0
Para cada corredera articulada se ha de plantear una ecuacin que garantice que el punto
bsico en el que se articula la misma (punto r) est sobre su recta de deslizamiento (definida
por los puntos a y b):
(xr-xa)(yb-ya)-(yr-ya)(xb-xa)=0
Para cada corredera rgida han de montarse dos ecuaciones, la primera (1) destinada a
garantizar que el punto de unin de la corredera (punto u) est sobre su recta de deslizamiento.
La segunda expresa la constancia del ngulo () entre el segmento de la barra articulada a la
que se une (puntos ua y ub, de longitud Lu) y la lnea de deslizamiento (puntos da y db, de
longitud Ld). La forma de plantear esta ltima depende del ngulo mencionado.
Para ngulos en torno a 0 180 se plantear la ecuacin de la constancia de la componente
z del producto vectorial (2PV) de los vectores que representan al segmento de unin y a la
recta de deslizamiento. Para el resto de ngulos se plantear la ecuacin del producto escalar
(2PE) entre los vectores mencionados.
La razn de este planteamiento est en que dos vectores que formen un ngulo prximo a 0
180 no varan la proyeccin del uno sobre el otro si dicho ngulo vara una cantidad
infinitesimal. Por lo tanto el producto escalar no se aplica en estos casos. Anlogamente, para
un ngulo prximo a 90, si ste vara una pequea cantidad, la componente z del producto
vectorial permanece constante, de ah que no se aplique el producto vectorial a estos casos.
Ms concretamente el planteamiento seguido aqu es: si el coseno del ngulo pertenece a (0.99,0.99), esto es, para ngulos pertenecientes a (-8.11, 8.11)U(171.89, 188.11)
aproximadamente, se plantea la ecuacin (2PV). En el resto de casos se formula la (2PE).
Obviamente el valor 0.99 se ha tomado arbitrariamente.
(xu-xda)(ydb-yda)-(yu-yda)(xdb-xda)=0

(1)

(xdb-xda)(xub-xua)+(ydb-yda)(yub-yua)-LdLucos()=0

(2PE)

(xub-xua)(ydb-yda)-(xdb-xda)(yub-yua)-LdLusen()=0

(2PV)

Segn sea el tipo de la barra motora, se realizan las siguientes consideraciones. Si la barra
motora es una:
BArt: la ecuacin correspondiente a su segmento de movimiento prescrito se deja sin
montar.
CArtF: su ecuacin no se monta.
CRigF o CRigM: slo se monta la ecuacin de la constancia del ngulo de unin.

Memoria del PFC - Jos Hidalgo Daz

18

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

En cuanto a la manera de especificar la posicin de la barra motora, podra preguntarse por


qu no se especifica sta mediante pares coordenados (como sera lgico pensar si se usan
coordenadas naturales). La razn de usar ngulos en el caso de que la barra motora sea una
barra articulada, y desplazamientos en el caso de que la barra motora sea una corredera, es la
de facilitar la introduccin de los datos. El programa se encarga de calcular las coordenadas del
punto prescrito en cada caso. De este modo, se ahorran clculos innecesarios al diseador.

4.3. CODIFICACIN
Ya se ha visto cmo se guardan los datos de una poblacin de mecanismos: slo se guardan las
dimensiones evolutivas. Para determinar un mecanismo en una posicin concreta, es necesario
especificar algo ms que sus dimensiones evolutivas.
Primero, se va a dar cuenta de cules son las dimensiones de un mecanismo genrico como el
de la figura, al que nos referiremos como mecanismo de ejemplo:

53
L52

L53

4
22=51

52=61

L6

62=71

ACR_4

L51 32=41

(X_P1,7,Y_P1,7)

3
L2

21

6
7

(X_P2,7,Y_P2,7)

L3

31
(X31,Y31)

(X21,Y21)
MECANISMO DE EJEMPLO

Se necesitan unas longitudes, unas coordenadas de los puntos fijos, unas coordenadas para
los puntos de definicin de las rectas de deslizamiento de las correderas fijas, y los cosenos de
los ngulos de unin de las correderas rgidas. En el ejemplo:
Longitudes: L2 L3 L51 L52 L53 L6
Puntos Fijos: X21 Y21 X31 Y31
Puntos Rectas de Deslizamiento: X7P1 Y7P1 X7P2 Y7P2
Cosenos de Correderas Rgidas: cos(ACR4)
Tambin se necesitar conocer la posicin de la barra motora, as como las posiciones de los
PBs incgnita del problema. Si suponemos que la barra de entrada es la 2:
Barra Motora: X22 Y22
Incgnitas: X32 Y32 X52 Y52 X53 Y53 X62 Y62

Memoria del PFC - Jos Hidalgo Daz

19

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Agrupando toda la informacin en un vector de datos:


{X22 Y22 X32 Y32 X52 Y52 X53 Y53 X62 Y62 L2 L3 L51 L52 L53 L6 X21 Y21 X31 Y31 X7P1 Y7P1 X7P2 Y7P2 cos(ACR4)}

Dichos datos sern, junto con la topologa del mecanismo, la informacin necesaria para
representar un mecanismo en una posicin concreta.
De manera general, la estructura del vector de datos ser:
{ Barra Motora | Incgnitas | Dimensiones }
Ntese que las incgnitas aparecen con un orden definido (de menor a mayor nmero de barra
y de menor a mayor PB). Igualmente las dimensiones tambin mantienen un orden lgico en el
vector de datos. De esta forma, siempre se sabe a qu posicin del vector ha de accederse para
extraer un dato concreto.
Una vez explicado esto, podemos dar a conocer cmo se codifica la topologa del mecanismo.
Bsicamente, la informacin acerca de la conexin entre barras se almacena en una lista de
listas, esto es, cada elemento de la lista es otra lista. Si el mecanismo tiene n barras (incluida
la barra fija) la lista de topologa tendr n-1 listas, que correspondern a la barra 2, 3,..., n.
Para cada barra, dependiendo de si sta es una barra articulada o una corredera, los elementos
de su lista de definicin sern diferentes. As, para una:
Barra Articulada: lista de pares. Cada par corresponde a la conexin de cada PB de la barra. El
primer elemento del par corresponde a la barra de conexin, el segundo al PB de conexin.
Corredera: cuatro elementos. El primero indica la barra de conexin, el segundo el PB de
conexin, el tercero la barra de deslizamiento, el cuarto el orden del segmento de la barra
anterior sobre el que la corredera se desliza (ya que dicha barra podra tener varios posibles
segmentos de deslizamiento)
Notar que la barra fija dispone de un nico PB, el PB11, y un nico segmento de
deslizamiento, el 1.
Para dar claridad a lo anterior, se muestra aqu la topologa del mecanismo de ejemplo:
BArt 2
BArt 3
CRigM 4
BArt 5
BArt 6
CArtF 7

1
1
3
2
5
6

1
1
2
2
2
2

5
4
5
6
7
1

1
1
1
1
1
1

Ntese cmo el PB53 se conecta consigo mismo. De esta forma se indica que se trata de un
PB libre, que posteriormente puede ser usado como punto trazador.

Memoria del PFC - Jos Hidalgo Daz

20

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.4. MONTAJE DE LAS ECUACIONES DE RESTRICCIN


Dado que en la parte de evaluacin del AG es donde se consume el mayor tiempo de clculo, se
ha desarrollado un mtodo que pretende aliviar la tarea del montaje de las ecuaciones, ya que
ste es necesario para acometer el problema de ensamblaje. Baste tener en cuenta lo siguiente:
si tenemos una poblacin de N mecanismos, pretendemos completar G generaciones,
prescribimos P puntos de precisin y estimamos que cada problema de ensamblaje consumir I
iteraciones como media, deberemos plantear NGPI veces el problema de montaje (calcular
tanto el valor de las ecuaciones de restriccin como de la matriz jacobiana). Poniendo un
ejemplo tpico: con un tamao poblacional de 100 mecanismos, previstas 100 generaciones,
para 10 puntos de precisin y estimando unas 10 iteraciones de media para cada problema de
ensamblado: tendremos del orden de un milln de montajes idnticos. Lo nico que variar ser
los valores de los datos.
En lugar de pasar todas esas veces por una rutina de decisin que, en funcin del tipo de barra
monte un tipo de ecuacin y le ponga valor a las mismas, se usa un montaje de ecuaciones
mediante listas de operaciones. Para ello se usa una metodologa inspirada en RPL (Reverse
Polish Lisp*). Se montan las secuencias necesarias para construir las ecuaciones de restriccin y
la matriz jacobiana. De esta forma, slo se requiere pasar una sola vez por la rutina de decisin,
con lo que el nico trabajo ser ir rellenando datos segn indiquen las secuencias construidas.
Lo primero que hay que desarrollar es un mtodo para caracterizar un PB, esto es, una funcin
que tome como argumento un PB del mecanismo y que, conociendo la topologa del mismo, sea
capaz de devolver su carcter (punto prescrito, incgnita o punto fijo) y segn el caso devolver
su orden. De esta forma se consiguen extraer las coordenadas de un PB dentro del vector de
datos del mecanismo. Una vez conocida la posicin de extraccin, podemos sustituir
simblicamente el dato a montar por el orden que ocupa en el vector de datos.
Despus, basta con recorrer secuencialmente las barras del mecanismo para, segn su tipo,
plantear las ecuaciones de restriccin correspondientes. Este proceso se basa en la
caracterizacin de PBs mencionada antes.
Hecho esto, la construccin de las secuencias RPL que montan las ecuaciones de restriccin y
la matriz jacobiana, parece algo trivial, slo hay que poner cuidado al escribir el cdigo del
programa, para no cometer errores al pasar de expresiones algebraicas a secuencias de
operadores y datos.

(*) Reverse Polish Lisp significa Lisp Polaco Inverso. Lisp es el acrnimo de List Proccesing (Procesado de Listas). Se trata de una tcnica para
realizar operaciones en una pila y se basa en los trabajos del polaco Jan Lukasiewicz, quien cre la notacin de prefijo llamada Notacin Polaca

Memoria del PFC - Jos Hidalgo Daz

21

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.5. EL PROBLEMA DE ENSAMBLAJE


El problema de ensamblaje es lo nico que falta para cerrar definitivamente tarea de evaluar
un mecanismo. Afortunadamente, se trata de un problema bien conocido. Se ha usado el
algoritmo de Newton-Raphson para problemas multidimensionales [13]. Se detallan a
continuacin los pasos a seguir.
Conocidas las ecuaciones de restriccin en funcin de las incgnitas q, para cada posicin
prescrita:
(q) = 0
El mtodo de Newton-Raphson consiste en linealizar el sistema anterior, reemplazndolo por
los dos primeros trminos de su desarrollo en serie de Taylor alrededor de un punto qi prximo a
la solucin:

(q) (qi) + J(qi) (q - qi) = 0


donde J(qi) es la matriz jacobiana evaluada en qi.
Haciendo iterativa la aproximacin anterior:

(qi) + J (qi) (qi+1 - qi) = 0


Multiplicando por la inversa de la matriz jacobiana en qi y despejando qi+1:
qi+1 = qi - J -1(qi)(qi)
Los mecanismos se van montando en cada una de las posiciones, resolviendo para ello un
sistema como el anterior. Para la primera posicin prescrita se toma qi igual a una solucin
inicial comn para todos los mecanismos. Para la segunda y posteriores, la solucin inicial
considerada es la obtenida para la posicin prescrita previa.
Como solucin inicial comn para todos los mecanismos se toma la correspondiente a la
primera posicin prescrita para un mecanismo dado, de igual topologa que el mecanismo que
se quiere sintetizar y al que denominaremos mecanismo prototipo.
Ensamblar el mecanismo se reduce pues a calcular la solucin a q de manera iterativa. En cada
iteracin han de calcularse el vector (qi) y J(qi). La inversin de la matriz jacobiana se
realiza mediante el mtodo de Gauss-Jordan.
Tras ensamblar un mecanismo en una posicin concreta, su evaluacin es inmediata. Basta
con calcular la posicin alcanzada por elemento prescrito (dependiendo del tipo de sntesis) y
compararla con su valor prescrito correspondiente.

Memoria del PFC - Jos Hidalgo Daz

22

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.6. CORRELACIN TEMPORAL Y REAJUSTE


La Generacin de Trayectoria y la Generacin de Movimiento, pueden realizarse con o sin
temporizacin prescrita, esto es, con o sin correlacin temporal entre las posiciones
prescritas y las correspondientes posiciones de la barra motora.
Aunque formalmente una sntesis del tipo Generacin de Funcin requiere de correlacin
temporal, operativamente nada impide poder prescindir de ella. Por esta razn no se ha
limitado su uso en ninguno de los tres tipos de sntesis.
Cuando no se establece correlacin temporal podemos buscar, partiendo de las posiciones
originalmente prescritas para la barra motora, otro juego de posiciones para sta que
conduzcan a un mejor ajuste respecto al original. Se intenta conseguir dicho propsito con
la introduccin de un mtodo de reajuste apropiado. Dicho reajuste comienza a actuar a
partir de una cierta generacin dada (GenReajuste).
Si hemos prescrito P posiciones para nuestro mecanismo, podemos definir los siguientes
valores para 1<i<P:

BMoti0: juego original de posiciones prescritas de la barra motora


BMotij: posiciones de la barra motora en la generacin j
IncBMot0: valor inicial del incremento de exploracin alrededor de la barra motora
IncBMotij: incremento de exploracin en la generacin j (alrededor de la posicin BMotij)
RedIncBMot: reduccin de IncBMotij
El reajuste tiene lugar segn los siguientes pasos, para la generacin j:
1. Se guardan copias de BMotij-1, IncBMotij-1, {MecAct} j-1, F j-1 con el propsito de restaurar
las condiciones previas al intento de reajuste si ste no prosperara.
2. Se realizan, sobre el mejor mecanismo de la poblacin, dos evaluaciones adicionales a la
BMotij-1 prescrita (las correspondientes a las posiciones "adelantada" y "retrasada" una
j-1
j-1
cantidad IncBMoti en torno a BMoti ), guardndose las aproximaciones encontradas
para cada una de ellas en cada uno de los Puntos de Precisin. Para cada Punto de
j
Precisin se comparan las 3 distancias observadas. Si hubo mejora se modifica BMoti
j
para dicho Punto de Precisin. En caso contrario se reduce el IncBMoti correspondiente.
Ntese que estas mejoras parciales deben ser corroboradas en el total de la poblacin,
ya que la aptitud es siempre relativa al contexto donde se determina, esto es, depende
del resto de individuos coetneos.
3. Si hubo alguna posible mejora, se plantea si realmente son efectivas en el contexto del
total de la poblacin. Para ello se evala y ordena la poblacin. Se compara el fitness del
mejor mecanismo con el del mejor mecanismo antes de intentar el reajuste. Si fue mejor
que ste ltimo, se abandona el reajuste sin restaurar nada. Sino, se va al paso 4.
4. No se produjo ninguna mejora global. Se restauran las copias guardadas en el paso 1,
j
j-1
salvo que IncBMoti = IncBMoti /RedIncBMot, persiguindose con esto una mayor
finura en el reajuste de la siguiente generacin.

Memoria del PFC - Jos Hidalgo Daz

23

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.7. DIMENSIONES DEPENDIENTES


Definidos unos rangos de variacin para las dimensiones evolutivas, stas variarn sus
valores de acuerdo a las leyes probabilsticas marcadas por el desarrollo del algoritmo. Sin
embargo, en algunos diseos es necesario mantener el control sobre los valores que adoptan
ciertas dimensiones.
El caso ms comn donde se nos presenta esta necesidad es cuando se tiene una barra
triarticulada con sus tres PBs alineados. Si dejamos que varen libre y aleatoriamente 2 de
sus longitudes asociadas, la tercera deber ser combinacin lineal de las anteriores. Esto
nos lleva a la necesidad de idear un sistema para poder revisar durante el transcurso del
proceso algortmico, los valores de este tipo de dimensiones, a las cuales llamaremos
dimensiones dependientes, al depender del valor de otras dimensiones del problema.
El valor de las dimensiones dependientes es recalculado en cada generacin usando la
misma tcnica mostrada anteriormente al montar las ecuaciones de restriccin, esto es,
mediante secuencias RPL.

4.8. ANLISIS FINO


Introducimos aqu el concepto de mecanismo prototipo (MP). Se entiende por tal, a un
mecanismo concreto del tipo y topologa del mecanismo que se quiere sintetizar, cuyas
dimensiones no difieren mucho de los rangos de variacin propuestos para dichos valores. El
motivo de introducir este concepto es doble: forzar al diseador a ser coherente a la hora de
ofrecer un juego de valores iniciales al problema de ensamblaje y servir de referencia a los
rangos de variacin de las dimensiones.
En vista de lo anterior podra preguntarse por la necesidad de existencia de tal mecanismo.
Realmente no sirve para nada. Para que todo funcione bastara con suministrar una topologa y
un juego de valores iniciales para las incgnitas del problema.
Sin embargo, se ha querido mantener ste para recordarnos la necesidad de ser coherentes a
la hora de suministrar datos al programa. ste no es una caja negra mgica, y no valora de modo
inteligente los datos de partida. Es una forma de mantenernos lejos de disear a ciegas, pero no
la nica.
Una vez comprendido el procedimiento de ensamblaje cabe preguntarse lo siguiente: si slo
se montan mecanismos en las posiciones prescritas, qu ocurre en posiciones intermedias a las
mismas? Pudiera ser que el mecanismo solucin estuviera roto en alguna de ellas. Tambin
pudiera ser que el mecanismo pasara de un circuito solucin a otro. Todo esto podra pasar
desapercibido por completo.
Para intentar detectar estos cambios de circuito y puntos de rotura entre posiciones
prescritas, se realizan dos anlisis finos: uno sobre el MP antes de iniciar el algoritmo gentico y
otro sobre el mecanismo solucin. En ambos se ensambla el mecanismo correspondiente,
adems de en las posiciones prescritas, en un nmero de puntos adicionales. Estos se
distribuyen en funcin de la separacin entre las posiciones que alcanzan los PBs del
mecanismo entre dos posiciones prescritas consecutivas.
Memoria del PFC - Jos Hidalgo Daz

24

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.9. REDONDEO DE LAS DIMENSIONES FINALES


Al resolver un problema numrico como el que nos ocupa, la precisin de los datos es algo
importante. A mayor precisin durante el transcurso de las operaciones conducentes a la
solucin es de esperar una mayor precisin en los resultados obtenidos. Sin embargo estamos
ante un caso engaoso.
En un problema multidimensional de la naturaleza del que nos proponemos aqu puede
resultar conveniente efectuar un redondeo de las dimensiones finales del mecanismo solucin,
ya que, de esta forma, ste se evala en el contexto de la poblacin con unas dimensiones
reales, que podran ser sus dimensiones constructivas, y no con unas dimensiones que
internamente pueden tener una precisin excesiva, y que podran darnos valores del ajuste
magnficos, pero engaosos, y que nos decepcionaran a la hora de realizar el mecanismo de
manera real, al tener que hacerlo con unas dimensiones realizables.
Por esta razn se ha implementado la posibilidad de definir el uso y cuanta del redondeo
mencionado. En la prctica, para comprobar la importancia del redondeo basta fijarse en cmo
algunos mecanismos solucin pueden disminuir de manera significativa su ajuste tras realizar el
redondeo de sus dimensiones. Por contra, si tras el redondeo, el ajuste disminuye, puede
deberse a que el puesto de mejor mecanismo se ha cedido a otro que, sin redondeo, ocupaba
peor puesto en la lista de calificaciones de la poblacin.

Memoria del PFC - Jos Hidalgo Daz

25

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

5. SDMAG
SDMAG es, como ya se habr podido adivinar, el acrnimo de Sntesis Dimensional de
Mecanismos mediante Algoritmo Gentico. Tambin es el nombre dado al programa
informtico donde se implementa todo lo expuesto con anterioridad en este documento.
Aqu slo se van a resumir las caractersticas del programa. Para un mayor detalle deber
consultarse, fuera de esta memoria, el Documento de Ayuda de SDMAG.
SDMAG es un programa informtico escrito en Lenguaje C [14], por lo que se puede compilar y
ejecutar en cualquier plataforma. Se ejecuta en modo consola, no requirindose ninguna
capacidad grfica especfica en la mquina.
Adems, con ayuda de un visor de archivos DXF [15] se podr obtener una representacin
grfica completa de la salida del programa.
El programa permite la creacin de una serie de archivos con los datos necesarios para
resolver una sntesis. Una vez creados stos, se pueden modificar posteriormente. Para resolver
el problema, el programa hace uso de dichos archivos y se generan otros con los datos relativos
a la solucin encontrada.
Ms concretamente, SDMAG escribe dos archivos. El primero es un fichero de texto donde se
recogen las incidencias de la resolucin, las dimensiones del mecanismo sintetizado, las
posiciones alcanzadas por aquel, as como las desviaciones de stas respecto de las
originalmente prescritas. El segundo es creado a voluntad del usuario y se trata de un archivo
DXF ASCII con la representacin de la solucin obtenida. ste se puede ver con cualquier
programa capaz de procesar dichos archivos. No obstante, se ha intentado optimizar la
representacin para su visualizacin con AutoCad.
SDMAG se acompaa, adems de por la documentacin de ayuda mencionada ms arriba, por
una batera de ejemplos que intentan ilustrar el uso del programa.
A continuacin se muestra el diagrama de flujo general de resolucin de un problema de
sntesis por SDMAG, permitiendo completar el conocimiento de cmo se han implementado los
distintos mtodos expuestos en el apartado anterior.

Memoria del PFC - Jos Hidalgo Daz

26

Memoria del PFC - Jos Hidalgo Daz

EVALUACIN
DEL
PROTOTIPO

DIMENSIONES DEPENDIENTES

CODIFICACIN

COMPROBACIN

CRITERIO
DE PARO

POBLACIN FUTURA

DIMENSIONES DEPENDIENTES

CRUCE Y MUTACIN

REAJUSTE

ORDENAMIENTO

EVALUACIN

DIMENSIONES DEPENDIENTES

POBLACIN INICIAL

ELITISMO

DATOS

ALGORITMO GENTICO

DIMENSIONES

EVALUACIN
DE LA
SOLUCIN

REPRESENTACIN
GRFICA

SDMAG
Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

27

REDONDEO

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6. RESULTADOS Y CONCLUSIONES
A continuacin se presentan una serie de ejemplos con el objeto de mostrar la capacidad del
programa. En primer lugar se propone la sntesis de una trayectoria cerrada (con 8 puntos de
precisin) mediante un mecanismo de biela-manivela. En segundo lugar, otra sntesis de una
trayectoria cerrada (con 24 puntos) mediante un cuadriltero articulado. Finalmente un
problema de generacin de movimiento con un mecanismo de mayor complejidad. Pueden
consultarse los datos de los ejemplos en la carpeta ejemplos/ del programa. El nombre del
proyecto asociado aparecer indicado entre corchetes. En el Documento de Ayuda de SDMAG
pueden consultarse ms ejemplos.

6.1. EJEMPLO 1 [4bgt9pp3]


Se quiere sintetizar, con un mecanismo de biela-manivela como el mostrado, la trayectoria
propuesta en la misma figura:

22=31
5

33
1=9

21
P1

P2

32=41

La barra motora es la 2, el punto trazador es el 33 y se pretende que ste pase por 8 puntos
concretos. Para ello se definen las posiciones prescritas de la tabla siguiente (la posicin 9
cierra la trayectoria y es idntica a la 1). Las posiciones correspondientes a la barra motora se
toman como estimacin y estn espaciadas en base a la separacin entre los distintos puntos
prescritos. El programa reajustar dichas posiciones (se trata de una sntesis sin correlacin
temporal).
Posicin
1
2
3
4
5
6
7
8
9

Barra motora
45
70
95
120
145
185
275
365
405

X33
26
23
20
17
14
10
20
30
26

Y33
16
16
16
16
16
13
7
13
16

Las dimensiones del prototipo (MP) y sus rangos de variacin se muestran a continuacin:

MP
MN
MX

Punto Fijo
X21
Y21
10
10
5
5
15
15

Memoria del PFC - Jos Hidalgo Daz

L2
10
10
20

Longitudes
L31
L32
20
13
15
10
25
15

L33
9
10
15

XP1
0
0
0

Recta de Deslizamiento
YP1
XP2
YP2
5
50
5
5
50
5
5
50
25

28

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Ntese que los nicos valores no evolutivos son XP1, YP1 y XP2
El mecanismo prototipo se ha elegido atendiendo a que ste pasa muy cercano al punto 1 para
una posicin de la barra motora de 45 y a que tiene unas dimensiones con valores sencillos
(enteros). Como estimacin inicial de las posiciones de los puntos incgnita del problema de
ensamblaje se toman X32 = 30, Y32 = 5, X33 = 26 e Y33 = 16
La solucin calculada por el programa se muestra a continuacin. Las dimensiones del
mecanismo se han redondeado a 3 decimales:
X21
7.537

Y21
5.598

L2
10.558

DIMENSIONES DEL MECANISMO SINTETIZADO


L31
L32
L33
XP1
22.212
11.711
13.430
0.000

Punto
1
2
3
4
5
6
7
8
9

POSICIONES ALCANZADAS
Barra Motora
X33
Y33
61.349 26.000 15.998
79.227 23.006 16.246
96.077 19.988 16.177
113.192 17.027 15.838
131.146 14.243 15.201
168.751
9.997 13.002
294.572 19.980
7.075
6.552 30.003 12.999
61.347 26.000 15.998
Desviacin Total

YP1
5.000

XP2
50.000

YP2
7.822

Desv.
0.002
0.246
0.178
0.165
0.835
0.004
0.077
0.003
0.002
1.511

En la figura se muestran el mecanismo sintetizado en su posicin 1 y la trayectoria alcanzada:

Memoria del PFC - Jos Hidalgo Daz

29

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

A continuacin se muestran superpuestas, por claridad, slo las trayectorias prescrita y


alcanzada:

1=9

6
8

7
POSICIONES ALCANZADAS

POSICIONES PRESCRITAS

La evolucin del ajuste o fitness (F) y el ajuste medio poblacional (FM) se muestran en la
siguiente grfica:

25

Evolucin del Ajuste

20
F
FM
Fitness

15

10

0
Generaciones

Memoria del PFC - Jos Hidalgo Daz

30

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6.2. EJEMPLO 2 [4bgt25pp_p] [4bgt25pp]


Se quiere sintetizar un mecanismo de cuatro barras que pase por los puntos de la figura, los
cuales forman una trayectoria cerrada.
11

10

12

13

14
1=25
3

24
15

23
22

4
5

16

21

17
18

20

19

Como mecanismo prototipo se va a usar uno obtenido de la siguiente forma:


1) Se parte de un mecanismo que genera una trayectoria en forma de lazo. La trayectoria
generada por ste se muestra superpuesta con la de nuestro problema en la figura:

33

L33=20

L32=30

PB42=(30,10)
L4=40
32=41
L31=30
PB21=(0,0)

Memoria del PFC - Jos Hidalgo Daz

L2=20

22=31

31

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

2) Transformamos el mecanismo anterior y su trayectoria, hasta que sta y la curva


pretendida se parecen razonablemente. Para tal fin: se realiza una simetra con eje vertical
que pasa por el origen. Se reduce, con punto base el origen, un factor de 0.75. Se gira
respecto al origen un ngulo de 75 en sentido positivo de giro. Se realiza un
desplazamiento relativo (+36.4, +26.4):
32=41

L32=22.5
L31=22.5
PB21=(36.400,26.400)

L2=15

33

L33=15
L4=30

22=31

PB42=(23.332, 6.608)

Basndonos en la posicin mostrada en la figura anterior y suponiendo una distribucin


uniforme de las posiciones de la barra motora, la trayectoria prescrita queda:
Pos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Memoria del PFC - Jos Hidalgo Daz

B. Mot.
-105.000
-90.000
-75.000
-60.000
-45.000
-30.000
-15.000
0.000
15.000
30.000
45.000
60.000
75.000
90.000
105.000
120.000
135.000
150.000
165.000
180.000
195.000
210.000
225.000
240.000
255.000

X33
19.657
23.737
27.791
31.645
36.012
39.391
41.812
41.587
40.108
37.476
33.792
29.593
25.767
22.813
20.358
17.905
15.952
14.149
12.146
10.393
11.044
12.847
15.000
17.103
19.657

Y33
16.702
17.032
17.088
16.552
15.682
15.006
16.413
18.945
20.856
22.491
23.104
22.153
20.301
18.199
16.244
14.199
12.748
11.597
10.496
10.596
12.298
13.849
15.000
16.001
16.702

32

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Las dimensiones y posiciones de los elementos del mecanismo prototipo (MP), as como sus
rangos de variacin (MN, MX) se muestran a continuacin:
MP
MN
MX

X21
Y21
X42
Y42
36.400
26.400
23.332
6.608
-100.000 -100.000 -100.000 -100.000
100.000 100.000 100.000 100.000

L2
15.000
10.000
40.000

L31
22.500
20.000
50.000

L32
22.500
0.001
40.000

L33
15.000
0.001
40.000

L4
30.000
20.000
50.000

Se plantea una sntesis de trayectoria sin correlacin temporal en [4bgt25pp_p]. Tras el


reajuste se resuelve un nuevo problema en [4bgt25pp] usando los valores reajustados de la
barra motora pertenecientes al problema anterior. A su vez, se disminuyen los rangos de
variacin y la intensidad del reajuste. Como resultado final se tiene:
X21
54.730

Y21
25.666

DIMENSIONES DEL MECANISMO SINTETIZADO


X42
Y42
L2
L31
L32
23.714
7.310
15.627
41.950
27.147

Pos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Memoria del PFC - Jos Hidalgo Daz

POSICIONES ALCANZADAS
B. Mot.
X33
Y33
248.909 19.646 16.761
263.571 23.698 16.668
278.482 27.613 16.079
294.530 31.481 15.426
316.271 36.022 15.114
335.442 39.151 15.639
354.879 41.211 16.907
16.783 41.888 18.908
41.170 40.390 21.165
61.295 37.482 22.422
79.617 33.819 22.678
97.552 29.669 21.903
113.790 25.766 20.303
127.159 22.653 18.433
138.771 20.127 16.525
150.933 17.724 14.417
160.941 15.958 12.769
171.173 14.366 11.361
190.708 12.091 10.285
200.612 11.572 10.885
209.866 11.738 12.104
220.292 12.857 13.846
230.294 14.794 15.362
239.271 17.019 16.290
248.909 19.646 16.761
Desviacin Total

L33
30.001

L4
36.431

Desv.
0.060
0.366
1.025
1.138
0.568
0.677
0.778
0.303
0.419
0.070
0.427
0.261
0.002
0.283
0.364
0.284
0.021
0.320
0.218
1.214
0.721
0.011
0.417
0.301
0.060
10.308

33

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Las trayectorias prescrita y alcanzada se muestran en la siguiente figura:

POSICIONES ALCANZADAS
POSICIONES PRESCRITAS

Se observa una discrepancia acusada en algunos puntos, aunque en general, la curva


alcanzada se ajusta bastante bien, para el nmero de posiciones considerado, a la prescrita.

Memoria del PFC - Jos Hidalgo Daz

34

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6.3. EJEMPLO 3 [10bgm3pp]


A continuacin se va a plantear una generacin de movimiento con un mecanismo algo ms
complicado, si bien la dificultad est en hallar una solucin vlida. Se trata de encontrar un
mecanismo como el de la figura:
PUNTO PRESCRITO

ROTACIN PRESCRITA

AVA
NCE
B. M
OTOR
A

D=20

La barra motora es la 3 (cilindro hidrulico) y se establecen las siguientes posiciones


prescritas:
Pos
1
2
3

B. Motora
10.000
39.057
68.114

X61
0.000
9.083
50.000

Y61
100.000
128.737
150.000

Rot63
180.000
170.000
160.000

Evidentemente las coordenadas del PB61 pertenecen a la circunferencia con centro en el


punto fijo 52 y radio L5 y aunque formalmente las posiciones de dicho punto forman parte de la
sntesis, lo que nos interesa aqu es la rotacin del segmento que va del punto 63 al punto 61
(Rot63).
Las dimensiones del mecanismo prototipo (el de la figura anterior) son:

MP
MN
MX

MP
MN
MX

X21
0.000
0.000
0.000

Y21
0.000
0.000
0.000

Puntos Fijos
X52
Y52
X102
50.000 100.000 257.129
50.000 100.000 230.000
50.000 100.000 280.000

L2
90.000
90.000
90.000

L4
90.000
90.000
90.000

L5
50.000
50.000
50.000

Longitudes
L61
L62*
L63
L7
201.000 102.000 300.000 155.000
201.000 20.000 300.000 100.000
301.000 102.000 300.000 180.000

Y102
17.816
0.000
40.000

L10
20.000
10.000
40.000

(*) La longitud L62 se establece como dimensin dependiente (ver ms abajo)

Memoria del PFC - Jos Hidalgo Daz

35

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

MP
MN
MX

Recta Deslizamiento Corredera 8


XP1
YP1
XP2
YP2
0.000
0.000 350.000 -30.621
100.000 0.000 400.000 -25.000
100.000 0.000 400.000 25.000

ngulos Correderas Rgidas


ACR3
ACR9
0.000
90.000
0.000
90.000
0.000
90.000

La longitud L62 es una dimensin dependiente, su valor es tal que la distancia D entre el
punto 62 y el segmento de rotacin prescrita sea igual a 20. La expresin que determina su
valor es:
L62 = { 202 + [ L63 - L61( 1 - (20/L61)2 )1/2 ]2 }1/2
Se puede comprobar que el mecanismo prototipo est roto en la primera y segunda posiciones
prescritas. La dificultad de ensamblar grficamente el mecanismo se pone de manifiesto
observando lo siguiente: si las todas las dimensiones anteriores son dadas (excepto la longitud
y punto fijo de la barra 10), podemos intentar buscar la circunferencia que es tangente a la
barra 7 de manera simultnea en las 3 posiciones prescritas. El radio de dicha circunferencia
sera la longitud L10 y las coordenadas de su centro el punto fijo para la barra 10. Encontrar tal
circunferencia es complicado, pero lo verdaderamente difcil es que el resultado sea un
mecanismo vlido, esto es, no presente ni roturas ni puntos fuera de circuito en posiciones
intermedias a las prescritas.
Tras resolver se obtuvo lo siguiente (se muestran slo las dimensiones evolutivas del ptimo):
L61
L62
L7
201.224 101.757 172.828

L10
36.174

X102
235.692

Y102
22.931

Y P2
6.334

y las rotaciones alcanzadas fueron:


Pos
1
2
3

Memoria del PFC - Jos Hidalgo Daz

Rot63
Desviacin
180.000
0.000
170.911
0.911
160.000
0.000
Desv. Ang. Total
0.911

36

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6.4. CONCLUSIONES
Una vez decidido el tipo de mecanismo con el que se quiere realizar la tarea prescrita, la
obtencin de una buena solucin (desde el punto de vista cualitativo) depende en gran medida
del subespacio de bsqueda considerado, esto es, de una eleccin adecuada de los rangos de
variacin de las dimensiones. Una buena solucin ser mejor que otra (cuantitativamente
hablando) cuanto mejor sintonizados estn los parmetros que controlan el algoritmo gentico.
Dar con la mejor combinacin paramtrica es tarea casi imposible, no por el nmero de
parmetros que intervienen, sino por la dependencia mutua entre ellos y la evolucin de la
poblacin, que cambia en cada generacin por obra y gracia del azaroso destino debido a la
propia naturaleza aleatoria del algoritmo.
Dicho esto, parece indicado plantear la siguiente estrategia de resolucin de problemas:
primero se acotan los rangos de variacin hasta tener un conocimiento de la calidad de las
soluciones y posteriormente se intentan sintonizar los parmetros del algoritmo para obtener
una solucin cuantitativamente aceptable.
A continuacin se dan una serie de ideas, basadas en la experiencia del autor, de cmo elegir
cada parmetro del algoritmo (vase el Documento de Ayuda de SDMAG):
Semilla: Definido un subespacio de bsqueda, la semilla elegida para crear la poblacin inicial
decide los candidatos a generar la solucin final.
Tamao de la Poblacin: A mayor nmero de individuos, se explorar con mayor profusin el
subespacio de bsqueda, sin embargo el tiempo de clculo crece proporcionalmente con dicho
nmero. Por lo tanto, es mejor comenzar probando con tamaos pequeos (de unos 100
individuos) y distintas semillas. Si se observa una gran discrepancia dimensional entre las
soluciones obtenidas, esto indica que cabe esperar muchas buenas soluciones, con lo que sera
apropiado aumentar el tamao de la poblacin para una mejor exploracin del dominio. En
cambio, si las soluciones se parecen en cierta medida, no tiene sentido trabajar con un gran
nmero de individuos que a la postre no van a generar un mayor nmero de alternativas.
Generaciones: Como nmero de iteraciones programado para obtener una solucin,
deberamos proponer un valor que permita a la poblacin inicial evolucionar adecuadamente. Si
se observan las grficas de evolucin del ajuste, puede verse que ste obtiene prcticamente su
valor final mucho antes de llegar a la mitad de las generaciones programadas. Por esta razn no
tiene sentido establecer un nmero excesivo de generaciones. Como orientacin, podemos dar
un valor de 100 a este parmetro.
Probabilidades de Cruce (Pc) y Mutacin (Pm): Se podra decir que son los parmetros ms
importantes del algoritmo. La Pc controla el intercambio de material gentico entre los
individuos y la Pm la introduccin de pequeas perturbaciones en dicho material. Valores
elevados de Pc tendrn como resultado una convergencia prematura poco recomendable. Por
otro lado, valores muy altos de Pm podran estropear la convergencia del algoritmo. Para
intentar remediar dichos problemas se proponen Pc y Pm variables con el nmero de
generaciones: Pc decreciente y Pm creciente. De esta forma se intenta no incurrir en
cruzamientos espurios en las ltimas generaciones del algoritmo, al existir entonces una gran
correlacion entre las dimensiones de los mecanismos de la poblacin.
Memoria del PFC - Jos Hidalgo Daz

37

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Como referencia, se sugieren las siguientes funciones cuadrticas:


Pc(x) = Pcmax - Pcminx2
Pm(x) = Pmmin + Pmmaxx2

con x=Generacin/Generaciones

Una posible eleccin de los valores para los polinomios anteriores es, a ttulo orientativo:
Generaciones
100
200
300

Pcmax
0.7-0.65
0.65-0.60
0.60-0.50

Pcmin
0.2-0.4
~0.2
0.1-0.2

Pmmin

Pmmax

0.01-0.3

0.6-1.0

lite: Como mnimo, debe valer 1. No obstante, se recomienda un valor mayor, con el objeto
de no fomentar la predileccin en el cruce por un nico individuo. Mantener a ms de un
individuo de lite es como mantener a los mejores individuos de varias castas de soluciones a la
vez. Como referencia, se aconseja tomar como lite entorno un a 4% del total de la poblacin,
disminuyendo este valor conforme se aumenta el tamao poblacional, por ejemplo: 4/100 (4
individuos de lite sobre 100 totales), 7/200, 10/300,...
Error, Tolerancia y Maxiter: Realmente, stos no son parmetros del algoritmo gentico,
pero son importantes porque controlan el problema de ensamblaje, que dota de valor numrico
a la funcin de evaluacin del AG. Error, Tolerancia y Maxiter permiten controlar la precisin de
la solucin obtenida en cada ensamblaje y no alargar el proceso iterativo, pero tambin marcan
el criterio de rotura, esto es, una alta precisin (valores muy pequeos para Error y Tolerancia) y
valores pequeos de Maxiter pueden calificar una posicin de ensamblaje como rota, cuando
probablemente no sea as. Por otro lado, si se eligen valores altos de Maxiter, podramos estar
alargando en exceso el tiempo de clculo debido a que realmente la posicin de ensamblaje
est rota.
Km: Valor mximo de la constante de mutacin. Se recomiendan valores en torno a 1.2.
Valores demasiado altos podran estropear el proceso de mutacin, ya que los valores
cromosmicos fuera de los rangos permitidos son invalidados automticamente.
GenReajuste: Generacin de Reajuste. Depende de la incertidumbre sobre las posiciones de la
barra motora. Un reajuste temprano deber hacerse cuando la incertidumbre sea grande y
viceversa. Adems, el reajuste debe comenzar antes de que el cruzamiento pierda importancia
frente a la mutacin, para que los reajustes introducidos tengan un efecto de realimentacin
sobre las dimensiones de los mecanismos de la poblacin.
IncBMot: Incremento de la BMot. Valor inicial del avance/retraso de las posiciones prescritas
de la BMot en los que se tantea mejorar la aproximacin respecto al valor original de stas.
Depende de la incertidumbre y separacin de los valores de la barra motora.
RedIncBMot: Valor de reduccin (> 1) de IncBMot. Si al intentar el reajuste en una posicin
prescrita no se encontr mejora, IncBMot pasar a valer IncBMot/RedIncBmot. De esta forma se
consigue afinar en la bsqueda del mejor reajuste. Depende de los dos parmetros anteriores.
Se busca conseguir una reduccin paulatina de IncBMot tal que se explote adecuadamente el
mecanismo de reajuste.

Memoria del PFC - Jos Hidalgo Daz

38

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

7. PLANTEAMIENTOS FUTUROS
A continuacin se enumeran una serie de planteamientos conducentes a mejorar el programa:

Ensayar otro tipo de seleccin distinto al planteado aqu. Por ejemplo usar Evolucin
Diferencial. Estudiar la posibilidad de que el usuario pueda programar su propia tcnica
evolutiva. Todo esto con el fin de mejorar la convergencia local.

Con el propsito de simplificar la tarea de eleccin del subespacio de bsqueda, dotar al


programa de algn mtodo de conocimiento basado en casos. Podra aadirse una
librera de mecanismos predefinidos (al estilo de un atlas), o bien usar un conjunto de
redes neuronales entrenadas para una seleccin de mecanismos-tipo de sntesis.

Desarrollar una GUI (Graphic User Interface) o interfaz grfica de usuario para facilitar la
introduccin, modificacin e interpretacin de datos.

Memoria del PFC - Jos Hidalgo Daz

39

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

8. REFERENCIAS
[1] GARCA DE JALN, J. y BAYO, E. Kinematic and Dynamic Simulation of Multibody Systems.
Springer-Verlag
[2] NIETO J. Sntesis de Mecanismos. Ed. AC
[3] FREUDENSTEIN, F. Approximate Synthesis of Four-bar Linkages.
Trans. ASME, Vol. 77, pag. 853-859
[4] SUH, C.H. y RADCLIFFE, C.H. Kinematics and Mechanism Design. John-Wiley & Sons
[5] ERDMAN, A. G. y SANDOR, G. N. Mechanism Design Analisis and Synthesis, Vol. 1.
Prentice Hall
[6] KIRKPATRICK, S., GELATT, C. D. y VECCHI, M. P. Optimization by Simulated Annealing.
Science, Vol. 220, pag. 671-680
[7] HOLLAND, J. H. Adaptation in Natural and Artificial Systems. University of Michigan Press
[8] KURI, A. y GALAVIZ, J. Algoritmos Genticos. IPN-CIC, UNAM, FCE
[9] GOLDBERG, D. E. Genetic Algorithms in Search, Optimization and Machine Learning.
Addison-Wesley Publications
[10] VASILIU, A. y YANNOU, B. Dimensional Synthesis of Planar Mechanisms using Neural
Networks: Application to Path Generator Linkages.
Mechanism and Machine Theory, Vol. 36 (2001), pag. 299-310
[11] STORN, R. y PRICE, K. Differential Evolution A Simple and Efficient Heuristic for Global
Optimization over Continuous Spaces.
Journal of Global Optimization 11, 1997, pag. 341-359
[12] CABRERA, J. A., SIMN A. y PRADO, M. Optimal Synthesis of Mechanisms with Genetic
Algorithm. Mechanism and Machine Theory, Vol. 37 (2002), pag. 1165-1177
[13] TABERNERO, A. Anlisis Numrico (Apuntes de la Asignatura).
Facultad de Informtica de la UPM
[14] KERNIGHAN, B. W. y RITCHIE D. M. El Lenguaje de Programacin C.
Prentice-Hall Hispanoamericana, S.A.
[15] AUTODESK, INC. Manual de Referencia de DXF

Memoria del PFC - Jos Hidalgo Daz

40