You are on page 1of 0

DISEO PTIMO DE MECANISMOS DE CUATRO BARRAS PARA

GENERACIN DE MOVIMIENTO CON RESTRICCIONES DE MONTAJE Y


NGULO DE TRANSMISIN.











HERIBERTO AUGUSTO PINTO LINARES










UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE INGENIERA y ARQUITECTURA
DEPARTAMENTO DE INGENIERIA ELCTRICA, ELECTRNICA y COMPUTACIN
SEDE MANIZALES
Octubre de 2007
DISEO PTIMO DE MECANISMOS DE CUATRO BARRAS PARA
GENERACIN DE MOVIMIENTO CON RESTRICCIONES DE MONTAJE Y
NGULO DE TRANSMISIN.




HERIBERTO AUGUSTO PINTO LINARES




Memoria del trabajo de tesis presentado
como requisito parcial para optar por el grado de
MAGSTER EN INGENIERA: AUTOMATIZACIN INDUSTRIAL




FABIOLA ANGULO GARCIA Ph.D. Directora de la tesis
ANDRS TOVAR PREZ, Ph.D. Co-director de la tesis




UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE INGENIERA y ARQUITECTURA
DEPARTAMENTO DE INGENIERIA ELCTRICA, ELECTRNICA y COMPUTACIN
SEDE MANIZALES
Octubre de 2007












a

Judi Isabel. Mi esposa
Mara Eugenia. Mi madre
Laura Catalina & Sofa Alejandra. Mis hijas



RESUMEN


Este trabajo parte del estudio de la forma de dada estndar y de cmo podra usarse para
encontrar soluciones ptimas para la tarea de generacin de movimiento cuando se cuenta
con restricciones de montaje asociadas con la ubicacin de los pares fijos del mecanismo.
Debido a su incidencia en la forma como se transfiere el movimiento desde el eslabn de
entrada hacia el de salida, as como a su afectacin sobre otras caractersticas del
mecanismo, el ngulo de transmisin es el ndice de mrito a optimizar.

Dado que era necesario optimizar el ngulo de transmisin para mltiples posiciones
prescritas y que cada posicin estaba descrita mediante una expresin diferente, fue
necesario usar una estrategia para optimizacin multiobjetivo. La estrategia empleada fue la
suma ponderada de funciones. La formulacin del problema de optimizacin se hizo
considerando 2, 3, 4 y 5 posiciones prescritas.

Las expresiones obtenidas para describir el modelo son de naturaleza no lineal y por lo
tanto para resolver el problema de diseo ptimo se us una tcnica de programacin no
lineal. Basado en la tcnica programacin cuadrtica secuencial (SQP) se desarroll un
algoritmo usando MATLAB. Para introducir los datos prescritos, proporcionar la condicin
inicial de manera fcil e intuitiva, correr el algoritmo y visualizar sus resultados, se
desarroll un GUI.


AGRADECIMIENTOS

Para el desarrollo de este trabajo de tesis fueron invaluables la directrices proporcionadas
por la Doctora Fabiola Angulo Garca Docente de la Facultad de Ingeniera y
Arquitectura, Departamento de Ingeniera Elctrica, Electrnica y Computacin de la
Universidad Nacional Sede Manizales, y el Doctor Andrs Tovar Prez Director
Acadmico de la Universidad Nacional Sede Bogot, a quienes adems agradezco
enormemente su apoyo y colaboracin.



CONTENIDO


INTRODUCCIN y MOTIVACIN 12
1. MARCO TERICO 14
1.1. TEORA SOBRE MECANISMOS 14
1.1.1. Sntesis cinemtica 15
1.1.2. Categoras de la sntesis cinemtica 15
1.1.3. Mtodos y tcnicas de sntesis cinemtica 16
1.1.4. Diseo ptimo de mecanismos 17
1.1.5. Descripcin del ngulo de transmisin 18
1.1.6. Expresin del ngulo de transmisin 18
1.1.7. Porque optimizar ? 19
1.2. TEORA SOBRE OPTIMIZACIN 21
1.2.1. Variables de diseo 21
1.2.2. Funcin de costo u objetivo 21
1.2.3. Mtodo de la suma ponderada de funciones 23
1.2.4. Maximizacin 23
1.2.5. Restricciones del sistema 24
1.2.6. Forma estndar del modelo 24
1.2.7. Restricciones activas, inactivas y violadas 25
1.2.8. Solucin del problema de optimizacin 25
2. MODELAMIENTO 27
2.1. EL OPERADOR DE ROTACIN PURA 27
2.2. FORMA DE LA DIADA ESTANDAR 29
2.3. VARIABLES DE DISEO y FUNCION DE COSTO 31
2.4. RESTRICCIONES 36
2.4.1. Primera restriccin 36
2.4.2. Segunda restriccin 37
2.4.3. Tercera restriccin 40
2.4.4. Otras restricciones 41
3. FORMULACIN DEL PROBLEMA SEGN LA FORMA ESTANDAR 43
3.1. VARIABLES DE DISEO 44
3.2. VECTOR DE FUNCIONES OBJETIVO 45
3.2.1. Optimizacin multiobjetivo 48
3.2.2. Mtodo de la suma ponderada 49
3.3. RESTRICCIONES DE DISEO 49
3.3.1. Tipo desigualdad 49
3.3.2. Tipo igualdad 51
3.4. ENUNCIADOS DEL PROBLEMA DE OPTIMIZACIN 53
3.4.1. Enunciado del problema para 2 posiciones prescritas 53
3.4.2. Enunciado del problema para 3 posiciones prescritas 54
3.4.3. Enunciado del problema para 4 posiciones prescritas 56
3.4.4. Enunciado del problema para 5 posiciones prescritas 57
3.5. SOLUCIN DEL PROBLEMA DE OPTIMIZACIN USANDO MATLAB 59
4. RESULTADOS 61
4.1. EJEMPLOS DE APLICACIN PARA 2 POSICIONES PRESCRITAS 61
4.1.1. Descripcin del dibujo ilustrado en la ventana de datos (Figura 21) 63
4.1.2. Descripcin del dibujo ilustrado en la ventana de resultados (Figura 22) 63
4.2. EJEMPLO DE APLICACIN PARA 3 POSICIONES PRESCRITAS 67
4.3. EJEMPLO DE APLICACIN PARA 4 POSICIONES PRESCRITAS 69
5. CONCLUSIONES 70
6. TRABAJO FUTURO 72
REFERENCIAS 73
ANEXO A - DESCRIPCIN DE LA INTERFAZ GRFICA 75
ANEXO B - MANUAL DE USUARIO 77
ANEXO C - CDIGO DEL ALGORITMO 83


LISTA DE FIGURAS

Figura 1. Representacin de un mecanismo de 4 barras 14
Figura 2. Mecanismo generador de movimiento: Tren de aterrizaje de un avin miniatura 16
Figura 3. Angulo de transmisin 18
Figura 4. Enfoque geomtrico del ngulo de transmisin 19
Figura 5. Relacin geomtrica entre la ventaja mecnica y el ngulo 20
Figura 6. Grfica de una funcin objetivo. 22
Figura 7. Maximizacin de una funcin objetivo. 23
Figura 8. Representacin vectorial de un mecanismo generador de movimiento 27
Figura 9. Mecanismo en varias posiciones sucesivas. 28
Figura 10. ngulos y vectores para el modelamiento del mecanismo. 29
Figura 11. Dada del motriz y del acoplador 30
2
X
5
X
Figura 12. Vector de posicin R
0
38
Figura 13. Descripcin de la tercera restriccin 40
Figura 14. Espacio factible para los pares fijos 41
Figura 15. Datos y variables para 2 posiciones prescritas. 43
Figura 16. Datos y variables para 3 posiciones prescritas. 43
Figura 17. Datos y variables para 4 posiciones prescritas. 44
Figura 18. Datos y variables para 5 posiciones prescritas. 44
Figura 19. Estructura general del algoritmo 60
Figura 20. Datos del problema 1. Sntesis de 2 posiciones 62
Figura 21. Ventana de datos del problema 1. Sntesis de 2 posiciones 62
Figura 22. Ventana de resultados del problema 1. Sntesis de 2 posiciones 63
Figura 23. Dibujo del mecanismo del problema 1 en su entorno operativo. 64
Figura 24. Ventanas de datos y resultados del problema 2. Sntesis de 2 posiciones 65
Figura 25. Ventana de datos y resultados del problema 3. Sntesis de 2 posiciones 66
Figura 26. Ventana de datos y resultados del problema. Sntesis de 3 posiciones 67
Figura 27. Solucin alternativa para el problema de sntesis de 3 posiciones 68
Figura 28. Ventana de datos y resultados del problema. Sntesis de 4 posiciones 69
Figura 29. Ventana de datos prescritos 75
Figura 30. Ventana de Resultados 76
Figura 31. Orientacin de cada posicin prescrita. 78
Figura 32. Posicin relativa de cada posicin prescrita. 78
Figura 33. Posicin relativa de la zona del bastidor. 79
Figura 34. Condicin inicial 81




LISTA DE TABLAS

Tabla 1. Estado de una restriccin. 25
Tabla 2. Factores de peso del vector de objetivos 49
Tabla 3. Archivo de datos. Dos_posic_DAT.m 84
Tabla 4. Archivo principal. Dos_posic_EXE.m 84
Tabla 5. Archivo de funciones objetivo. Dos_posic_fun.m 86
Tabla 6. Archivo de restricciones. Dos_posic_Res.m 87




INTRODUCCIN y MOTIVACIN

Esta tesis incluye un trabajo en el campo de la sntesis dimensional de mecanismos que se
enmarca dentro del rea de la dinmica de cuerpos rgidos, particularmente en la rama de la
cinemtica que trata del estudio de la geometra del movimiento sin hacer referencia a la
causa que lo produce.

Cuando se requiere un artefacto que sea capaz de guiar un cuerpo a travs de una secuencia
de movimientos prescrita, generalmente se piensa que la solucin es un sistema
automatizado de actuadores mecnicos que coordinados electrnicamente cumplen con la
tarea de movimiento, sin embargo la solucin ser costosa y estar sobredimensionada a
menos que la tarea deba ajustarse en funcin del ambiente operativo.

Las tareas de conduccin de cuerpo rgido que no requieran ajustarse, pueden satisfacerse
mediante mecanismos de barras generadores de movimiento, que son un recurso
econmico, prctico, confiable y fcil de implementar; sin embargo no siempre es fcil
obtener un diseo que satisfaga las restricciones de montaje presentes en una necesidad de
movimiento real y que adems tenga ndices de mrito adecuados.

Un ndice de mrito ayuda a identificar dentro de un conjunto de soluciones, cual es la que
con mayor efectividad transmite el movimiento. Se eligi el ngulo de transmisin como el
ndice a optimizar debido a su afectacin directa sobre importantes parmetros de
funcionamiento del mecanismo, tales como la ventaja mecnica, la razn de velocidades
angulares y el ngulo de presin.

Para la formulacin del problema de optimizacin se eligi el conjunto de variables de
diseo apropiado de manera que puedan representarse los eslabones de un mecanismo
generador de movimiento que debe pasar a travs de 2, 3, 4 o 5 posiciones prescritas y
cuyos pares fijos deben confinarse dentro de un rea especfica. La tarea de generacin de
movimiento (posicin y orientacin del eslabn acoplador) se satisface mediante las
restricciones de diseo. Para simplificar la formulacin del problema se aplic el concepto
del operador de rotacin pura.

El ngulo de transmisin para cada posicin prescrita se describe mediante una expresin
diferente por lo tanto fue necesario obtener un vector de objetivos. Como era de
importancia que tal ngulo tuviese valores ptimos particularmente en las posiciones inicial
y final, se aplic la estrategia de la suma ponderada de funciones de forma que se
destacaron las funciones objetivo correspondientes.

Dado que las expresiones obtenidas para describir el modelo son de naturaleza no lineal, se
us la tcnica programacin cuadrtica secuencial (SQP), que representa el estado del
12

arte en las tcnicas de programacin no lineal (NLP) basadas en la filosofa de la direccin
de descenso.

Cuando se emplea SQP (y la gran mayora de mtodos de optimizacin) la solucin
depende en gran medida de la condicin inicial. As que es probable que sea necesario
probar diversos conjuntos de datos hasta encontrar una solucin, pero para el caso que
atae este trabajo, preparar e introducir los datos correspondientes en forma manual era
una tarea larga y tediosa, y en la mayora de las veces no se saba si se avanza en la
direccin correcta. Por lo tanto se desarroll una interfaz grfica (GUI) que permite sealar
mediante el Mouse de forma rpida e intuitiva dicha condicin inicial, adems ayuda a
seguirle la pista a una mejor solucin.

El algoritmo y el GUI desarrollados le ofrecen al diseador una buena herramienta para
encontrar mecanismos de barras, que de manera eficientes solucionen los problemas
asociados con la conduccin de un cuerpo rgido a travs de una serie de posiciones
prescritas.




13



1. MARCO TERICO


1.1. TEORA SOBRE MECANISMOS

Reuleaux
1
, define mecanismo como una "combinacin de cuerpos resistentes conectados
por medio de articulaciones para formar una cadena cinemtica cerrada con un eslabn fijo
y cuyo propsito es transformar el movimiento". En un mecanismo las articulaciones se
denominan pares; los cuerpos resistentes eslabones; y el eslabn fijo bastidor o marco. El
eslabn que no est unido directamente al bastidor se designa como acoplador.

El mecanismo formado por cuatro eslabones (de tipo barra) y cuatro pares de revoluta
(pasador) es el ms simple que existe, no obstante en el mbito industrial es el ms
utilizado a todo nivel, desde juguetes y electrodomsticos hasta mquinas herramientas de
alta precisin. Su versatilidad y extendido uso se debe fundamentalmente a su simplicidad y
a la posibilidad de enlazarse con otros eslabonamientos para formar mecanismos de 5 o ms
eslabones.

En la Figura 1 se ilustra los eslabones y pares de un mecanismo de 4 barras, tanto en
representacin detallada 1(a) como en forma vectorial 1(b).


Figura 1. Representacin de un mecanismo de 4 barras
X1
1
X4
X2
X3
(a) (b)
O
B
A
2
3
4
4
2
O


El eslabn 1 o X
1
es el bastidor o marco, el eslabn 2 o X
2
es el de entrada o motriz, el
eslabn 3 es el flotante o acoplador X
3
, el eslabn 4 o X
4
es el de salida o seguidor.

1
F. Reuleaux (1829 - 1905). Especialista Alemn en cinemtica cuyo trabajo marc el principio de un estudio
sistemtico de la cinemtica.
14

El estudio de los mecanismos se puede dividir en 2 partes; anlisis y sntesis. En el anlisis
se evala si un mecanismo existente es adecuado para desarrollar cierto trabajo o tarea,
mientras que en la sntesis se establecen tamaos, formas, composicin y disposicin de los
eslabones para que desempeen una tarea de movimiento prescrita. Concretamente, la
sntesis cinemtica busca encontrar el mecanismo adecuado que reproduzca un movimiento
particular


1.1.1. Sntesis cinemtica
Dependiendo del punto de partida en un problema de diseo de mecanismos, la sntesis
cinemtica puede ser [Erdman, 1997]:


Sntesis de Tipo: busca definir cual es la combinacin topolgica (barras, ruedas
dentadas, leva-seguidor etc.) de eslabones y el tipo de articulaciones (pares de revoluta,
prismtico, helicoidal, de rodadura etc.) ms apropiada para resolver una tarea de
movimiento.

Sntesis Dimensional: se parte del conocimiento de la topologa del mecanismo (nmero
y tipo de eslabones y pares) y busca establecer las dimensiones y posicin inicial de una
potencial solucin para una tarea de movimiento. La sntesis dimensional se utiliza
preferiblemente en la creacin de mecanismos cuya topologa es un eslabonamiento de
barras.

Dependiendo de la tarea que un mecanismo desempee, se puede clasificar dentro de
algunas de las siguientes categoras.


1.1.2. Categoras de la sntesis cinemtica
Erdman y Sandor [Erdman, 1997] clasifican los mecanismos que realizan una determinada
tarea, de la siguiente forma:

Generador de movimiento: aqu es muy importante el movimiento total del acoplador
(Posicin y orientacin angular). Ver la Figura 2.

Generador de funcin: aqu resulta de inters las fuerzas o el movimiento relativo entre
los eslabones conectados a tierra.

Generador de trayectoria: aqu es de inters la trayectoria que sigue un punto ubicado
sobre el acoplador (curva de acoplador) y no la rotacin misma de este.




15




Figura 2. Mecanismo generador de movimiento: Tren de aterrizaje de un avin miniatura

Tren de aterrizaje
de un avin
miniatura
148.0
90.0
65.6
C
B
A
A = 0,0
B = 13.4,-15.8
C = 27.7,-18.8
Acoplador
Fuselaje


Fuente: Basado en el problema 8.20 de [Erdman, 1997]


El diseo de cualquiera de estos mecanismos se puede hacer de muchas formas posibles.


1.1.3. Mtodos y tcnicas de sntesis cinemtica
Para disear un mecanismo siempre se parte de ciertos datos y restricciones, como por
ejemplo; un nmero de posiciones, un movimiento especfico del eslabn de seguidor o de
salida o una trayectoria particular, una ubicacin de los pares fijos, etc. De tales datos se
obtiene la geometra de unos puntos a travs de los cuales se debe mover la solucin
encontrada. Los mtodos para encontrar dicha solucin se pueden agrupar de la siguiente
forma [Norton, 2005]:

Mtodos basados en puntos de precisin: Se usan para sntesis dimensional. El
mecanismo obtenido pasa exactamente a travs de los puntos pero es probable que pueda
desviarse entre ellos. Estos mtodos acoplan un mximo de 9 puntos (hasta 5 puntos en
la generacin de movimiento, 7 en la generacin de funcin y 9 en la generacin de
trayectoria). Se pueden usar para sintetizar cualquiera de los generadores descritos
anteriormente, adems son relativamente rpidos, fciles de comprender y de llevar a las
aulas de clase, son computacionalmente viables, pueden resolver problemas con pares
fijos o encontrar muchas soluciones, desafortunadamente no puede entregar soluciones
ptimas o al menos eliminar las defectuosas. Su mayor limitacin est en los pocos
puntos que pueden manejar, sobre todo para tareas crticas como generacin de funcin
16

y trayectoria donde son deseables ms de 7 9 puntos, sin embargo en el mbito
industrial un generador de movimiento puede trabajar muy bien con solo 3 4 puntos.
All lo que importa no es el nmero de puntos sino que la solucin sea simple, eficiente,
funcional y libre de defectos.

Mtodos basados en ecuaciones de la curva del eslabn acoplador: Se usan para sntesis
dimensional. El mecanismo obtenido debe seguir una curva de acoplador que se
aproxime a la forma descrita por una ecuacin algebraica (de orden 6 y hasta de 15
trminos). Pueden manejar entre 10 y 15 puntos y solo se pueden usan en generadores de
trayectoria.

Mtodos de optimizacin: Se usan para sntesis de tipo y dimensional. Tienen muy poco
en comn excepto la necesidad de ser programadas en un computador y de una funcin
objetivo. La funcin se construye a partir de los datos y condiciones del problema. A
esta se le aplica una tcnica de optimizacin de la que resultan los puntos que describen
una trayectoria particular, los puntos de esta trayectoria no pasan exactamente por la
trayectoria deseada pero se aproximan lo suficiente como para ser aceptados en la
mayora de trabajos de ingeniera. Manejan grandes cantidades de puntos (Implica una
carga computacional mas alta) y aunque pueden usarse en cualquier tarea de generacin
se usan preferiblemente en las de trayectoria y funcin. Cuando hay numerosas
condiciones de diseo, encontrar la funcin objetivo puede ser una tarea ms titnica que
encontrar la solucin misma (aun para la popular tcnica de los mnimos cuadrados). El
advenimiento de computadores poderosos ha contribuido en gran medida a que estas
tcnicas tengan tantos adeptos, sin embargo la mayora de los mtodos son complejos y
matemticamente complicados.


1.1.4. Diseo ptimo de mecanismos
La solucin obtenida al disear un mecanismo de barras generador de movimiento, adems
de satisfacer las restricciones geomtricas y de montaje presentes en una necesidad de
movimiento real, debe tener ndices de mrito adecuados.

Los ndices de mrito [Uicker, 2003] revelan si un mecanismo es eficiente o no y pueden
determinarse exclusivamente mediante la geometra del mismo. Existen numerosos ndices,
tales como la ventaja mecnica, la razn de las velocidades de salida a la de entrada, el
ngulo de presin, etc. Sin embargo es el ngulo de transmisin , el ndice que ayuda a
identificar dentro de un conjunto de soluciones, cual es la que con mayor efectividad
transmite el movimiento, adems est relacionado en forma directa con otros ndices, de
manera que su afectacin incide en ellos. Se puede afirmar que un buen ngulo de
transmisin es la solucin a muchos de los problemas en mecanismos [Balli, 2002].




17

1.1.5. Descripcin del ngulo de transmisin
El ngulo de transmisin es un ndice de mrito, que se define como el menor ngulo
entre la direccin del vector de diferencia de velocidad V
B/A
del eslabn flotante
(acoplador) y la direccin de la velocidad absoluta V
B
del eslabn de salida (seguidor),
ambas direcciones tomadas en el ltimo par mvil del mecanismo [Hartenberg, 1964] (ver
la Figura 3a). Es importante sealar que depende de cuales eslabones se han elegido
como acoplador y seguidor; por ejemplo si se transpone la funcin de los eslabones unidos
a tierra, convirtindose al motriz en seguidor y viceversa, debe medirse en el par A, no en
B.

Cuando los vectores X
3
y X
4
forman un ngulo agudo, los ngulos y de la Figura 3 son
congruentes y por lo tanto = . Si el ngulo incluido entre dichos vectores, no es agudo
entonces = 180 - . El ngulo cambia a medida que el mecanismo se mueve. En un
mecanismo de 4 barras, est comprendido entre 0 y 90.


Figura 3. Angulo de transmisin
B

A
(a)

2
B
(b)
X2
X1
X3
X4
X3
X4
X3
X4
VB
VB/A



1.1.6. Expresin del ngulo de transmisin
Como en el diseo cinemtico de mecanismos no se conocen las longitudes de los
eslabones ni sus masas, la expresin del ngulo de transmisin debe obtenerse
cinemticamente. Aplicando el enfoque geomtrico sugerido por [Balli, 2002] a los
mdulos de los vectores mostrados en la Figura 4 se puede deducir una expresin para el
ngulo .

Al aplicar el teorema del coseno a los tringulos O
2
AO
4
y BAO
4
se infiere que
y
2 2 2
1 2 1 2
H 2 X X X X cos = +
2 2 2
3 4 3 4
H 2 X X X X cos = + . Si se iguala H y se despeja ,
se obtiene:

18

2 2 2 3
1 1 2 1 2 3 4
3 4
2
2
X X X X cos X X
cos
X X
min

+ + +
=

(1)
Figura 4. Enfoque geomtrico del ngulo de transmisin

H
B
A
A
B
A
O
X2
X1
X3
X4
X1
X2
X4
X3
4
2
O
2
O
4
O
4
O



1.1.7. Porque optimizar ?
El ngulo guarda una importante relacin con la ventaja mecnica. Esta ltima es una
medida de la capacidad con que un mecanismo transmite un movimiento. Para el caso de un
mecanismo de 4 barras es la relacin instantnea entre el momento de carga resistiva
4
en
el eslabn de salida y el momento de entrada aplicado al eslabn de entrada, es decir:


4
2

VM=



Si se supone que el mecanismo de la Figura 5, carece de fuerzas de inercia o de friccin
durante su operacin, o que estas son despreciables comparadas con
2 4
, se puede
afirmar que la potencia de entrada aplicada al eslabn de entrada es el negativo de la
potencia aplicada al eslabn de salida debido a la accin de la carga, es decir:
y

4 2
2 2 4 4
2 4
(cualquiera de estas 2 razones puede


usarse como indice de mrito)
= =

Del teorema de la razn de velocidades la razn de las velocidades angulares de 2 cuerpos
cualesquiera en movimiento plano, en relacin con un tercer cuerpo, es inversamente
19

proporcional a los segmentos en los que el centro instantneo comn corta la lnea de los
centros y de la Figura 5 se puede inferir que:

2 4 4 2
4 2 2 4
y por lo tanto
CO CO
CO CO
= =
4
2
=


Figura 5. Relacin geomtrica entre la ventaja mecnica y el ngulo

4
4
2
2
C
B'
A'
B
A
2
4
Centro instantneo
de los eslabones 2 y 4
Linea de centros
O2 O4



Por tringulos semejantes se puede observar que:

( )
( )
( )
( )
4 4
4 4 2
2 2 2 4 2
y por lo tanto la ventaja mecnica es: VM =
O B O B CO
CO O A O A
sin sin
sin sin
= =

=

Como se evidencia la ventaja mecnica es directamente proporcional al sin (), entonces
valores pequeos del ngulo, la empequeecen y por lo tanto reducen la efectividad con
que se transmite el movimiento desde el acoplador hacia el seguidor, incluso una cantidad
muy pequea de friccin har que el mecanismo se trabe [Uicker, 2003].

El mnimo valor de sugerido por Tao esta entre 35 y 45 [D. C. Tao, 1964], Von H. Alt
propone 40 [Von H. Alt, 1932], en concordancia con una regla emprica general, Edman y
Sandor sugiere rechazar cualquier mecanismo de justas de revoluta (pasador), que tenga
ngulos de transmisin menores a 30 [Erdman,1997].

Cuanto menos se desve de 90, mejor ser el funcionamiento del mecanismo, por lo tanto
el valor ptimo de es 90 [Balli, 2003]. En el enunciado del problema de diseo de un
generador de movimiento, las posiciones a travs de las cuales el mecanismo debe moverse
son conocidas. Es de suma importancia que tenga valores ptimos en tales posiciones,
sobre todo en la inicial y la final.

20

Otro ndice de mrito que est directamente relacionado con el ngulo es el ngulo de
presin . El ngulo es tambin un buen indicador de la calidad con que se transmite el
movimiento, pero es principalmente un factor que establece el grado de sensitividad del
mecanismo a pequeos errores en la fabricacin de sus eslabones. Un valor alto de este
ngulo sumado a errores de diseo o construccin (por ejemplo, debido a tolerancias
geomtricas inadecuadas) har que el mecanismo tienda a bloquearse con facilidad
[Sutherland, 1974]. Pequeos ngulos de presin son consistentes con mnimos errores
mecnicos [Hartenberg, 1964]. El ngulo es el complemento del ngulo , es decir
= 90 - .

Los argumentos enunciados en esta seccin son suficiente evidencia para demostrar por qu
debe optimizarse el ngulo .


1.2. TEORA SOBRE OPTIMIZACIN

Uno de los mayores desafos para cualquier diseador es encontrar un sistema eficiente y
econmico que sin comprometer su integridad, pueda resolver un problema particular. Las
tcnicas de optimizacin ofrecen al diseador un camino para alcanzar este objetivo, y se
basan en conceptos matemticos como el algebra vectorial y el clculo con mltiples
variables.

El riguroso proceso para encontrar soluciones mediante optimizacin implica identificar un
conjunto de variables de diseo, definir la funcin de costo u objetivo y las funciones que
restringen el sistema. A este proceso se le conoce como formulacin matemtica del
problema de diseo. Es generalmente aceptado que la correcta formulacin toma alrededor
del 50% del esfuerzo total necesario para resolverlo.

1.2.1. Variables de diseo
El primer paso en la formulacin del problema, consiste en identificar el conjunto de
variables (
1 2
, ,...,
n
) x x x = x que describen al sistema, cuando a estas se le asigna un valor
numrico se obtiene una solucin al problema. Si la solucin no satisface todas las
restricciones, se considera que no es factible.

Es deseable que las variables sean independientes unas de otras, tanto como sea posible o
de lo contrario habra que aadir ms restricciones al sistema para que no haya
inconsistencias, lo que podra complicar innecesariamente la formulacin del problema.
Obteniendo las variables dependientes en trminos de las independientes o asignndoles
valores numricos es posible eliminarlas.


1.2.2. Funcin de costo u objetivo
Un problema particular puede tener muchas soluciones posibles, algunas de las cuales son
mejores que otras. Para establecer cuales son las mejores se debe tener unos criterios que
21

permitan hacerlo. Un criterio usado es el de la funcin objetivo , que es una funcin
escalar cuyo valor numrico se obtiene al darle valores a las variables de diseo. La mejor
solucin del problema ser la configuracin de variables de diseo que minimice tal
funcin.
( ) f x

Por ejemplo, dada la funcin objetivo de cierto sistema ( )
2
200 170 54 f x x = + x es
necesario encontrar el valor de x que minimice a ( ) f x . Cada valor dado a x arroja otro
valor para ( ) f x ; por ejemplo para el punto A de la grafica de la funcin mostrada en la
Figura 6, ; en el punto B , ( ) 0 200 x f x = = ( ) 0.5 128.5 x f x = = , para este caso solo
hay un punto que hace que la funcin adquiera el mnimo valor y es el punto C, donde
. ( ) 1.574 66.204 x f x = =


Figura 6. Grfica de una funcin objetivo.



Concluyendo; en un problema de optimizacin es la funcin objetivo quien valora el
funcionamiento de un sistema.

En algunos problemas es posible que sea necesario optimizar en forma simultnea 2 o ms
funciones objetivo (por ejemplo minimizar el peso y la deflexin del armazn de una
mquina), a los cuales se les denomina problemas de optimizacin multiobjetivo. Aqu lo
que se busca es minimizar un vector de objetivos ( ) F x . Como cada una de las funciones
que compone dicho vector compite con las dems, al encontrarse una solucin el logro de
una funcin implicar la degradacin de las otras [Pareto, 1971]. Aunque existen
22

numerosas tcnicas para obtener el vector de objetivos, solo se describe la tcnica de la
Suma ponderada que se usa en este trabajo.

1.2.3. Mtodo de la suma ponderada de funciones
La tcnica emplea unos coeficientes de peso que por lo general establecen el grado de
importancia de las funciones objetivo dentro del vector ( ) F x . El vector se expresa de la
siguiente manera:


( ) ( ) ( ) ( ) ( ) ( )
1 1 2 2
1
*
1 2
... es decir
en donde es no negativo; ... 1; 1 ;
n
n n n n
i
n
F f f f F f
n n
=
= + + + =
+ + + = >

x x x x x



x
x
2



1.2.4. Maximizacin
El problema de maximizacin se aborda transformando la funcin objetivo de manera que
. Al transformar la funcin de la seccin ( ) ( ) f = x 1.2.2, resulta
( )
2
(200 170 54 ) 200 170 54 x x x x = + = + x , cuya grfica se observa en la siguiente
figura. El valor de x que maximiza la funcin se da cuando ( ) 1.574 66.204 x x = =


Figura 7. Maximizacin de una funcin objetivo.


Se evidencia que es una reflexin de ( ) f x ( ) x con relacin al eje x , y que el mnimo
valor de ocurre en el mismo punto donde ( ) f x ( ) x es mximo. Por lo tanto la
minimizacin de es equivalente a la maximizacin de ( ) f x ( ) x .


23

1.2.5. Restricciones del sistema
El sistema a disear puede tener condiciones que limitan su operacin. Para la formulacin
matemtica del problema de diseo tales condiciones son denominadas restricciones, que
son funciones del tipo igualdad ( ) h x o del tipo desigualdad y se obtienen en
trminos de las variables de diseo. Las restricciones pueden ser tan simples como el
mnimo (o mximo) valor de dichas variables o pueden tan complejas como una expresin
no lineal.
( ) g x


Las restricciones ( ) h x definen de manera precisa la condicin que debe ser satisfecha por
la solucin (por ejemplo ) lo que puede limitar significativamente el espacio o regin
de soluciones factibles, mientras que las restricciones
3 x =
( ) g x lo hacen de una forma laxa. La
coleccin de todas las soluciones factibles se conoce como regin factible y se denota .
Una formulacin con muchas restricciones hace que se encoja.

Cuando los valores encontrados para las variables de diseo satisfacen las restricciones, se
dice que es un punto de diseo y se denota como . Dependiendo de cmo se satisfacen
estas, se pueden considerar como activas, inactivas o violadas.
*
x

1.2.6. Forma estndar del modelo
La forma estndar del modelo es un esfuerzo por unificar el lenguaje para formular
matemticamente un problema de optimizacin sin importar el campo del saber al cual
pertenezca. El enunciado del problema debe transcribirse de la siguiente manera:

Encontrar un vector-n ( )
1 2
, , . . . ,
n
x x x = x de variables de diseo para minimizar la
funcin objetivo.

( ) ( )
1 2
, , . . . ,
n
f f x x x = x

Sujeto a p restricciones de tipo igualdad.

( ) ( )
1 2
, , . . . , 0; 1 hasta
j j n
h h x x x j = = x p
m


Sujeto a m restricciones de tipo desigualdad.

( ) ( )
1 2
, , . . . , 0; 1 hasta
i i n
g g x x x i = x

En donde p es el nmero total de restricciones tipo igualdad y m es el nmero total de
restricciones tipo desigualdad.

El nmero de restricciones ( )
j
h x debe ser menor o cuando menos igual al nmero de
variables de diseo. Lo contrario evidenciara que hay algunas restricciones que no son
independientes o que la formulacin del problema es inconsistente.
24

Si son lineales en sus variables de diseo, entonces el problema es
denominado, problema de programacin lineal. Si una de estas funciones no es lineal el
problema es llamado problema de programacin no lineal.
( ) ( ) ( ) , y g
j i
f h x x x

1.2.7. Restricciones activas, inactivas y violadas
Empleando la notacin de la forma estndar del modelo, la siguiente tabla resume la
condiciones que debe cumplirse para que una restriccin sea activa, inactiva o violada.


Tabla 1. Estado de una restriccin.

condicin Restricciones de tipo igualdad
Restricciones de tipo
desigualdad
activa
( )
0 h =
*
x
( )
0 g =
*
x
inactiva
( )
0 h
*
x
( )
0 g <
*
x
violada -------
( )
0 g >
*
x


1.2.8. Solucin del problema de optimizacin
Cuando el nmero de variables de diseo y restricciones es grande, o las funciones del
problema de diseo son altamente no lineales, o no es posible obtener las funciones
objetivo y restricciones de forma explicita y funcional en trminos de variables de diseo
independientes, resolver el problema mediante mtodos analticos puede ser muy difcil o
no aplicable en todos los casos.

Debido a esto es necesario usar una aproximacin sistemtica al ptimo mediante un
algoritmo basado mtodos numricos. Usando un estimado inicial para las variables de
diseo, el algoritmo va modificndolas iterativamente y a la vez verifica que se satisfagan
las condiciones de optimalidad (establecen si un punto de diseo es candidato a ptimo). El
objetivo es alcanzar un valor menor para la funcin de costo en cada iteracin.

El proceso iterativo se puede describir mediante la siguiente ecuacin vectorial:

( ) ( ) ( )
k+1 k k
k
+ = X X d

Donde k representa el nmero de iteracin y un pequeo movimiento en el espacio
de diseo hacia un punto que represente un mnimo local. El vector es la direccin en
que se hace el movimiento (direccin de bsqueda) y
( )
k
k
d
( )
k
d
k
es un escalar positivo que define
el tamao del movimiento (tamao de paso).

La idea bsica del algoritmo es partir de un razonable punto de diseo (condicin inicial
) que al ser evaluado en las derivadas y funciones de diseo (costo y restricciones) del
( ) 0
X
25

problema, permita estimar la direccin de bsqueda y el tamao de paso
k
( )
k
d que
permitira moverse a un nuevo punto de diseo en caso que el algoritmo no haya
convergido.

Encontrar un punto que haga mas pequea la funcin objetivo se puede expresar
matemticamente como:

( )
( )
( )
( )
( ) ( )
( )
( )
( )
k+1 k k+1 k k
k
es decir f f f f < + x x x d < x

En la vecindad del punto es posible aproximar la funcin mediante la expansin de
Taylor y por lo tanto:
( )
k
X

( )
( )
( )
( )
( )
( )
( )
( )
k k k
k
f f f + < x x d i
k
x
)


En donde es el gradiente de
( )
(
k
f x ( ) f x en el punto . Geomtricamente
( )
k
X
( )
( )
k
f x
es el vector normal al plano tangente en el punto de la grfica de la funcin, tambin
puede asociarse con la direccin de mximo incremento de la funcin. Para que se satisfaga
la anterior desigualdad debe cumplirse que:
( )
k
X

( )
( )
( )
( )
k k
k
f 0 < x d i

A su vez, para que se satisfaga la anterior desigualdad (denominada condicin de descenso)
y en concordancia con la definicin del producto punto, el ngulo entre los vectores
debe estar entre 90 y 270. En otras palabras cualquier vector que
satisfaga dicha desigualdad har que el movimiento en esa direccin haga disminuir la
funcin de costo.
( )
( )
( )
k
y f x d
k ( )
k
d

Existen tcnicas bastante conocidas que se basan en el hecho que el negativo del gradiente
representa la direccin de bsqueda (mtodos del gradiente). Aunque los mtodos del
gradiente son simples (solo usan la informacin del gradiente) y robustos (convergen) tiene
ratas de convergencia bajas (se requiere un gran nmero de iteraciones), y adems son
ineficientes (cada iteracin es independiente de las otras). Otros mtodos que incluyen la
informacin de segundo orden (el Hessiano) como el de Newton, tienen buena propiedades
de convergencia, sin embargo son ineficientes y en muchos casos puede ser muy tedioso o
imposible calcular el Hessiano.

Los mtodos conocidos como quasi-Newton o de actualizacin del Hessiano, que se basan
en un procedimiento que usa la ltima iteracin y el gradiente para obtener en forma
aproximada el Hessiano, tienen las caractersticas deseadas de los mtodos descritos
anteriormente. La tcnica Programacin cuadrtica secuencia SQP usada en este trabajo,
es quien representa el estado del arte en las tcnicas de NLP basadas en la filosofa de la
direccin de descenso.
26



2. MODELAMIENTO


Los conceptos del operador de rotacin pura y la ecuacin de cierre de circuito, necesarios
para simplificar el modelo matemtico de un mecanismo que pasa a travs de mltiples
posiciones sucesivas son revisados en este capitulo. Una vez expuestos se contina con la
descripcin de la tcnica de la forma de dada estndar y las dificultades que ofrece al tratar
de usarse directamente en la obtencin de una funcin objetivo.

Adems se describen los datos y variables que intervienen en el problema de diseo de
mecanismos asociados con el trabajo de tesis, las variables de diseo, la funcin objetivo y
las restricciones necesarias para lograr que el algoritmo entregue soluciones ptimas.


2.1. EL OPERADOR DE ROTACIN PURA

En la Figura 8 se ilustra los eslabones y pares de un mecanismo generador de movimiento,
tanto en representacin detallada 8(a) como en forma vectorial 8(b).


Figura 8. Representacin vectorial de un mecanismo generador de movimiento

1
O
2
(a)
4
O
2
A
3
4
X2
(b)
X1
X4
B
X5
m
X3
X6

El eslabn 3 (descrito mediante los vectores X
3
, X
5
Y X
6
) es el flotante o acoplador. Cabe
destacar que en un mecanismo generador de movimiento es muy importante el movimiento
total del eslabn acoplador [Erdman, 1997] (su orientacin angular y las coordenadas del
punto m).

27

Para representar un mecanismo que se mueve a lo largo de varias posiciones sucesivas se
usa un conjunto de vectores diferente para cada posicin. Como se puede evidenciar en la
Figura 9, para la primera posicin los vectores son X
2
, X
3
, X
4
, X
5
, X
6
; para la segunda X
2
*,
X
3
*, X
4
*, X
5
*, X
6
*; para la j-sima X
2j
, X
3j
, X
4j
, X
5j
, X
6j
(X
1
no cambia por ser el
bastidor). Obtener cualquier expresin matemtica que involucre ms de una posicin sera
complejo de no ser por el operador de rotacin pura.


Figura 9. Mecanismo en varias posiciones sucesivas.

X6j
X5j
X3j
X1
X2
X5
X5*
X3*
X6*
X4
X3
X6


El operador de rotacin pura permite representar la segunda, tercera y j-sima posicin de
un cuerpo rgido en trminos de la primera. Por ejemplo para representar el eslabn motriz
en la segunda posicin X *, basta multiplicar el vector X por el vector
.
2 2
) (
1 1
1 1
identidad de Euler e e cos sin

+
i i
i
1
e
i
es el operador de rotacin pura y
1
es
el ngulo que rota el eslabn desde la primera posicin.

A continuacin se ilustran las expresiones de los eslabones del mecanismo en la segunda y
en la j-sima posicin:

1 1 1 1
; ; ; ;
; ; ; ;
j j j j
e e e e
e e e e e
1
j
e


= = = = =
= = = = =
i i i i
2 2 3 3 4 4 5 5 6 6
i i i i
2j 2 3j 3 4j 4 5j 5 6j 6
X * X X * X X * X X * X X * X
X X X X X X X X X X

i
i


Al usar el operador de rotacin los vectores y ngulos que deberan introducirse en el
modelamiento matemtico del mecanismo en varias posiciones sucesivas son: (en la Figura
10 se ilustran)
28


1 1 1
...
j j j
, , , , , , , ... , , , ... , , , ,
1 2 3 4 5 6
X X X X X X


Figura 10. ngulos y vectores para el modelamiento del mecanismo.

j
1
j 1
j
X1
X2
X4
1
X5
X6
X3


2.2. FORMA DE LA DIADA ESTANDAR

En sntesis dimensional, todos los mtodos basados en puntos de precisin y algunos de
otras categoras, se fundamentan en la forma de la dada estndar.

La combinacin de dos vectores se llama dada. Dos dadas definen plenamente la
geometra de un mecanismo de cuatro barras. En la Figura 11 se ilustra una de ellas; los
vectores
5
representan los eslabones motriz y acoplador en la primera posicin, y ,
2
X X


j j
e , e
i
2 5
X X
i
a los mismos eslabones en otra posicin diferente denominada j-sima. Las
posiciones ( . . . ,
j
, ,
1 2
P P P ) junto con
1 2
. . . ,
j
, ,
, ,
son dadas por el enunciado del
problema y se denominan posiciones prescritas.

Sumando los vectores en una trayectoria cerrada en sentido horario (ecuacin de cierre de
circuito) que parte de O
2
y vuelve a este, se obtiene:

( ) ( )

1
1

0
Si entonces:
para la dada se tiene: 1 1 en donde 2 3 ... n
j j
j
j j
j j
j
e e
e e j ,

+ + =
=
+ = =
i i
2 5 5 2
i i
2 4 2 5
X X R R X X
R R
X y X X X


29

Si se conocen el vector
j
y el ngulo
j
, la ecuacin anterior se denomina forma de la
dada estndar. De manera equivalente se obtiene otra ecuacin para los vectores : ,
4 6
X X

( ) ( )
para la dada se tiene: 1 1 en donde 2 3 ... n
j j
j
e e j ,

+ = =
i i
4 6 4 6
X y X X X , ,

Figura 11. Dada del motriz y del acoplador
2
X
5
X
0,0
O
2
4
O
X2
X1
X4
X5
X3
X6
X2 e
i j
X5 e
i j
R j R1
j
j
P1
Pj
j


Las ecuaciones de cada dada se resuelven separadamente asumiendo valores para algunas
incgnitas; por ejemplo para 3 posiciones prescritas resultan 4 ecuaciones con 12 incgnitas
de las cuales es necesario asumir valores para 4 de ellas (las incgnitas son las
componentes escalares de los vectores
1 2 1 2
, , y los ngulos , , , , ,
2 5 4 6
X X X X ). A
continuacin se muestran las ecuaciones de las dadas.

( ) ( )
( ) ( )
1 1
1
2 2
2
1 1
dada
1 1
e e
e e

+ =

+ =

i i
2 5
2 5
i i
2 5
X X
X y X
X X

( ) ( )
( ) ( )
1 1
1
2 2
2
1 1
dada
1 1
e e
e e

+ =

+ =

i i
4 6
4 6
i i
4 6
X X
X y X
X X


Para el caso de 2 y 3 posiciones prescritas es posible obtener una solucin lineal, solo si se
asumen los ngulos. De otra forma se obtiene un sistema de ecuaciones con expresiones
transcendentales cuya solucin se obtiene mediante tcnicas de resolucin de ecuaciones no
lineales.
30


Cuando en este trabajo se habla de restricciones de montaje, se hace referencia a que se
conoce la posicin de los pares fijos (es decir el vector
1
X ) o al menos un rea dentro de la
cual es posible ubicar los pares fijos del mecanismo. Como se puede evidenciar las
ecuaciones de la forma de la dada estndar no incluye a , sino que se obtiene una vez
encontrados .
1
X
y , ,
2 5 4 6
X X X X ,

Para el caso del generador de movimiento, Loerch y otros desarrollaron un procedimiento
para incluir a directamente en la forma de la dada estndar pero solo aplica para 2 y 3
posiciones prescritas [Loerch, 1975]. Posteriormente presentaron una tcnica para 3
posiciones prescritas, que permita encontrar los lugares geomtricos de los pares fijos
(ciertamente a ) a partir de una variacin sistemtica de los ngulos
1
X
1
X
1 2 1 2
, , , [Loerch,
1979]. Peterson y otros presentaron una mejora del software LINCAGES que permite
entrar la posicin del bastidor de antemano y de forma interactiva probar diversos
conjuntos de valores para las incgnitas pudindose encontrar soluciones para 3 y 4
posiciones [Peterson, 1988]. Estos trabajos no obtienen soluciones con ngulos de
transmisin ptimos.

La forma de dada de manera explicita no involucra al ngulo de transmisin , por lo tanto
se proceder a obtener una expresin que represente tal ngulo y que pueda usarse para 2,
3, 4 o 5 posiciones prescritas y cuyos pares fijos estn confinados a un rea prescrita.


2.3. VARIABLES DE DISEO y FUNCION DE COSTO

La expresin del ngulo , ilustrada en la ecuacin (1) de la seccin 1.1.6 es la funcin de
costo. Por conveniencia se ilustra de nuevo a continuacin:

2 2 2 3
1 1 2 1 2 3 4
3 4
2
2
X X X X cos X X
cos
X X
min

+ + +
=



=


Podra pensarse que las variables de diseo son ya que a partir de ellas,
es posible obtener 2 mecanismos (un mecanismo cruzado y otro abierto). Sin embargo,
como se desea representar el mecanismo en mltiples posiciones sucesivas es necesario
usar el operador de rotacin pura, por lo tanto tales variables deben expresarse en trminos
de las componentes escalares de los vectores correspondientes, adems para simplificar la
formulacin del problema de optimizacin es deseable que las variables de diseo sean lo
ms independientes unas de otras [Belegundu, 1999] y [Arora, 2004] cosa que no es cierta
ya que es factible obtener por lo menos una de ellas en trminos de las otras.
1 2 3 4
y X , X , X , X

31

Las variables ms significativas para el trabajo son:

X
1
ya que representa al bastidor y debido a las restricciones de montaje esta confinado a
un rea cuyos lmites son conocidos. Adems est relacionado con .
X
2
ya que es el eslabn motriz y est relacionado con .
X
3
representa al eslabn acoplador y es clave para definir un generador de movimiento.

A partir de lo afirmado anteriormente se concluye que es necesario obtener a X
4
y en
trminos de X
1
, X
2
, X
3
.

Para hallar X
4,
se puede deducir el modulo del vector X
4
en trminos de las componentes
escalares de los vectores X
1
, X
2
y X
3
, planteando una ecuacin vectorial a partir del
polgono ilustrado en la Figura 10.

Ecuacin de cierre + = 0 = + +
2 3 4 1 4 1 2
X X X X X X X X
3


Separando parte real e imaginaria, el vector X
4
se puede expresar como nmero complejo
en forma cartesiana as:

( )
1 2 3 1 2 3
4
4
componente escalar
componente escalar
=
x x x y y
x
y
y
X
X
X X X X X X + + + + +
4
X i




Al aplicar el teorema de Pitgoras a las componentes escalares, resulta:

( ) ( )
( ) ( )
2
2
2 2 2
4 4 4 1 2 3 1 2 3
2
2
2 2
4 4 4 1 2 3 1 2 3


x x x x x y y y
x y x x x y y y
X X X X X X X X X
X X X X X X X X X
= + = + + + + +
= + = + + + + +


El ngulo esta comprendido entre los vectores X
1
y X
2
. Se puede deducir una expresin
para este, mediante la diferencia de los argumentos de los vectores, a su vez tales
argumentos se definen en trminos de sus componentes escalares.

2 1 2 1 1 1
2 1 2 1
2 1 2
; ; ;
y y y
x x x
X X X
tan tan tan tan
X X X


= = = =


1 1
1
y
x
X
X



Ahora es necesario representar a X
1,
X
2
y X
3
en trminos de las componentes escalares de
X
1
, X
2
y X
3.
Aplicando el teorema de Pitgoras a las componentes cartesianas de los
vectores:

32

2 2 2 2 2
1 1 1 1 1 1 1 1
2 2 2 2 2
2 2 2 2 2 2 2 2
2 2 2 2 2
3 23 3 3 3 3 3 3
= ;
= ;
= ;
x y x y x y
x y x y x y
x x y x y
X X X X X X X X
X X X X X X X X
X X X X X X X X
+ = + = +
+ = + = +
+ = + = +
1
2
3
X i
X i
X i


Es conveniente representar las componentes escalares del bastidor
1 1
y
x y
X X en trminos de
la posicin absoluta de los pares fijos O
2
y O
4
de manera que se manejar en forma
independiente. Por lo tanto:

4 2 4
1 O O 1 O
y
x y
X x x X y y
2
O
= =

Mientras que
( )
2 2
O O
x , y representan las coordenadas absolutas del par O
2
;
( )
4 4
O O
x , y son
las del para O
4
. Finalmente la expresin del ngulo de transmisin para la posicin inicial
es:

( ) ( ) ( ) ( )
( ) ( ) ( )( )
( )
( )
( )
( ) ( ) ( ) ( ) ( )
4 2 4 2
4 2 4 2
4 2
4 2
4 2 4 2
2 2
2 2
O O O O 2 2
2 2
2 2
O O O O 2 2
O O
2 1 1 2 2
3 3
2 O O
2 2
O O 2 3 O O 2 3
1
2
3
2

2
x y
x y
y
x y
x
x x y y
x
x x y y X X ...
... ... x x y y X X
y y
X
... cos tan tan X X ...
X x x
... x x X X y y X X
cos
X X

+ + +
+ + +


+ + +




+ + + + + +
=
+ ( ) ( ) ( ) ( ) ( ) ( )
4 2 4 2
2 2
2
O O 2 3 O O 2 3 3 x x y y y
x x X X y y X X












+ + + + +




min

=

(2)


Las variables de diseo para describir el mecanismo en la posicin inicial, son:

2
2
4
4
O 2
O 2
O 4
O 4
2
Coordenada horizontal absoluta del par O
Coordenada vertical absoluta del par O
Coordenada horizontal absoluta del par O
Coordenada vertical absoluta del par O
Componente escalar h

x
x
y
x
y
X
2
3
3
orizontal del motriz
Componente escalar vertical del motriz
Componente escalar horizontal del acoplador
Componente escalar vertical del acoplador

y
x
y
X
X
X

33


Para obtener una expresin general que represente al ngulo de transmisin en cualquier
posicin, se aplic el operador de rotacin pura a los vectores correspondientes y se
dedujeron de nuevo los mdulos y ngulos respectivos. Con el objeto de diferenciarlos de
los de la ecuacin (2) se us el subndice j que denota la j-sima posicin.

Por el operador de rotacin pura se tiene :
j
e =
i
2j 2
X X
Las componentes cartesianas del vector X
2
son : ( )
2 2
2 2 2 2 x y
cos sin X X = + +
2
X i
Al usar la identidad de Euler se tiene :
2
2 2
2 2 x y
e X X

= +
i
2
X
Por lo tanto :
( )
2
2
2 2
2 2
2 2
2 2
j
x y
j
x y
e e X X
e X X

+
= +
= +
i i
2j
i
2j
X
X

Donde :
2 1
2
2
y
x
X
tan
X


=



Al aplicar de nuevo la identidad, se obtienen las componentes cartesianas y escalares del
vector :
2j
X


2 2 1 1 2 2 2
2 2 2 2
2 2
2 2
componente escalar componente escalar

y y
j j
2
x y x
x x
x y
j j
X X
X X
cos tan sin tan
y
X X X
X X


= + + + + +


2j
X i

X (3)

Al aplicar Pitgoras a las componentes escalares, factorizar y usar la identidad
trigonomtrica resulta:
2 2
1 cos a sin a , + =

( )
2
2 2
2 2
2 2 2
2 2 2 2
=
j
j
x y x y
X X X X X X X = + = +


Como era de esperarse
2
y
j
2
X X representan la longitud de un cuerpo rgido.

Mediante un procedimiento similar se obtienen las componentes cartesianas y escalares del
vector
3j
X

3 3 1 1 2 2 2
3 3 3
3 3
3 3
componente escalar componente escalar

y y
j j x y
2
3 x y
x x
x y
j j
X X
X X
cos tan sin tan X X X X
X X


= + + + + +


3j
X i

(4)

34

Y se demuestra que:
( )
2 2
3 3
2 2 2
3 3 3 3 3
=
j j
x y x y
X X X X X X X = + = +

Para una posicin j-sima se puede ver qu (Figura 10):

Ecuacin de cierre
j
+ = 0 = + +
j j j j
j
2 3 4 1 4 1
2
X X X X X X X X
3


Por lo tanto:

( )
4 2
4
2 1 2 2
O O 2 2
2
3 1 2 2
3 3
3
O
4
componente escalar



y
j x y
x
y
j x y
x
x
j
X
X
x x cos tan ... X X
X
...
X
... cos tan X X
X
y
...


+ + + +



= +



+ + +



+
4j
X
i

( )
2
2 1 2 2
O 2 2
2
3 1 2 2
3 3
3
4
componente escalar


y
j x y
x
y
j x y
x
y
j
X
X
y sin tan ... X X
X
X
... sin tan X X
X


+ + + +






+ + +

(5)

Es decir:

( )
2 2
4 4
2 2 2
4 4 4 4 4
=
j j j j j j
y x y x
X X X X X X X = + = +

El ngulo comprendido entre los vectores X
1
y X
2j
, no es el mismo de la ecuacin (2), por
esto se identific como
j

:
[ ]
4 2
4 2
4 2
4 2
O O 2 1 1
2 1 2 1
2 O
O O 2 1 1
2 O O
+ donde y
+
y
j j
x
y
j j
x
y y X
tan tan
X x
y y X
tan tan
X x x




= = =



O
x


Finalmente la expresin general del ngulo de transmisin para la posicin j-sima es:

35

( ) ( ) ( ) ( )
( ) ( ) ( )( )
( )
( ) ( ) ( )
4 2 4 2
4 2 4 2
4 2
4 2
4 2 4 2
2 2
2 2
O O O O 2 2
2 2
2 2
O O O O 2 2
O O 2 1 1 2 2
3 3
2 O O
2
O O 2 3 O O 2
1
2
+
j j
x y
x y
y
j x y
x
x x
x x y y X X ...
... ... x x y y X X
y y X
... cos tan tan X X ...
X x x
... x x X X y y X
cos

+ + +
+ + +


+ + +





+ + + + +
=
( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
4 2 4 2
2
3
2 2
2 2
O O 2 3 O O 2 3 3 3
2
j j
j j j j
y y
x x y y x y
X
x x X X y y X X X X









+



+ + + + + +




min

=

(6)


En la ecuacin (6) no se han remplazado
2 2 3 3
j j j j
x y x y
X , X , X , X por razones de espacio.
Ntese que las variables de diseo para describir el mecanismo en la posicin j-sima, son
las mismas 8 de la posicin inicial mas una adicional:

ngulo de rotacin del eslabn motriz respecto a su posicin inicial
j


j
es el ngulo de rotacin del acoplador respecto a su posicin inicial y en vista que es un
dato conocido no puede ser entendido como una variable de diseo.


2.4. RESTRICCIONES

2.4.1. Primera restriccin
Partiendo de las variables de diseo descritas en la seccin anterior es posible encontrar
soluciones. Sin embargo estas tienen una seria inconsistencia relacionada con la longitud
cambiante del eslabn seguidor. Es decir su longitud va variando a medida que el
mecanismo alcanza las posiciones prescritas. Esta variacin se debe a que tal longitud se
obtuvo en trminos de las componentes escalares de los vectores que representan al
bastidor, el motriz y el acoplador.

Como el modulo del seguidor debe ser igual en cualquier posicin entonces:

Posicin 1 Posicin 2 Posicin j-sima
4 4 4
X X ... X = = =
Por lo tanto:

Posicin 2 Posicin 2 Posicin j-sima Posicin j-sima
2 2 2 2 2 2
4 4 4 4 4 4
. . .
y y y x x x
X X X X X X = = = + + +
36


Es decir

( ) ( )
( )
Posicin 2 Posicin 2 Posicin j-sima Posicin j-sima
2 2 2 2 2 2
4 4 4 4 4 4
. . .
y y y x x x
X X X X X X = = = + + + (7)

Posicin 2 Posicin 2 Posicin j-sima Posicin j-sima
2 2
4 4 4 4
. . .
y x x
, , , , X X X X
y
se pueden inferir de la ecuacin (5)

Para 2 posiciones prescritas es necesaria una restriccin. Para 3 posiciones se requieren 2
restricciones. Para 4 posiciones, 3 restricciones. Para 5 posiciones, 4 restricciones.

2.4.2. Segunda restriccin
Para un generador de movimiento es muy importante la orientacin del acoplador as como
la posicin del punto m (Figura 8) en cada una de las posiciones prescritas. Es evidente
que tal orientacin se ha tendido en cuenta en la ecuacin (6) mediante el ngulo
j
de
3 3
j j
x y
X , X , pero no as, la posicin de m.

Para satisfacer la posicin de m se us como referente el enfoque descrito por Loerch
[Loerch, 1975] relacionado con la inclusin un vector de posicin en la representacin
vectorial del mecanismo. Para la posicin inicial del mecanismo las componentes escalares
del vector R
0
(Figura 12) representan las coordenadas de m respecto al par O
4
.

Al igual que X
4
, el vector X
6
que presenta el inconveniente de cambiar su mdulo a medida
que el mecanismo se mueve. Para resolver este problema se aadi la siguiente restriccin.

Posicin 1 Posicin 2 Posicin j-sima
6 6 6
X X ... X = = = (8)

Para 2 posiciones prescritas es necesaria una restriccin. Para 3 posiciones se requieren 2
restricciones. Para 4 posiciones, 3 restricciones. Para 5 posiciones, 4 restricciones.

Es conveniente expresar a X
6
en trminos de las componentes escalares de los vectores R
0
,
X
1
, X
2
, y X
3
, por lo tanto a partir de la Figura 12 se puede deducir la siguiente ecuacin de
cierre:

+ = 0 = +
0 1 2 3 6 6 0 1 2
R X X X X X R X X X
3

37


Figura 12. Vector de posicin R
0

X1
X2
R0
X4
X3
X5
X6
m


De donde:
( )
0 1 2 3 0 1 2 3
6
6
componente escalar
componente escalar
=
x x x x y y y
x
y
X
X
y
R X X X R X X X + + +
6
X i



Es decir:

( ) ( )
( ) ( )
2
2
2 2 2
6 6 6 0 1 2 3 0 1 2 3
2
2
2 2
6 6 6 0 1 2 3 0 1 2 3


x y x x x x y y y y
x y x x x x y y y y
X X X R X X X R X X X
X X X R X X X R X X X
= + = + + +
= + = + + +


Si se supone que las componentes escalares de R
j
representan las coordenadas de m
respecto al par O
4
para la posicin j-sima, se puede inferir la siguiente ecuacin de cierre:

+ = 0 = +
j 1 2j 3j 6j 6j j 1 2j 3
R X X X X X R X X X
j


De donde:
( ) 1 2 3 1 2 3
6 6
componente escalar componente escalar
=
j j j j j
x x x x y y y y
x y j j
X X
R X X X R X X X + + +
6j
X i


38

Es decir:
( ) ( )
( ) ( )
2 2
2 2 2
6 6 6 1 2 3 1 2 3
2 2
2 2
6 6 6 1 2 3 1 2 3


j j j j j j j j j
j j j j j j j j
x y x x x x y y y y
x y x x x x y y y y
X X X R X X X R X X X
X X X R X X X R X X X
= + = + + +
= + = + + +
j
4

Las coordenadas del punto m para cada una de las posiciones prescritas es un dato
conocido (ver la Figura 2). Como tales coordenadas se toman con relacin a la primera
posicin prescrita es de suponer que el origen de coordenadas del sistema est en la cabeza
del vector de posicin R
0
, y por lo tanto las componentes escalares de todos los vectores de
posicin se pueden expresar en trminos de las variables de diseo
2 2 4
O O O O
, , , x y x y . De
forma que:

4 4
4 4
4 4
4 4
0 0 O O
1 posicin 2 1 posicin 2 O O
2 posicin 3 2 posicin 3 O O
posicin j posicin j O O
;


j j
x y
x y
x y
x y
R R x y
R x R y x y
R x R y x y
R x R y x y
= =
= =
= =
= =



Donde
posicin 2 posicin 2 posicin j posicin j
representan las coordenadas ... x , y , ,x , y x, y de las
posiciones 2, , j-sima medidas respecto a la primera posicin prescrita.

Finalmente:

( ) ( ) ( ) ( ) ( )
4 4 2 4 4 2
posicin j 2 3 posicin j 2 3 O O O O O O
=
j j j j
x x y y
x X X y x x x y y y + + +
6j
X i X X

( )
2 2
posicin j 2 3 posicin j 2 3 O O
6
6
componente escalar
componente escalar
=
j j j j
x x
x
y j
j
X
X
x X X y X x y +
6j
X i

y y
X

(9)

Es decir:

( ) ( )
( ) ( )
2 2
2 2
2 2
2 2 2
6 6 6 posicin j 2 3 posicin j 2 3 O O
2 2
2 2
6 6 6 posicin j 2 3 posicin j 2 3 O O


j j j j j j j
j j j j j j
x y x x y y
x y x x y y
X X X x X X y X X x y
X X X x X X y X X x y
= + = +
= + = +
j
j


2 2 3 3
j j j
x y x y
X , X , X , X se pueden inferir de las ecuaciones (3) y (4).



39

2.4.3. Tercera restriccin
Aunque el algoritmo entrega resultados en los que la parte del acoplador representada por el
vector X
3
satisface el ngulo
j
, no sucede lo mismo con la parte del acoplador
representada por el vector X
6
. La siguiente restriccin evita que se presente esta
inconsistencia en las soluciones encontradas mediante el algoritmo.

Del operador de rotacin pura se puede inferir que:

Posicin 1 Posicin 2
Posicin 1 Posicin 3
Posicin 1 Posicin j-sima
6 1 6
6 2 6
6 6 j
+ =
+ =
+ =



Donde
6
es el argumento del vector X
6
medido respecto al eje horizontal positivo. En la
Figura 13 se ilustra este concepto.


Figura 13. Descripcin de la tercera restriccin

X6
X3

X3
X6
6 Posicin j-sima
6 Posicin 1
j
j
j


Posicin 1
2
Posicin 1
2
6 0 1 2
-1 1
6
6 0 1 2
posicin 1 2 3 O
1
6
posicin 1 2 3 O
tan tan
tan
3
3
y y y y y
x x x x x
y y
x x
X R X X
X R X X
y X X y
x X X x

+
= =

+


=




X
X


40

Posicin j-sima
2
Posicin j-sima
2
6 1 2
-1 1
6
6 1 2
posicin j 2 3 O
1
6
posicin j 2 3 O
tan tan
tan
j j j
j j j
j j
j j
y y y y
x x x x
y y
x x
X R X X
X R X X
y X X y
x X X x

+
= =
+


=


3
3
j
j
y
x
X
X




Entonces:

2
2
2 2
posicin j 2 3 O
posicin 1 2 3 O
1 1
posicin 1 2 3 posicin j 2 3 O O
tan tan
j
j j
y y
y y
j
x x x x
y X y
y X X y
x X X x X x x


+ =





j
X
X
(10)

2 2 3 3
j j j j
x y x y
X , X , X , X se pueden inferir de las ecuaciones (3) y (4). Al igual que en las
anterior restricciones, se tienen que para 2 posiciones prescritas es necesaria una
restriccin. Para 3 posiciones se requieren 2 restriccionesetc.


2.4.4. Otras restricciones
Dado que los pares fijos deben confinarse a un rea prescrita, son necesarias 8 restricciones
para satisfacer este requerimiento. Suponiendo que el rea es rectangular, las coordenadas
absolutas de los extremos de una de las diagonales la definen.


Figura 14. Espacio factible para los pares fijos

X1
FACTIBLE
(xSD, ySD)
(xII, yII)
(xO2, yO2)
(xO4, yO4)
NO FACTIBLE


Usando la nomenclatura de la Figura 14 se establecen las correspondientes restricciones.

41

2
2
4
4
II O SD
II O SD
II O SD
II O SD
x x x
y y y
x x x
y y y




(11)

En vista que la magnitud del vector X
1
debe ser mayor a cierto valor n (puede ser entrado
por el usuario) se debe usar la siguiente restriccin:

( ) ( )
4 2 4 2
2 2
2 2
1 O O 1 1 x y O O
X n x x y y X X = + n + (12)

Para garantizar que el algoritmo entregue soluciones en las que el eslabn motriz tenga una
rotacin continua debe cumplirse que:

2 1
0
j
... > > > > (13)

Aunque es ideal que las soluciones tengan ngulos de transmisin de 90, debe imponerse
un lmite inferior para este ndice de mrito. Erdman y Sandor sugiere rechazar cualquier
mecanismo de justas de revoluta (pasador), que tenga ngulos de transmisin menores a 30
[Erdman,1997] por lo tanto:

1 2
... , 30
j
, ,

(14)

Con el propsito que se pueda tener control sobre las longitudes de los eslabones motriz y
acoplador en relacin a la del bastidor, se han aadido 2 restricciones ms:

( ) ( )
( ) ( )
4 2 4 2
4 2 4 2
2 2
2 2
2 1 2 2 O O O O
2 2
2 2
3 1 3 3 O O O O
x y
x y
X mX m X X x x y y
X pX p X X x x y y
+ +
+ +
(15)

Con lo que se logra que el tamao del eslabn correspondiente sea menor o igual a m, o p
veces la longitud del bastidor.

42



3. FORMULACIN DEL PROBLEMA SEGN LA FORMA ESTANDAR

Las figuras siguientes ilustran los datos conocidos (lnea de trazo gruesa) y las variables de
diseo (Encerradas en crculos y/o lnea continua gruesa) para cada una de posiciones
prescritas. La formulacin del problema debe hacerse en trminos de estos datos.

Figura 15. Datos y variables para 2 posiciones prescritas.

X 2x
X 2y
X 3x
X 3y
Posicin 2
1
1
xO2 yO2
yPosicin 2
xO4 yO4


Figura 16. Datos y variables para 3 posiciones prescritas.
1
1
2
2
X 2y
xO2 yO2
X 2x
X 3x
X 3y
xO4 yO4
Posicin 2
yPosicin 3
xPosicin 3
yPosicin 2



43

Figura 17. Datos y variables para 4 posiciones prescritas.
1
1
2
2
3
3
X 2x
X 2y
xO2 yO2
X 3x
X 3y
xO4 yO4
Las coordenadas de
posicin no se dibujaron


Figura 18. Datos y variables para 5 posiciones prescritas.
1
1
2
2
3
3
4
4
X 2y
X 2x
xO4 yO4
xO2 yO2
X 3x
X 3y
Las coordenadas de
posicin no se dibujaron



3.1. VARIABLES DE DISEO

En concordancia con la Figura 15, los datos para 2 posiciones prescritas son
posicin 2 posicin 2 1
x , y , y las variables de diseo
2 2 4 4
2 2 3 3 1 O O O O x y x y
X , X , X , X , , , , , x y x y ,
transcribindolas a la forma estndar del modelo, resultan:

44

( )
( )
2 2 4 4
2 posiciones 1 2 3 4 5 6 7 8 9
2 2 3 3 1 O O O O
, , , , , , , , ...
... , , , , , , , ,
x y x y
x x x x x x x x x
X X X X x y x y
=

x


Segn la Figura 16, para 3 posiciones prescritas los datos son
posicin 2 posicin 2
x , y ,
posicin 3 posicin 3 1 2
x , y , , y las variables de diseo
2 2 3 3 x y x y
X , X , X , X ,
1
,
2 2 4
2 O O O O
, , , ,
4
x y x y Transcribindolas a la forma estndar del modelo, resultan:

( )
( )
2 2 4 4
3 posiciones 1 2 3 4 5 6 7 8 9 10
2 2 3 3 1 1 O O O O
, , , , , , , , , ...
... , , , , , , , , ,
x y x y
x x x x x x x x x x
X X X X x y x y
=

x


Segn la Figura 17, para 4 posiciones prescritas los datos son
posicin 2 posicin 2
, x , y
posicin 3 posicin 3 posicin 4 posicin 4 1 2 3
x , y ,x , y , , , y las variables de diseo
2 2 3 3 x y x
,
1 y
X , X , X , X ,
2 2 4 4
2 3 O O O O
, , , , , x y x y transcribindolas a la forma estndar del
modelo, resultan:

( )
( )
2 2 4 4
4 posiciones 1 2 3 4 5 6 7 8 9 10 11
2 2 3 3 1 2 3 O O O O
, , , , , , , , , , ...
... , , , , , , , , , ,
x y x y
x x x x x x x x x x x
X X X X x y x y
=

x


Segn la
Figura 18, para 5 posiciones prescritas los datos son
posicin 2 posicin 2
,
posicin
x , y
3 posicin 3 posicin 4 posicin 4 posicin 5 posicin 5 1 2 3 4
x , y ,x , y ,x , y , , , , y las variables de
diseo
2 2 3 3 1 x y x y
X , X , X , X , ,
2 2 4
2 3 4 O O O O
, , , , , ,
4
x y x y transcribindolas a la forma
estndar del modelo, resultan:

( )
( )
2 2 4 4
5 posiciones 1 2 3 4 5 6 7 8 9 10 11 12
2 2 3 3 1 2 3 4 O O O O
, , , , , , , , , , , ...
... , , , , , , , , , , ,
x y x y
x x x x x x x x x x x x
X X X X x y x y
=

x


3.2. VECTOR DE FUNCIONES OBJETIVO

Para cada una de las posiciones prescritas es necesaria una funcin objetivo. Para la
primera posicin o inicial se transcribe la ecuacin (2) en trminos de las variables de
diseo (El subndice P1 representa la posicin inicial del mecanismo):






45

( ) ( ) ( ) ( )
( ) ( ) ( )( )
( )
( )
( )
( ) ( ) ( )
( ) ( ) ( ) ( )
2 2
2 2
7 5 8 6 1 2
2 2
2 2
7 5 8 6 1 2
8 6 1 1 2 2 2
3 4
1 7 5
2 2
1 3 5 7 2 6 8 4 1
P1
2 2
2 2
1 3 5 7 2 6 8 3 4 4
2

2
x x x x x x ...
... ... x x x x x x
x x x
... cos tan tan ... x x
x x x
... x x x x x x x x
cos
x x x x x x x x x x

+ + +

+ + +

+ +



+ + + + + +
=
+ + + + + +

+

( )
P1
1
P1


f min

x
P1
(16)


Para la segunda posicin se transcribe la ecuacin (6) en trminos de las variables de diseo
(El subndice P2 representa la segunda posicin del mecanismo):

( ) ( ) ( ) ( )
( ) ( ) ( )( )
( )
( )
( )
( )
P2 P2
2 2
2 2
7 5 8 6 1 2
2 2
2 2
7 5 8 6 1 2
8 6 1 1 2 2 2
9 3 4
1 7 5
2
2 3 5 7
1
P2
2


x x
x x x x x x ...
... ... x x x x x x
x x
x
... cos tan tan x ... x x
x x x
... X X x x
cos

+ + +
+ + +

+ + +



+ + + +
=
( ) ( )
( )
( ) ( ( )
+
)
P2 P2
P2 P2 P2 P2
2
2 3 6 8
2 2
2 2
2 3 5 7 2 3 6 8 3 4
2
y y
x x y y
X X x x
x x X X x x X X x x









+ +


+ + + + + +



( )
P2
2
P2


f min

x
P2
(17)

De las ecuaciones (3) y (4) se obtienen
P2 P2 P2 P2
2 2 3 3 x y x y
X , X , X , X , que en trminos de las
variables de diseo son:

P2 P2
P2 P2
1 1 2 2 2 2 2 2
2 9 2 9 1 2 1 2
1 1
1 1 4 2 2 4 2
3 1 3 3 4 3 4
3 3
;
;
x y
x y
x x
X cos tan x X sin tan x x x
2
1
x x
x x
x x
X cos tan X sin tan x x x
x x



= + = + + +



= + = + x + +






46

Para la tercera posicin (El subndice P3 representa la tercera posicin del mecanismo):

( ) ( ) ( ) ( )
( ) ( ) ( )( )
( )
( )
( )
( )
P3 P3
2 2
2 2
7 5 8 6 1 2
2 2
2 2
7 5 8 6 1 2
8 6 1 1 2 2 2
10 3 4
1 7 5
2
2 3 5 7
1
P3
2


x x
x x x x x x ...
... ... x x x x x x
x x
x
... cos tan tan x ... x x
x x x
... X X x x
cos

+ + +
+ + +

+ + +



+ + +
=
( ) ( )
( )
( ) ( ) ( )
+
P2 P2
P3 P3 P2 P2
2
2 3 6 8
2 2
2 2
2 3 5 7 2 3 6 8 3 4
2
y y
x x y y
X X x x
x x X X x x X X x x









+ + +


+ + + + + +



( )
P3
3 P
P3


f min

x
3
(18)

P3 P3
P3 P3
1 1 2 2 2 2 2 2
2 10 2 10 1 2 1 2
1 1
1 1 4 2 2 4 2
3 2 3 3 4 3
3 3
Donde: ;
;
x y
x y
x x
X cos tan x X sin tan x x x
2
2 4
x x
x x
x x
X cos tan X sin tan x x x
x x



= + = + +
x
+



= + = + + +




Para la cuarta posicin:

( ) ( ) ( ) ( )
( ) ( ) ( )( )
( )
( )
( )
( )
P4 P4
2 2
2 2
7 5 8 6 1 2
2 2
2 2
7 5 8 6 1 2
8 6 1 1 2 2 2
11 3 4
1 7 5
2
2 3 5 7
1
P4
2


x x
x x x x x x ...
... ... x x x x x x
x x
x
... cos tan tan x ... x x
x x x
... X X x x
cos

+ + +
+ + +

+ + +



+ + +
=
( ) ( )
( )
( ) ( ( )
+
)
P4 P4
P4 P4 P4 P4
2
2 3 6 8
2 2
2 2
2 3 5 7 2 3 6 8 3 4
2
y y
x x y y
X X x x
x x X X x x X X x x









+ + +


+ + + + + +



( )
P4
4 P
P4


f min

x
4
(19)

47

P4
2
Donde:
x
X cos tan
P4
P4 P4
1 1 2 2 2 2 2 2
11 2 11 1 2 1 2
1 1
1 1 4 2 2 4 2 2
3 3 3 3 3 4 3 4
3 3
;
;
y
x y
x x
x X sin tan x x x x x
x x
x x
X cos tan X sin tan x x x x
x x



+ = + +

=
+





= + = + + +




Para la quinta posicin:

( ) ( ) ( ) ( )
( ) ( ) ( )( )
( )
( )
( )
( )
P5 P5
2 2
2 2
7 5 8 6 1 2
2 2
2 2
7 5 8 6 1 2
8 6 1 1 2 2 2
12 3 4
1 7 5
2
x x x

2 3 5 7
1
P5
2


x x
x x x x x x ...
... ... x x x x x x
x x
x
... cos tan tan x ... x x
... X X x x
cos

+ + +
+ + +

+ + + +




+ + +
( ) ( )
( )
( ) ( ) ( )

=
P5 P5
P5 P5 P5 P5
2 3 6 8
2 2
2 2
2 3 5 7 2 3 6 8 3 4
2
y y
x x y y
X X x x
x x X X x x X X x x









+ + +


+ + + + + +



2
( )
P5
5 P5
P5


f min

x (20)

P5 P5
1 1 2 2 2 2 2 2
2 12 2 12 1 2 1 2
1 1
Donde: ;
x y
x x
X cos tan x X sin tan x x x
P5 P5
1 1 4 2 2 4 2 2
3 4 3 4 3 4 3 4
;
x y
x x
x x
X cos tan
x x
X sin tan x
3 3
x x x
x x

= + = + + +



=


+ = + + +





Como se puede evidenciar, las expresiones para la segunda, tercera, cuarta y quinta
osicin solo difieren en los ngulos p
1 2 3 4
, , , y en las variables
9 10 11 12
x ,x ,x ,x que
presentan los ngulos
4 1 2 3
, , , re .
o s prescritas, es necesario usar las funciones n la f rmulacin del problema para 2 posicione E
objetivo de la primera y segunda posicin es decir ( ) ( )
1 2
y f f x x . Para la formulacin del
problema de 3 posiciones las func s ione ( ) ( ) ( )
1 2 3
, y f f f x x x , y as sucesivamente.


3.2.1. Optimizacin multiobjetivo

Como es necesario optimizar en forma simultnea ms de 2 funciones objetivo debe
obtenerse un vector de objetivos ( ) F x .

48

Dado que las funciones que describen el ngulo son de la misma naturaleza dimensional
antidad fsica) y que los ngulos de transmisin de la primera y ltima posicin prescrita
ue se transmita el movimiento desde el acoplador
acia el seguidor de manera efectiva, es evidente que debe usarse un criterio que destaque
de objetivos
(c
son los ms significativos para lograr q
h
( ) F x algunas funciones del vector . La Suma ponderada es la tcnica ms
propiada para alcanzar propsito.


3.2.2. Mtodo de la suma ponderada
en donde es no negativo; ... 1; 1 ;
n
n n + + + = >
isin de las posiciones prescritas extremas (primera y
ltima) son muy importantes y por lo tanto los coeficientes de peso sern asignados de
anera que tales posiciones tendrn valores ms altos que en las posiciones intermedias.
a siguiente tabla contiene el vector de objetivos y los coeficientes de peso para las
es prescritas consideradas en este trabajo. Los valores de los coeficientes se
asignaron de manera uniforme.


Ta 2. Factores de peso del vector de objetivos

Posiciones
a

De la seccin 1.2.3 se tiene:

( ) ( ) ( ) ( ) ( ) ( )
1 1 2 2
1
*
es decir ...
n
n n n n
i
F f f f F f
=
= + + + =

x x x x x x

1 2

Para lograr que se transmita el movimiento desde el acoplador hacia el seguidor de manera
efectiva, los ngulos de transm

m

L
posicion
bla
( ) F x Coeficientes de peso
prescritas
( ) ( )
1 1 2 2
f f + x x
1 2
= = 0.5 2
3 ( ) ( ) ( )
1 3 2
= = 0.4; = 0.2
1 1 2 2 3
f f f + + x x
3
x
4 ( ) ( ) ( ) ( )
1 4 2 3
= = 0.35; = = 0.15
1 1 2
f + + x x
2 3 3 4 4
f f f + x x
5 ( ) ( ) ( ) ( ) ( )
1 1 2 2 3 3 4 4 5 5
f f f f f + + + + x x x x x
1 5 2 3 4
= = 0.3; = = = 0.13


3.3. RESTRICCIONES DE DISEO
.3.1. Tipo desigualdad

Las ecuaciones de la seccin 2.4 que representan las restricciones de tipo desigualdad, son
transcritas en trminos de las variables de diseo descritas en la seccin 3.1.


3
49

De la ecuacin (11):

De la ecuacin (12):

2
2
4
4
II O SD II 5 5 SD
II O SD II 6 6 SD
II O SD II 7 7 SD
II O SD II 8 8 SD
0; 0
0; 0
0; 0
0; 0
x x x x x x x
y y y y x x y
x x x x x x x
y y y y x x y






( ) ( )
( ) ( )
4 2 4 2
2 2 2 2
O O O O 7 5 8 6
0 x x y y n n x x x x + +
De la ecuacin (13):

De la ecuacin (14):

30 0
30 0
... , 30 es decir ... , 30 30 0
30 0
j
f
f
, , , , f
f



8
8 9
9 10 2 1
10 11
11 12
0
0
0 0
0
0
j
x
x x
x x ...
x x
x x
<

+ <

+ < > > > >


+ <

+ <





( )
( )
( )
( )
( )
1
2
1 2 P1 P2 P5 3
4


5
30 0 f

x
x
x
x
x


onde ( ) ( ) ( )
1 2 5
f , f , ... , f x x D x provienen de las ecuaciones (16), (17), (18) , (19) y (20)
De la ecuacin (15):



50

( ) ( )
( ) ( )
( ) ( )
( ) ( )
4 2 4 2
4 2 4 2
2 2 2 2
2 2 2 2
2 2 O O O O 1 2 7 5 8 6
2 2 2 2
2 2
3 3 O O O O 3 4 7 5 8 6
0
0
x y
x y
m m X X x x y y x x x x x x
p x y y x x x x x x
+ + + +
+ +

.3.2. Tipo igualdad
e las ecuaciones (7), (8), (10) se deben derivar un total de 15 restricciones, debido a que
cesarias 3 restricciones, para 3 posiciones se requieren 6
stricciones. Para 4 posiciones, 9 restricciones. Para 5 posiciones, 12 restricciones.


De la ecuacin (7) se infiere que:

2 2
p X X x + +


3

Las ecuaciones de la seccin 2.4 que representan las restricciones de tipo igualdad, son
transcritas en trminos de las variables de diseo descritas en la seccin 3.1.

D
para 2 posiciones prescritas son ne
re
( ) ( )
( ) ( )
)
Posicin 1 Posicin 1 Posicin 2 Posicin 2
Posicin 2 Posicin 2 Posicin 3 Posicin 3
2 2 2 2
4 4 4 4
2 2 2 2
4 4 4 4
2 2
4 4
y y x x
y y x x
y x
X X X X
X X X X
X X
= + +
= + +
+
4 Posicin 5 Posicin 5
4 4y x

A partir de la ecuacin (5), se reemplazan a
por la correspondiente expresin que en trm
3.1 resultan las siguientes 4 restricciones:

)
)
=
=
)
( )
( ) ( )
P4 P4 P4 P4
P4 P4
P5 P5 P5 P5
2 2
2 3 5 7 2 3 6 8
2 2
2 3 6 8
2 2
2 3 5 7 2 3 6 8
0
0
x x y y
y y
x x y y
X X x x X X x x
X X x x ...
... X X x x X X x x
+ + + + =
+ +
+ + + + =

( ) (
Posicin 3 Posicin 3 Posicin 4 Posicin 4
Posicin 4 Posic
2 2
4 4
2
4 4
y x
y x
X X
X X
= +
+
( ) ( )
in
2 2 2
X X = +

Posicin 1 Posicin 1 Posicin 5 Posicin 5
2 2 2 2
4 4 4 4 y y x x
, ,..., , X X X X
inos de las variables de diseo de la seccin
( ) ( )
( ) (
( ) ( )
( ) (
( ) ( )
P2 P2 P2 P2
P2 P2 P2 P2
P3 P3 P3 P3
P3 P3 P3 P3
2 2
1 3 5 7 2 6 8 4
2 2
2 3 5 7 2 3 6 8
2 2
2 3 5 7 2 3 6 8
2 2
2 3 5 7 2 3 6 8
2 2
2 3 5 7 2 3 6 8
0
0
x x y y
x x y y
x x y y
x x y y
x x x x x x x ... x
... X X x x X X x x
X X x x X X x x ...
... X X x x X X x x
X X x x X X x x ...
...
+ + + + +
+ + + +
+ + + + +
+ + + +
+ + + + +
( ) (
( )
P4 P4
2 3 5 7 x x
X X x x + + +
51


De la ecuacin (8) se deduce que:

icin 4
6 6
6 6
X X
X X
X X
Posicin 1 Posicin 2
Posicin 2 Posicin 3
=
Posicin 3 Pos
Posicin 4 Posicin 5
6 6
6 6
X X
=
=

partir de la ecuacin (9), se reemplazan a por la
correspondiente expresin que en trminos de 3.1
resultan las siguientes 4 restricciones:

)
=
)
=

Posicin 1 Posicin 2 Posicin 5
2 2 2
6 6 6
, ,...,, X X X
las variables de diseo de la seccin
A
( ) ( )
( ) (
( ) ( )
( )
P2 P2 P2 P2
P2 P2 P2 P2
P3 P3 P3 P3
2 2
1 3 5 2 4 6
2 2
posicin 2 2 3 posicin 2 2 3 5 6
2 2
posicin 2 2 3 posicin 2 2 3 5 6
2
posicin 3 2 3 posicin 3 2 3 5
0
x x y y
x x y y
x x y y
... x x x x x x
... x X X y X X x x
x X X y X X ... x x
... x X X y X X x
+

+

( )
( ) ( )
( ) (
( ) ( )
P3 P3 P3 P3
P4 P4 P4 P4
P4 P4 P4 P4
2
6
2 2
posicin 3 2 3 posicin 3 2 3 5 6
2 2
posicin 4 2 3 posicin 4 2 3 5 6
2 2
posicin 4 2 3 posicin 4 2 3 5 6
posicin 5
0
0
x x y y
x x y y
x x y y
x
x X X y X X ... x x
... x X X y X X x x
x X X y X X ... x x
... x
=
+

+
=
) ( )
P5 P5 P5 P5
2 2
2 3 posicin 5 2 3 5 6
0
x x y y
y X X x x
(
X X =


De la ecuacin (10) se deriva que:

P2 P2 2 2
P2 P2 2 2
P3 P3 2 2
2 2
2 3 posicin 2 2 3 O O
1 1
1
2 3 posicin 2 2 3 O O
posicin 3 2 3 2 3 O O
1 1
2
2 3 posicin 3 2 O O
tan tan
tan tan
y y y y
x x x x
y y y y
x x x
X X y X X y y
X X x X X x x
y X X X y y
X X x X x x



+ =





+ =




X

P3 P3
P4 P4 2 2
P4 P4 2 2
P5 P5 2 2
2
posicin 5 2 3 2 3 O O
1 1
4
O
tan tan
y y y y
X X x x

3
2 3 posicin 4 2 3 O O
1 1
3
2 3 posicin 4 2 3 O O
2 3 po
tan tan
x
y y y y
x x x x
x x
X
X X y X X y y
X X x X X x x
y X X X X y y





+ =





+

=



P5 P5 2
sicin 5 2 3 O x x



X X x




52

De las cuales se obtienen las siguientes 4 restricciones en trminos de las variables de
diseo de la seccin 3.1:

P2 P2
P2 P2
P3 P3
P3 P3
posicin 2 2 3 6
1 1 2 4 6
1
posicin 2 2 3 1 3 5 5
posicin 3 2 3 6
1 1
2 4 6
2
posicin 3 2 3 1 3 5 5
tan tan 0
tan tan 0
y y
x x
y y
x x
y X X x
x x x
x X X x x x x
y X X x
x x x
x X X x x x x




+ =








+ =






P4 P4
P4 P4
P5 P5
P5
posicin 5 2 3 1 3 5 x x
x X X x x x
P5
posicin 4 2 3 6
1 1 2 4 6
3
posicin 4 2 3 1 3 5 5
posicin 5 2 3 6
1 1
2 4 6
4
5
tan tan 0
tan tan 0
y y
x x
y y
y X X x
x x x
x X X x x x x
y X X x
x x x
x




+ =








+ =




ado que a partir del enunciado del problema de optimizacin se procedi a desarrollar el
uacin para 2, 3, 4 y 5
osiciones prescritas.
para
Encontrar el vector de variables de diseo






3.4. ENUNCIADOS DEL PROBLEMA DE OPTIMIZACIN

D
algoritmo en MATLAB, tal enunciado se presenta a contin
p

3.4.1. Enunciado del problema 2 posiciones prescritas

( )
1 2 3 4 5 6 7 8 9
, , , , , , , , x x x x x x x x x = x que minimicen
l siguiente vector de objetivos (
1 2
y f f son las funciones objetivo de la seccin 3.2): e

( ) ( ) ( )
1 1 2 2
F f f = +

x x x

Sujeto a las siguientes restricciones:

( ) ( )
( ) ( )
( ) ( )
( ) ( )
1 5 II 5 2 5 5 SD
3 6 II 6 4 6 6 SD
5 7 II 7 6 7 7 SD
7 8 II 8 8 8 8 SD
0; 0
0; 0
0; 0
0; 0
g x x x g x x x
g x y x g x x y
g x x x g x x x
g x y x g x x y





( ) ( ) ( )
2 2
9 5 6 7 8 7 5 8 6
0 g x , x , x , x n x x x x +
( ) ( )
10 8 8 11 8 9 8 9
0; 0 g x x g x ,x x x < + <
53

( ) ( )
( ) ( )
12 1 2 3 4 5 6 7 8 1
13 1 2 3 4 5 6 7 8 9 2
30 0;
30 0
g x ,x ,x ,x ,x ,x ,x ,x f
g x ,x ,x ,x ,x ,x ,x ,x ,x f


x
x


( ) ( ) ( )
( ) ( ) ( )
2 2
2 2
14 1 2 5 6 7 8 1 2 7 5 8 6
2 2
2 2
15 3 4 5 6 7 8 3 4 7 5 8 6
0
0
g x ,x ,x ,x ,x ,x m x x x x x x
g x ,x ,x ,x ,x ,x p x x x x x x
+ +
+ +

( ) ( ) (
( ) (
P2 P2 P2 P2
2 2
1 1 2 3 4 5 6 7 8 9 1 3 5 7 2 6 8 4
2 2
2 3 5 7 2 3 6 8
0
x x y y
h x , x , x , x , x , x , x , x , x x x x x x x x ... x
... X X x x X X x x
)
)
+ + + + +
+ + + + =
( ) ( ) ( )
( ) (
P2 P2 P2 P
)
=
2
2 2
2 1 2 3 4 5 6 9 1 3 5 2 4 6
2 2
posicin 2 2 3 posicin 2 2 3 5 6
0
x x y y
h x , x , x , x , x , x , x ... x x x x x x
... x X X y X X x x
+

( )
P2 P2
posicin 2 2 3
1
... tan
y y
y X X


P2 P2
1
2 4 6
3 1 2 3 4 5 6 9 1
1 3 5
6
posicin 2 2 3 5
, , , , , , tan ...
0
x x
x x x
h x x x x x x x
x x x
x
x X X x


+




=



variables de diseo



3.4.2. Enunciado del problema para 3 posiciones prescritas

Encontrar el vector de ( )
1 2 3 4 5 6 7 8 9 10
, , , , , , , , , x x x x x x x x x x = x que
minimicen el siguiente vector de objetivos (
1 2 3
, y f f f son las funciones objetivo de la
eccin 3.2): s

( ) ( ) ( ) ( )
1 1 2 2 3 3
F f f f = + +

x x x x

Sujeto a las siguientes restricciones:

( ) ( )
( ) ( )
( ) ( )
( ) ( )
1 5 II 5 2 5 5 SD
3 6 II 6 4 6 6 SD
5 7 II 7 6 7 7 SD
7 8 II 8 8 8 8 SD
0; 0
0; 0
0; 0
0; 0
g x x x g x x x
g x y x g x x y
g x x x g x x x
g x y x g x x y





( ) ( ) ( )
2 2
9 5 6 7 8 7 5 8 6
0 g x , x , x , x n x x x x +
54

( ) ( )
( )
10 8 8 11 8 9 8 9
12 9 10 9 10
0; 0
0;
g x x g x ,x x x
g x ,x x x
< + <
+ <
( ) ( )
( ) ( )
( ) ( )
13 1 2 3 4 5 6 7 8 1
14 1 2 3 4 5 6 7 8 9 2
15 1 2 3 4 5 6 7 8 10 3
30 0;
30 0
30 0
g x ,x ,x ,x ,x ,x ,x ,x f
g x ,x ,x ,x ,x ,x ,x ,x ,x f
g x ,x ,x ,x ,x ,x ,x ,x ,x f



x
x
x


( ) ( ) ( )
( ) ( ) ( )
2 2
2 2
16 1 2 5 6 7 8 1 2 7 5 8 6
2 2
2 2
17 3 4 5 6 7 8 3 4 7 5 8 6
0
0
g x ,x ,x ,x ,x ,x m x x x x x x
g x ,x ,x ,x ,x ,x p x x x x x x
+ +
+ +

( )
( ) ( )
( ) (
( )
( ) ( )
P2 P2 P2 P2
P2 P2 P2 P2
P3
1 1 2 3 4 5 6 7 8 9
2 2
1 3 5 7 2 6 8 4
2 2
2 3 5 7 2 3 6 8
2 1 2 3 4 5 6 7 8 9 10
2 2
2 3 5 7 2 3 6 8
2
0
x x y y
x x y y
x
h x ,x ,x ,x ,x ,x ,x ,x ,x ...
... x x x x x x x ... x
... X X x x X X x x
h x ,x ,x ,x ,x ,x ,x ,x ,x ,x ...
... X X x x X X x x ...
... X X

+ + + + +
)
+ + + + =

+ + + + +
+
( ) (
P3 P3 P3
2 2
3 5 7 2 3 6 8
0
x y y
x x X X x x
)
+ + + =
( )
( ) ( )
( ) (
( )
( )
P2 P2 P2 P2
P2 P2 P2 P
3 1 2 3 4 5 6 9
2 2
1 3 5 2 4 6
2 2
posicin 2 2 3 posicin 2 2 3 5 6
4 1 2 3 4 5 6 9 10
2
posicin 2 2 3 posicin 2 2 3 5
)
=
)
=
0
x x y y
x x y y
h x , x , x , x , x , x , x ...
... ... x x x x x x
... x X X y X X x x
h x , x , x , x , x , x , x , x ...
... x X X y X X x

+
( )
( ) (
2
P3 P3 P3 P3
2
6
2 2
posicin 3 2 3 posicin 3 2 3 5 6
0
x x y y
... x
... x X X y X X x x


( )
( )
P2 P2
P2 P2
5 1 2 3 4 5 6 9
posicin 2 2 3 6
1 1 2 4 6
1
posicin 2 2 3 1 3 5 5
6 1 2 3 4 5 6 10
, , , , , , ... h x x x x x x x
y

1
2 4 6
2
1 3 5
... tan t
x x x
x x x


1
, , , , , , ...
... tan tan 0
an
y y
x x
x x x x x x
y X X x
x x x
x X X x x x x



+ =






h x
+



P3 P3
P3 P3
posicin 3 2 3 6
posicin 3 2 3 5
0
y y
x x
x
x X X x
X X
=







55

3.4.3. Enunciado del problema para 4 posiciones prescritas

Encontrar el vector de variables de diseo ( )
1 2 3 4 5 6 7 8 9 10 11
, , , , , x , , , , , x x x x x x x x x = x que
minimicen el siguiente vector de objetivos:

x
( ) ( ) ( ) ( ) ( )
1 1 2 2 3 3 4 4
F f f f f = + + +

x x x x x

Sujeto a las siguientes restricciones:
( ) ( )
( ) ( )
( ) ( )
( ) ( )
1 5 II 5 2 5 5 SD
3 6 II 6 4 6 6 SD
5 7 II 7 6 7 7 SD
7 8 II 8 8 8 8 SD
0; 0
0; 0
0; 0
0; 0
g x x x g x x x
g x y x g x x y
g x x x g x x x
g x y x g x x y





( ) ( ) ( )
2 2
9 5 6 7 8 7 5 8 6
0 g x , x , x , x n x x x x +
( ) ( )
( ) ( )
10 8 8 11 8 9 8 9
12 9 10 9 10 13 10 11 10 11
0; 0
0; 0;
g x x g x ,x x x
g x ,x x x g x ,x x x
< + <
+ < + <
( ) ( )
( ) ( )
( ) ( )
( ) ( )
14 1 2 3 4 5 6 7 8 1
15 1 2 3 4 5 6 7 8 9 2
16 1 2 3 4 5 6 7 8 10 3
17 1 2 3 4 5 6 7 8 11 4
30 0;
30 0
30 0
30 0
g x , x , x , x , x , x , x , x f
g x , x , x , x , x , x , x , x , x f
g x , x , x , x , x , x , x , x , x f
g x , x , x , x , x , x , x , x , x f




x
x
x
x


( ) ( ) ( )
( ) ( ) ( )
2 2
2 2
18 1 2 5 6 7 8 1 2 7 5 8 6
2 2
2 2
19 3 4 5 6 7 8 3 4 7 5 8 6
0
0
g x ,x ,x ,x ,x ,x m x x x x x x
g x ,x ,x ,x ,x ,x p x x x x x x
+ +
+ +

)
=
)
)
( )
( ) ( )
( ) (
( )
( ) ( )
P2 P2 P2 P2
P2 P2 P2 P2
P3
1 1 2 3 4 5 6 7 8 9
2 2
1 3 5 7 2 6 8 4
2 2
2 3 5 7 2 3 6 8
2 1 2 3 4 5 6 7 8 9 10
2 2
2 3 5 7 2 3 6 8
2
0
x x y y
x x y y
x
h x , x , x , x , x , x , x , x , x ...
... x x x x x x x ... x
... X X x x X X x x
h x , x , x , x , x , x , x , x , x , x ...
... X X x x X X x x ...
... X X

+ + + + +
+ + + +

+ + + + +
+
( ) (
( )
( ) ( )
( ) (
P3 P3 P3
P3 P3 P3 P3
P4 P4 P4 P4
2 2
3 5 7 2 3 6 8
3 1 2 3 4 5 6 7 8 10 11
2 2
2 3 5 7 2 3 6 8
2 2
2 3 5 7 2 3 6 8
0
0
x y y
x x y y
x x y y
x x X X x x
h x ,x ,x ,x ,x ,x ,x ,x ,x ,x ...
... X X x x X X x x ...
... X X x x X X x x
+ + + =

+ + + + +
+ + + +

=
56

( )
( ) ( )
( ) (
( )
( )
P2 P2 P2 P2
P2 P2 P2 P
4 1 2 3 4 5 6 9
2 2
1 3 5 2 4 6
2 2
posicin 2 2 3 posicin 2 2 3 5 6
5 1 2 3 4 5 6 9 10
2
posicin 2 2 3 posicin 2 2 3 5
0
x x y y
x x y y
h x , x , x , x , x , x , x ...
... ... x x x x x x
... x X X y X X x x
h x , x , x , x , x , x , x , x ...
... x X X y X X x

+
( )
( ) (
( )
( ) (
( )
2
P3 P3 P3 P3
P3 P3 P3 P3
P4 P4
2
6
2 2
posicin 3 2 3 posicin 3 2 3 5 6
6 1 2 3 4 5 6 10 11
2 2
posicin 3 2 3 posicin 3 2 3 5 6
2
posicin 4 2 3 pos 5
0
x x y y
x x y y
x x
... x
... x X X y X X x x
h x , x , x , x , x , x , x , x ...
... x X X y X X ... x x
... x X X y x

+

( )
P4 P4
2
icin 4 2 3 6
0
y y
X X x
)
=
)
)
=
=


( )
( )
P2 P2
P2 P2
7 1 2 3 4 5 6 9
posicin 2 2 3 6
1 1
2 4 6
1
posicin 2 2 3 1 3 5 5
8 1 2 3 4 5 6 10
1 1
2 4 6
2
1 3 5
, , , , , , ...
... tan tan 0
, , , , , , ...
... tan tan
y y
x x
h x x x x x x x
y X X x
x x x
x X X x x x x
h x x x x x x x
y
x x x
x x x


+



=
( )
P3 P3
P3 P3
P4 P4
P4 P4
posicin 3 2 3 6
posicin 3 2 3 5
9 1 2 3 4 5 6 11
posicin 4 2 3 6
1 1
2 4 6
3
posicin 4 2 3 1 3 5 5
0
, , , , , , ...
... tan tan 0
y y
x x
y y
x x
X X x
x X X x
h x x x x x x x
y X X x
x x x
x X X x x x x


=





+






=



3.4.4. Enunciado del problema para 5 posiciones prescritas

Encontrar el vector de variables de diseo ( )
1 2 3 4 5 6 7 8 9 10 11 12
, , , , , , , , , , , x x x x x x x x x x x x = x que
minimicen el siguiente vector de objetivos:


( ) ( ) ( ) ( ) ( ) (
1 1 2 2 3 3 4 4 5 5
F f f f f f = + + + +

x x x x x ) x


Sujeto a las siguientes restricciones:

57

( ) ( )
( ) ( )
( ) ( )
( ) ( )
1 5 II 5 2 5 5 SD
3 6 II 6 4 6 6 SD
5 7 II 7 6 7 7 SD
7 8 II 8 8 8 8 SD
0; 0
0; 0
0; 0
0; 0
g x x x g x x x
g x y x g x x y
g x x x g x x x
g x y x g x x y





( ) ( ) ( )
2 2
9 5 6 7 8 7 5 8 6
0 g x , x , x , x n x x x x +
( ) ( )
( ) ( )
( )
10 8 8 11 8 9 8 9
12 9 10 9 10 13 10 11 10 11
14 11 12 11 12
0; 0
0; 0;
0;
g x x g x ,x x x
g x ,x x x g x ,x x x
g x ,x x x
< + <
+ < + <
+ <
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
15 1 2 3 4 5 6 7 8 1
16 1 2 3 4 5 6 7 8 9 2
17 1 2 3 4 5 6 7 8 10 3
18 1 2 3 4 5 6 7 8 11 4
19 1 2 3 4 5 6 7 8 12 5
30 0;
30 0
30 0
30 0
30 0
g x , x , x , x , x , x , x , x f
g x , x , x , x , x , x , x , x , x f
g x , x , x , x , x , x , x , x , x f
g x , x , x , x , x , x , x , x , x f
g x , x , x , x , x , x , x , x , x f





x
x
x
x
x


( ) ( ) ( )
( ) ( ) ( )
2 2
2 2
20 1 2 5 6 7 8 1 2 7 5 8 6
2 2
2 2
21 3 4 5 6 7 8 3 4 7 5 8 6
0
0
g x ,x ,x ,x ,x ,x m x x x x x x
g x ,x ,x ,x ,x ,x p x x x x x x
+ +
+ +

)
=
)
)

( )
( ) ( )
( ) (
( )
( ) ( )
P2 P2 P2 P2
P2 P2 P2 P2
P3
1 1 2 3 4 5 6 7 8 9
2 2
1 3 5 7 2 6 8 4
2 2
2 3 5 7 2 3 6 8
2 1 2 3 4 5 6 7 8 9 10
2 2
2 3 5 7 2 3 6 8
2
0
x x y y
x x y y
x
h x , x , x , x , x , x , x , x , x ...
... x x x x x x x ... x
... X X x x X X x x
h x , x , x , x , x , x , x , x , x , x ...
... X X x x X X x x ...
... X X

+ + + + +
+ + + +

+ + + + +
+
( ) (
( )
( ) ( )
( ) (
( )
P3 P3 P3
P3 P3 P3 P3
P4 P4 P4 P4
2 2
3 5 7 2 3 6 8
3 1 2 3 4 5 6 7 8 10 11
2 2
2 3 5 7 2 3 6 8
2 2
2 3 5 7 2 3 6 8
4 1 2 3 4 5 6 7 8 11 12
2
0
0
x y y
x x y y
x x y y
x x X X x x
h x , x , x , x , x , x , x , x , x , x ...
... X X x x X X x x ...
... X X x x X X x x
h x , x , x , x , x , x , x , x , x , x ...
... X
+ + + =

+ + + + +
+ + + +

( ) ( )
( ) (
P4 P4 P4 P4
P5 P5 P5 P5
2 2
3 5 7 2 3 6 8
2 2
2 3 5 7 2 3 6 8
0
x x y y
x x y y
X x x X X x x ...
... X X x x X X x x
+ + + + +
+ + + +
=
)
=

58

( )
( ) ( )
( ) (
( )
( )
P2 P2 P2 P2
P2 P2 P2 P
5 1 2 3 4 5 6 9
2 2
1 3 5 2 4 6
2 2
posicin 2 2 3 posicin 2 2 3 5 6
6 1 2 3 4 5 6 9 10
2
posicin 2 2 3 posicin 2 2 3 5
0
x x y y
x x y y
h x , x , x , x , x , x , x ...
... ... x x x x x x
... x X X y X X x x
h x , x , x , x , x , x , x , x ...
... x X X y X X x

+
( )
( ) (
( )
( ) (
( )
2
P3 P3 P3 P3
P3 P3 P3 P3
P4 P4
2
6
2 2
posicin 3 2 3 posicin 3 2 3 5 6
7 1 2 3 4 5 6 10 11
2 2
posicin 3 2 3 posicin 3 2 3 5 6
2
posicin 4 2 3 pos 5
0
x x y y
x x y y
x x
... x
... x X X y X X x x
h x , x , x , x , x , x , x , x ...
... x X X y X X ... x x
... x X X y x

+

( )
( )
( ) (
( ) (
P4 P4
P4 P4 P4 P4
P5 P5 P5 P5
2
icin 4 2 3 6
8 1 2 3 4 5 6 11 12
2 2
posicin 4 2 3 posicin 4 2 3 5 6
2 2
posicin 5 2 3 posicin 5 2 3 5 6
0
0
y y
x x y y
x x y y
X X x
h x , x , x , x , x , x , x , x ...
... x X X y X X ... x x
... x X X y X X x x
)
=
)
)
=
)
)
=

+
=

( )
( )
P2 P2
P2 P2
9 1 2 3 4 5 6 9
posicin 2 2 3 6
1 1
2 4 6
1
posicin 2 2 3 1 3 5 5
10 1 2 3 4 5 6 10
1 1
2 4 6
2
1 3 5
, , , , , , ...
... tan tan 0
, , , , , , ...
... tan tan
y y
x x
h x x x x x x x
y X X x
x x x
x X X x x x x
h x x x x x x x
x x x
x x x


+



=
( )
P3 P3
P3 P3
P4 P4
P4 P4
posicin 3 2 3 6
posicin 3 2 3 5
11 1 2 3 4 5 6 11
posicin 4 2 3 6
1 1 2 4 6
3
posicin 4 2 3 1 3 5 5
12 1
0
, , , , , , ...
... tan tan 0
,
y y
x x
y y
x x
y X X x
x X X x
h x x x x x x x
y X X x
x x x
x X X x x x x
h x


=





+






( )
=
P5 P5
P5 P5
2 3 4 5 6 12
posicin 5 2 3 6
1 1
2 4 6
4
posicin 5 2 3 1 3 5 5
, , , , , ...
... tan tan 0
y y
x x
x x x x x x
y X X x
x x x
x X X x x x x



+






=



3.5. SOLUCIN DEL PROBLEMA DE OPTIMIZACIN USANDO MATLAB

Cada uno de los problemas de diseo se resuelve independientemente, por lo tanto se
desarroll un algoritmo para resolver separadamente el correspondiente problema.

59

El siguiente flujograma describe la forma como esta estructurado el algoritmo:


Figura 19. Estructura general del algoritmo

Archivo principal
Archivo de datos
Archivo de funciones objetivo
Archivo de restricciones







El Archivo de datos mantiene los valores de los datos conocidos y supuestos para el
vector de variables de diseo (condicin inicial). El Archivo de funciones objetivo
contiene el vector de objetivos
x
( ) F x y el Archivo de restricciones las respectivas
restricciones . ( ) ( ) y g
p m
h x x

Dado que el vector de objetivos ( ) F x y algunas de las restricciones ( ) ( ) y g
p m
h x x no
son lineales, (lo que representa un problema de programacin no lineal) para resolver el
problema se us la funcin fmincon de MATLAB en el Archivo principal, adems este
contiene las rutinas para dibujar el mecanismo en cada una de las posiciones prescritas y
visualizar los resultados obtenidos.

Como el algoritmo no siempre ofreca soluciones (o no eran las mejores) para el conjunto
de valores contenido en el Archivo de datos, era deseable probar otros conjuntos pero la
tarea era muy tediosa y poco intuitiva ya que haba que introducir manualmente los datos
de la condicin inicial, por lo tanto fue necesario desarrollar una interfaz que permitiera
sealar grficamente dichos vectores.

En ANEXOS, se describe la interfaz grfica as como las instrucciones para introducir los
datos.
60




4. RESULTADOS


Aunque los criterios de convergencia del algoritmo deberan cambiar segn el nivel de
complejidad del problema o dependiendo del nmero de posiciones prescritas, se prefiri
dejarlos en unos valores fijos mximos, que fueron obtenidos al resolver problemas con
diversos grados de dificultad. Tales criterios fueron:

MaxFunEvals = 2500 para 2 posiciones prescritas y 7500 para 3 o ms: Define el
mximo nmero de veces que el algoritmo puede evaluar la funcin objetivo. Un llamado
adicional a la funcin objetivo implica la finalizacin de la bsqueda sin alcanzar una
solucin.

MaxIter = 200 para 2 posiciones prescritas y 600 para 3 o ms: Define el mximo
nmero de iteraciones que puede realizar el algoritmo. Una iteracin adicional implica la
finalizacin de la bsqueda sin alcanzar una solucin.

TolFun = 1x10
-3
para 2 posiciones prescritas y 1x10
-6
para 3 o ms: Esta cantidad define
la tolerancia de convergencia asociada con la variacin en el valor de la funcin objetivo.
Una variacin por debajo de esta cantidad lleva a una finalizacin exitosa de la bsqueda.

TolX = 1x10
-3
para 2 posiciones prescritas y 1x10
-6
para 3 o ms: Esta cantidad define
la tolerancia de convergencia asociada con la variacin en el valor de las variables de
diseo. Una variacin por debajo de esta cantidad lleva a una finalizacin exitosa de la
bsqueda.

4.1. EJEMPLOS DE APLICACIN PARA 2 POSICIONES PRESCRITAS

Los problemas mostrados a continuacin poseen diversos niveles de dificultad. Las
soluciones mostradas en las ventanas de resultados validan el trabajo de formulacin del
problema de optimizacin, as como su solucin mediante el algoritmo desarrollado que es
el motor en el que se basa el GUI implementado.

Enunciado del Problema 1: Sobre la banda transportadora inferior se mueve un conjunto de
cajas. Es necesario disponer la caja que cumpla cierta condicin A, sobre la banda
transportadora superior con la orientacin ilustrada en la siguiente figura. Es necesario
obtener las dimensiones y posicin inicial del mecanismo de 4 barras generador de
movimiento que de manera efectiva cumpla con este cometido. Sus pares fijos deben
quedar confinados al rea de montaje ilustrada.

61

Figura 20. Datos del problema 1. Sntesis de 2 posiciones


Figura 21. Ventana de datos del problema 1. Sntesis de 2 posiciones




62

4.1.1. Descripcin del dibujo ilustrado en la ventana de datos (Figura 21)
A partir de los datos introducidos en los campos (para mayor informacin al respecto, debe
consultarse el manual de usuario en los ANEXOS) el GUI dibuja un rectngulo y 2 o ms
lneas dependiendo del nmero de posiciones prescritas. El rectngulo representa el rea
dentro del cual deben quedar los pares fijos O
2
y O
4
y las lneas denotan la posicin y
orientacin de cada una de las posiciones prescritas (El rtulo P1 identifica la primera
posicin prescrita).

Figura 22. Ventana de resultados del problema 1. Sntesis de 2 posiciones




4.1.2. Descripcin del dibujo ilustrado en la ventana de resultados (Figura 22)
Sea que la solucin sea factible o no (es decir se satisfagan todas las restricciones) la
interfaz dibujar el mecanismo. Las lneas gruesas representan los eslabones del mecanismo
dispuesto en la posicin inicial (primera posicin prescrita). Los otros conjuntos de lneas,
al mecanismo en otra posicin prescrita. El par motriz O
2
(ver la Figura 1) se identifica
mediante un tringulo y un punto en su centro. El par O4 mediante un tringulo. El par A
mediante un crculo y un punto en su centro. El par B mediante un cuadrado. A partir de
los pares debe ser fcil identificar los eslabones motriz, acoplador y seguidor.


63

Los 4 puntos identificados en la Figura 22 con el rotulo inicio denotan la condicin
inicial necesaria para que el algoritmo emprenda la bsqueda correspondiente. Dado que la
solucin depende en gran medida de tales puntos, es factible probar otros conjuntos de
manera sistemtica hasta encontrar otra alternativa mejor.

Una manera para buscar tal alternativa (aun en casos donde la solucin no sea factible),
consiste en estudiar el dibujo del mecanismo en la ventana de resultados y cambiar un solo
punto la vez. Por ejemplo probar una nueva posicin para el par O
2
, dejando fijo a O
4
.

Aunque esta forma grfica e intuitiva ofrece una magnifica alternativa para disear
mecanismos ptimos, puede que tarde en aparecer una solucin que satisfaga todas las
restricciones de diseo.

La solucin ilustrada en la Figura 22 convergi en 143 iteraciones y 2251 llamados al
vector de objetivos. La Figura 23 ilustra el mecanismo en su entorno de operacin.


Figura 23. Dibujo del mecanismo del problema 1 en su entorno operativo.




Para los siguientes problemas solo se mostrarn las ventanas de datos y resultados. A partir
de las descripciones anteriores, el lector puede inferir con facilidad los datos del problema
de diseo correspondiente.



64

Figura 24. Ventanas de datos y resultados del problema 2. Sntesis de 2 posiciones









































La solucin mostrada en la Figura 24, aunque geomtricamente es mucho ms compleja
que la del problema 1, convergi en apenas 11 iteraciones y 134 llamados al vector de
objetivos.
65

Figura 25. Ventana de datos y resultados del problema 3. Sntesis de 2 posiciones










































La solucin mostrada en la Figura 25 convergi en 88 iteraciones y 1021 llamados al vector
de objetivos.
66

4.2. EJEMPLO DE APLICACIN PARA 3 POSICIONES PRESCRITAS

Figura 26. Ventana de datos y resultados del problema. Sntesis de 3 posiciones









































67

La solucin mostrada en la Figura 26 convergi en 50 iteraciones y 926 llamados al vector
de objetivos. La siguiente figura ilustra otra solucin factible para este problema.


Figura 27. Solucin alternativa para el problema de sntesis de 3 posiciones

























La solucin mostrada en la Figura 27 convergi en 48 iteraciones y 697 llamados al vector
de objetivos.

68

4.3. EJEMPLO DE APLICACIN PARA 4 POSICIONES PRESCRITAS

Figura 28. Ventana de datos y resultados del problema. Sntesis de 4 posiciones

































La solucin mostrada en la Figura 28 convergi en 27 iteraciones y 566 llamados al vector
de objetivos.
69



5. CONCLUSIONES

Cuando se tienen restricciones de montaje, la forma de dada estndar no puede por s
misma ofrecer soluciones con ngulos de transmisin ptimos, de manera que fue necesario
usar un mtodo de optimizacin.

Al lograr que los ngulos de transmisin de 2 posiciones sucesivas cercanas tengan valores
altos, ciertamente se puede asegurar que el mecanismo no se trabar (condicin conocida
como agarrotamiento o defecto de rama que es debida a la presencia de un ngulo de
transmisin de 0 en un punto intermedio entre tales posiciones sucesivas), as como una
ventaja mecnica promedio significativamente grande.

Luego de probar diversos conjuntos de funciones y variables de diseo, se concluy que las
soluciones ms consistentes se obtienen a partir de las siguientes ocho variables de diseo:

4 variables que representan las coordenadas (x, y) de los pares fijos del mecanismo.
4 variables que representan las componentes escalares (horizontal y vertical) de los
eslabones motriz y acoplador.

El mecanismo se puede construir a partir de estas variables, sin embargo hace falta una
variable para describir cada una de las posiciones sucesivas del mecanismo. La variable
elegida representa el ngulo de rotacin del eslabn motriz medido desde la posicin inicial
del eslabonamiento.

Las soluciones obtenidas a partir de estas variables de diseo cumpla parcialmente la
correspondiente tarea de movimiento de manera que fue necesario aadir varias
restricciones de diseo para satisfacer por completo la posicin y orientacin del acoplador.

El algoritmo desarrollado le ofrece al diseador una buena herramienta para encontrar
mecanismos de barras, que de manera eficientes solucionen los problemas asociados con la
conduccin de un cuerpo rgido a travs de una serie de posiciones prescritas.

El algoritmo est basado en la tcnica de optimizacin SQP, que representa el estado del
arte en las tcnicas de programacin no lineal (NLP) basadas en la filosofa de la direccin
de descenso. Desafortunadamente solo encuentra mnimos locales.

Cuando se emplea SQP (y la gran mayora de mtodos de optimizacin) la solucin
depende en gran medida de la condicin inicial. As que es probable que sea necesario
probar diversos conjuntos de datos hasta encontrar una solucin, pero para el caso que
atae este trabajo, preparar e introducir los datos correspondientes en forma manual era
una tarea larga y tediosa, y en la mayora de las veces no se saba si se avanza en la
direccin correcta. Por lo tanto se desarroll una interfaz (descrita en los ANEXOS) que le
70

permite al usuario sealar mediante el Mouse, la posicin probable donde deben ubicarse
los pares del mecanismo.

La interfaz no solo facilita la introduccin de la condicin inicial de una manera intuitiva,
sino que visualiza los resultados (factibles o no) y permite seguirle la pista a una mejor
solucin. No puede olvidarse que detrs de ella se encuentra un algoritmo robusto, estable y
que tiene buenas propiedades de convergencia.

Dentro de las estrategias de optimizacin multiobjetivo, la Suma ponderada es una
tcnica simple que permiti destacar las funciones objetivo que describen el ngulo de la
primera y ltima posicin prescrita, que son claves para lograr que se transmita el
movimiento desde el acoplador hacia el seguidor de manera efectiva.

Al definir las restricciones de diseo hay que tener cuidado de no usarse restricciones
redundantes o dependientes ya que pueden producir inconsistencias en las soluciones.

Un vector de variables de diseo y una funcin de costo bien formulada ofrece resultados
inconsistentes, si el problema no est correctamente restringido.

Aunque puede pensarse que las variables de diseo tienen que ver con los parmetros
constructivos de un sistema, debe considerarse que en algunos casos ello no es cierto.
Evidencia de esto es la variable de este trabajo.

Si la solucin no aparece, se pueden variar los valores de n, m y p de las ecuaciones (12) y
(15), de manera que la regin factible aumente de tamao.
71


6. TRABAJO FUTURO


El algoritmo y la interfaz pueden refinarse de manera que para cierta posicin de los pares
fijos sea posible visualizar las zonas en donde no sea factible encontrar soluciones que
satisfagan las restricciones de diseo, de manera que el diseador pueda concentrarse en
aquellas reas donde si lo sea.

Adems de optimizar el ngulo de transmisin, el trabajo puede continuarse en la direccin
de hacer sntesis dimensional ptima (longitud mnima de los eslabones).

Como SQP solo puede encontrar mnimos locales, es necesario explorar otras tcnicas de
optimizacin que puedan encontrar mnimos globales, al menos dentro del rea donde
deben quedar los pares fijos del mecanismo.

En este trabajo los pares fijos O
2
y O
4
se confinaron a un rea particular. En muchos casos
de diseo es necesario hacer lo mismo con los pares mviles A y B por razones
constructivas o de conveniencia y por lo tanto el estudio puede continuarse en la direccin
de reformular el problema de diseo de manera que se tenga en cuenta este nuevo conjunto
de restricciones.



72




REFERENCIAS

ARORA, J.S (2004) Introduction to optimum design 2a Ed, Academic Pres

ALT. VON H. (1932). Der ubertragungswinkel und seine bedeutung fur dar konstruieren
periodischer getribe werksstatstechnik pg. 61-62

BALLI S.S & CHAND S. (2002) transmission angle in mechanisms Mechanism and
Machine Theory 37, pg. 175195

BELEGUNDU A.D. & CHANDRUPATLA T.R. (1999) Optimization concept and
applications in engineering Pearson Education Prentice Hall.

BURMESTER L.Lehrbuch der Kinematik (1888) Arthur Felix Verlag, Leipzig Pg.
599623

ERDMAN, A.G. & SANDOR G.N. (1997) Diseo de mecanismos, anlisis y sntesis
Vol 1, 3a Ed, Prentice.

HARTENBERG R.S., DENAVIT. J. (1964) Kinematic synthesis of lincages, McGraw-
Hill, pg. 46-47.

HAYES M.J.D. & ZSOMBOR-MURRAY P.J. (2004) Towards Integrated Type and
Dimensional Synthesis of Mechanisms for Rigid Body Guidance CSME 2004 Forum, Pg.
1-9.

LOERCH R. J., ERDMAN A.G., SANDOR N. & MIDHA A. (1975) Synthesis of four-
bar linkages with specified ground pivots 4th Applied Mechanisms Conference. Chicago.
Pg 10.1 10.6

LOERCH R. J., ERDMAN A.G. & SANDOR N. (1979) On the existence of circle-point
and center-point for three precision point Dyad synthesis Journal of Mechanical Design.
Pg 554 562

NORTON R.L. (2004), Design of Machinery, 3a Ed, McGrawHill

PARETO V. (1971), Manual de Political Economy, Augustus M. Kelley Publishers

PETERSON R. L., LOGAN L., ERDMAN A.G. & RILEY D. (1988) Three precision
point synthesis of a four-bar linkage: An example using the LINCAGES-4 program.
Computers in Engineering. ASME, Vol. 2, pg. 91-96.

73

SUTHERLAND S. (1974), Dimensional synthesis of linkages by multifactor
optimization Mechanism and Machine Theory, pg. 81-95

TAO. D. C. (1964) Applied linkages synthesis. Addinson-Wesley, pg. 7-12

UICKER J. GORDON R. SHIGLEY J. (2003) Theory of machines and mechanims, third
edition, Oxford University Press.
74




ANEXO A - DESCRIPCIN DE LA INTERFAZ GRFICA

Usando el entorno GUIDE (Graphical User Interface development environment) de
MATLAB se desarroll un GUI (interfaz grfica de usuario) que tiene 2 propsitos. El
primero de ellos es contribuir a que la introduccin de los datos de la condicin inicial para
la optimizacin sea intuitiva y fcil. El segundo propsito es aportarle al diseador de
mecanismos un entorno simple y cmodo que le permita obtener soluciones con relativa
facilidad.

El GUI posee 2 ventanas, la primera de ellas es la ventana de datos en donde se introduce y
visualiza la informacin prescrita o conocida del problema de diseo de mecanismos, tal
como la orientacin y posicin de cada posicin prescrita, y las coordenadas de la zona
dentro de la cual quedarn los pares fijos del mecanismo. Esta ventana posee un conjunto
de ayudas que hacen fcil la introduccin de los datos. Ver la Figura 29


Figura 29. Ventana de datos prescritos



Orientacin de cada posicin
prescrita

Posicin de cada posicin
prescrita

Posicin de la zona donde
quedar el bastidor


En la segunda ventana se introducen los datos de la condicin inicial de manera que el
algoritmo de clculo pueda empezar la bsqueda de la solucin ptima. Una vez se
75

encuentra una solucin se ilustra el mecanismo posicionado en cada una de las posiciones
prescritas, mostrando adems las longitudes y orientacin de sus eslabones, as como las
ayudas correspondientes para interpretar el resultado de la bsqueda. Ver la Figura 30

El GUI est diseado de forma que deben introducirse los datos en un orden particular que
depende de lo que sea necesario para resolver el problema, adems solo acepta datos que
estn dentro de un rango particular, pertenezcan a un sistema de unidades especfico y que
no arrojen incoherencias (tales como la ubicacin de un par fijo fuera de la zona para el
bastidor).

El GUI est contenido en los archivos Synthesis_HAPL.fig y Synthesis_HAPL.m del
directorio raz del CD que acompaa este documento. El primero de ellos contiene una
descripcin del formato y los componentes del GUI, el segundo contiene el cdigo que lo
controla.


Figura 30. Ventana de Resultados


Orientacin relativa del
motriz para las posiciones
intermedias y final
ngulo de transmisin del
mecanismo en cada posicin
prescrita
Longitud y orientacin de
los eslabones de la solucin
encontrada en la posicin
inicial


En la seccin siguiente se describe detalladamente cada ventana y se dan las instrucciones
correspondientes para usar adecuadamente el GUI desarrollado.



76




ANEXO B - MANUAL DE USUARIO


Recomendaciones.

La versin de MatLab que requiere el GUI debe ser R6 o superior y una resolucin de
pantalla de mnimo 800x600 pxeles. Las instrucciones dadas en este instructivo se
describen de manera que sea fcil usar el GUI aunque no se este familiarizado con el uso
de MatLab.

Carga del GUI.

Cargue MatLab. Para acceder al GUI debe aadirse a MatLab la carpeta D:\, mediante
la opcin Set Path del men File. Posteriormente se digita Synthesis_HAPL en
la lnea de comando (>>), lo que har que se visualicen la ventana de datos.

Introduccin de la informacin en la ventana de datos.

Obsrvese que los campos y botones de la ventana de datos estn deshabilitados excepto
los de Ayuda y los del Nmero de posiciones de diseo.

Una vez se ha elegido el nmero de posiciones de diseo, los campos correspondientes
se habilitan para introducir los datos conocidos del problema. Aunque el GUI esta
diseado de forma tal que solo acepta la informacin en un formato especfico y dentro
de unos rangos particulares, es necesario conocerlos de antemano para que resulte fcil
introducirla.

La orientacin de cada una de las posiciones de diseo es una cantidad positiva en
notacin decimal, medida en grados que se toma desde el eje positivo X y est
comprendida en el rango [0, 360]. Para 3 posiciones prescritas se ilustran en la Figura 31
estas orientaciones y lo que debe introducirse en los campos.
77

Figura 31. Orientacin de cada posicin prescrita.

















La posicin inicial es la de referencia y por lo tanto un punto (arbitrario) de ella es el
origen de coordenadas del problema. La posicin del resto de posiciones prescritas se
mide respecto a la inicial. Se puede usar cualquier cantidad fsica para las coordenadas y
su notacin es decimal. Para 3 posiciones prescritas se ilustran en la Figura 32 estas
coordenadas y lo que debe introducirse en los campos.


Figura 32. Posicin relativa de cada posicin prescrita.


















Las coordenadas de la zona dentro de la cual quedarn los pares fijos del bastidor se
mide respecto al punto arbitrario de la posicin inicial. La cantidad fsica para estas
coordenadas debe ser la usada previamente y su notacin es decimal. Para 3 posiciones
78

prescritas se ilustran en la Figura 33 estas coordenadas y lo que debe introducirse en los
campos.


Figura 33. Posicin relativa de la zona del bastidor.

















Validacin y dibujo de la informacin introducida.

Una vez introducida la informacin es necesario verificar que no haya inconsistencias,
para ello debe pulsarse el botn Validar. En caso que haya inconsistencias, un cuadro
de dialogo revelar el error. A continuacin se ilustran los cuadros de dialogo
respectivos.
















Si no hay inconsistencias se habilitar el botn Dibujar, los campos se deshabilitarn
(No podrn hacerse cambios a los datos) y se mostrar el siguiente cuadro de dialogo.
79




Para representar y verificar la informacin introducida, debe pulsarse el botn Dibujar.
Una vez dibujada se habilitar el botn Diseo Interactivo que permitir acceder a la
ventana de resultados.

Inicializacin de la interfaz.

Para poner en cero los campos de la interfaz, debe pulsarse el botn Reset

Introduccin de los datos de la condicin inicial.

Una vez en la ventana de resultados, mediante el Mouse debe sealarse la posicin de
los pares fijos del bastidor. El procedimiento a seguir se describe en continuacin:

Pulse el botn Par O
2
y O
4
, un cuadro de dilogo instruir sobre lo que debe
hacerse. Una vez sealados estos pares son habilitados los botones Par A y B y
Probar otra.

Pulse el botn Par A y B, un cuadro de dilogo instruir sobre lo que debe
hacerse. Una vez sealados estos pares es habilitado el botn Calcular.

La Figura 34 da una idea de lo que se obtiene. El par O
2
se denota con un punto dentro
del tringulo, el par O
4
mediante un tringulo.

Es factible que al sealar la posicin de alguno de los pares O
2
y O
4
, se haga por fuera
de la zona dentro de la cual deben quedar, a lo cual el GUI mostrar un cuadro de
dilogo y pedir que se seale de nuevo su ubicacin. Los dilogos correspondientes se
muestran a continuacin.







80

Figura 34. Condicin inicial
























Clculo de una solucin

Al pulsar el botn Calcular se pone en marcha el algoritmo de clculo, que entrega un
resultado al cabo de minutos. El resultado es el dibujo del mecanismo en cada una de las
posiciones prescritas, as como la longitud y orientacin de los eslabones de la solucin
encontrada en la posicin inicial, el ngulo de transmisin del mecanismo en cada
posicin prescrita y la orientacin relativa del eslabn motriz para las posiciones
intermedias y final.

Prueba de otra condicin inicial

Para probar otro conjunto de condiciones iniciales debe pulsarse el botn Probar
otra, lo que eliminar el dibujo de la solucin encontrada.

Interpretacin de los resultados

Aunque el GUI desarrollado es una magnifica herramienta para disear mecanismos
ptimos no significa que por si mismo pueda garantizar que toda solucin es 100%
funcional o valida.
81


En la ventana de resultados el botn Interpretacin de resultados permite consultar una
esta gua para este fin.

Cerrar el GUI

Para cerrar el GUI, simplemente debe pulsarse el botn hasta salir de MatLab. Si lo
que se desea es cerrar la ventana de resultados para retornar a la de datos, debe usarse el
botn Volver.
82



ANEXO C - CDIGO DEL ALGORITMO

El cdigo est almacenado en una serie de archivos que se organizaron de la siguiente
forma:

Archivos de la Interfaz: Synthesis_HAPL.m & Synthesis_HAPL.fig
Optimizacion.m & Optimizacion.fig
Ayuda1.m & Ayuda1.fig
Ayuda2.m & Ayuda2.fig
Ayuda3.m & Ayuda3.fig

Estos archivos mantienen la informacin asociada con la programacin de la interfaz de las
ventanas de datos, de resultados y de ayuda.

Archivo de dibujo: Dibujar.m

Este archivo dibuja la informacin prescrita. Este archivo es usado con frecuencia por la
interfaz.

Archivos de Datos: Datos_Prescritos.dat
Dos_posic_DATOS.dat
Tres_posic_DATOS.dat
Cuatro_posic_DATOS.dat
Cinco_posic_DATOS.dat

Se encuentran guardados en el subdirectorio datos. Estos archivos mantienen la
informacin prescrita, los datos de intercambio de informacin entre los diversos archivos
de la aplicacin y los datos de los resultados.

Archivos del algoritmo: Dos_posic_DAT.m & Dos_posic_EXE.m
Dos_posic_fun.m & Dos_posic_Res.m
Tres_posic_DAT.m & Tres _posic_EXE.m
Tres _posic_fun.m & Tres _posic_Res.m
Cuatro_posic_DAT.m & Cuatro _posic_EXE.m
Cuatro _posic_fun.m & Cuatro _posic_Res.m

Estn guardados en el subdirectorio private. Los archivos _DAT.m contienen la
condicin inicial y otros datos necesarios para el algoritmo. Los archivos _EXE.m son el
corazn del algoritmo, adems de ser responsables de mostrar los resultados. Los archivos
_fun.m contienen el vector de objetivos en trminos de las variables de diseo. Los
archivos _Res.m mantienen las restricciones correspondientes.

83

Solo se muestran los archivos del algoritmo correspondientes a 2 posiciones prescritas
(Dos_posic_DAT.m; Dos_posic_EXE.m; Dos_posic_fun.m; Dos_posic_Res.m).


Tabla 3. Archivo de datos. Dos_posic_DAT.m

%ARCHIVO DE DATOS (Dos_posic_DAT.m)
%necesarios para el programa principal "Dos_posic_EXE.m", para el archivo de funciones
%objetivo "Dos_posic_fun.m" y para el archivo de restricciones "Dos_posic_Res.m"

function [x0,A1,xP2,yP2,xSD,ySD,xII,yII]=Dos_posic_DAT;%Retorna los valores
M = csvread('datos\Dos_posic_DATOS.dat');%Lee el archivo externo "Dos_posic_DATOS.dat" y asigna los datos a la matriz M.

x0=M(:,1:9);% M(:,1:9) extrae los datos de las columnas 1 a 9 del vector M y los asigna a x0. x0 es la condicion inicial
A1=M(:,10);% M(:,10) extrae el dato de la columna 10 del vector M y lo asigna a A1. ngulo alfa 1
xP2=M(:,11);%Coordenada x de la segunda posicin prescrita
yP2=M(:,12);%Coordenada y de la segunda posicin prescrita
xSD=M(:,13);%Coordenada x de la esquina superior derecha del rea para el bastidor
ySD=M(:,14);%Coordenada y de la esquina superior derecha del rea para el bastidor
xII=M(:,15);%Coordenada x de la esquina inferior izquierda del rea para el bastidor
yII=M(:,16);%Coordenada y de la esquina inferior izquierda del rea para el bastidor


Tabla 4. Archivo principal. Dos_posic_EXE.m

%PROGRAMA PRINCIPAL 15-Oct-2007 11:00pm (Dos_posic_EXE.m)
function Dos_posic_EXE
clear all
%OPTIMIZACION__________________________________________________________________
warning off MATLAB:divideByZero;%suprime la advertencia cuando aparece una division por cero
% options = optimset;%Opciones por defecto de la estructura de los parametros de optimizacion
options = optimset('Display','iter','LargeScale','off','MaxFunEvals',0.5*5000,'MaxIter',200);
% Estructura personalizada de los parametros de optimizacion. Puede revisarse usando "output" en la linea de comando
[x0,A1,xP2,yP2,xSD,ySD,xII,yII]=Dos_posic_DAT;%LLamada de datos desde la funcion "Dos_posic_DAT.m".
[x,fval,exitflag,output] = fmincon(@Dos_posic_fun,x0,[],[],[],[],[],[],@Dos_posic_Res,options);%Optimizacion
x;%Vector solucion
[c,ceq] = Dos_posic_Res(x);%Llamada de datos desde la funcion "Dos_posic_Res.m"
% fval*180/pi;% Retorna el valor de la funcion objetivo para la solucion x encontrada
% exitflag;% Si exitflag es > 0 entonces el vector x es una solucion (La funcion "converge" en x)
% output % Muestra informacion sobre los parametros y opciones de optimizacion
% Si las restricciones son <=0, significa que se han cumplido
%OPTIMIZACION__________________________________________________________________

%DATOS PARA ILUSTRAR EN LA LINEA DE COMANDO LOS DATOS DE LOS ESLABONES Y EL ANGULO DE
%TRANSMISION_______________________

% DATOS OBTENIDOS DE LA OPTIMIZACION
x2x=x(:,1);%Motriz [%x(:,1) extrae la columna 1 del vector x]
x2y=x(:,2);%Motriz
x3x=x(:,3);%Acoplador
x3y=x(:,4);%Acoplador
xO2=x(:,5);
yO2=x(:,6);
xO4=x(:,7);
yO4=x(:,8);
B1=x(:,9);%Rotacion del motriz, en radianes

x1x=x(:,7)-x(:,5);%Bastidor
x1y=x(:,8)-x(:,6);%Bastidor

R0x=-xO4;
84

R0y=-yO4;
R1x=xP2-xO4;
R1y=yP2-yO4;

% DATOS DE LOS VECTORES PARA LA POSICION INICIAL
x4x1=(-x1x+x2x+x3x);%Seguidor
x4y1=(-x1y+x2y+x3y);%Seguidor
x5x1=(x1x-x2x+R0x);
x5y1=(x1y-x2y+R0y);
x6x1=(R0x+x1x-x2x-x3x);
x6y1=(R0y+x1y-x2y-x3y);

% CALCULO DE LAS LONGITUDES DE LOS ESLABONES DEL MECANISMO & ANGULO DE TRANSMISION PARA
% LA POSICION INICIAL
x1=sqrt(x1x^2+x1y^2);
x2=sqrt(x2x^2+x2y^2);
x3=sqrt(x3x^2+x3y^2);
x4=sqrt(x4x1^2+x4y1^2);
x5=sqrt(x5x1^2+x5y1^2);
x6=sqrt(x6x1^2+x6y1^2);
% mu1=min(gamma1,pi-gamma1)
mu1=min(acos((-x1^2-x2^2+x3^2+x4^2+2*x1*x2*cos(atan2(x2y,x2x)-atan2(x1y,x1x)))/(2*x3*x4)),pi-acos((-x1^2-
x2^2+x3^2+x4^2+2*x1*x2*cos(atan2(x2y,x2x)-atan2(x1y,x1x)))/(2*x3*x4)));

%DATOS DE LOS VECTORES PARA LA POSICION FINAL
x2x2=cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2);%Motriz
x2y2=sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2);%Motriz
x3x2=cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2);%Acoplador
x3y2=sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2);%Acoplador
x4x2=(-x1x+(cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)));%Seguidor
x4y2=(-x1y+(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)));%Seguidor
x5x2=(x1x-(cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+R1x);%Acoplador
x5y2=(x1y-(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+R1y);%Acoplador
x6x2=(R1x+x1x-(cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))-
(cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)));%Acoplador
x6y2=(R1y+x1y-(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))-
(sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)));%Acoplador

% CALCULO DE LAS LONGITUDES DE LOS ESLABONES DEL MECANISMO & ANGULO DE TRANSMISION PARA
% LA POSICION FINAL
x12=x1;
x22=sqrt(x2x2^2+x2y2^2);
x32=sqrt(x3x2^2+x3y2^2);
x42=sqrt(x4x2^2+x4y2^2);
x52=sqrt(x5x2^2+x5y2^2);
x62=sqrt(x6x2^2+x6y2^2);
% mu2=min(gamma2,pi-gamma2)
mu2=min(acos((-x12^2-x22^2+x32^2+x42^2+2*x12*x22*cos(atan2(x2y,x2x)-atan2(x1y,x1x)+B1))/(2*x32*x42)),pi-
acos((-x12^2-x22^2+x32^2+x42^2+2*x12*x22*cos(atan2(x2y,x2x)-atan2(x1y,x1x)+B1))/(2*x32*x42)));

% CALCULO DE ANGULOS DE LOS ESLABONES DEL MECANISMO EN POSICION INICIAL
Ax1=angle(x1x+i*x1y)*180/pi;Ax2=angle(x2x+i*x2y)*180/pi;Ax3=angle(x3x+i*x3y)*180/pi;
Ax4=angle(x4x1+i*x4y1)*180/pi;Ax5=angle(x5x1+i*x5y1)*180/pi;Ax6=angle(x6x1+i*x6y1)*180/pi;

%VISUALIZACION DE LAS LONGITUDES DE LOS VECTORES EN LAS POSICIONES CORRESPONDIENTES
% disp(' LONGITUDES DE LOS ESLABONES DEL MECANISMO EN POSICION INICIAL')
% disp(' ')
% disp(' x1 x2 x3 x4 x5 x6')
% disp([x1,x2,x3,x4,x5,x6])
% disp(' LONGITUDES DE LOS ESLABONES DEL MECANISMO EN POSICION FINAL')
% disp(' ')
% disp(' x1 x2 x3 x4 x5 x6')
% disp([x12,x22,x32,x42,x52,x62])

% DESVIACION ESTANDAR DE LONGITUDES DE LOS ESLABONES DEL MECANISMO EN POSICION INICIAL
sdd=std([x1 x12])+std([x2 x22])+std([x3 x32])+std([x4 x42])+std([x5 x52])+std([x6 x62]);

85

%DIBUJO DEL MECANISMO__________________________________________________________
%ATENCION: Para ajustar estos datos de manera que puedan dibujarse sobre la interfaz, se aadi a cada vector de LINE...
% la coordenada xO2 o yO2 es decir line(xO2+X,yO2+Y)

% DIBUJO DEL MECANISMO EN LA POSICION INICIAL
plot(xO2,yO2,'k^','MarkerSize',12);plot(xO2,yO2,'k.','MarkerSize',15);% Dibuja el nuevo par O2
plot(xO4,yO4,'k^','MarkerSize',12);% Dibuja el nuevo par O4
line([xO2, xO2+x2x]', [yO2, yO2+x2y]','Color','b','LineWidth',2.5)%Linea motriz
line([xO2+x2x, xO2+x2x+x5x1]', [yO2+x2y, yO2+x2y+x5y1]','Color','r','LineWidth',2.5)%Linea Acoplador x5
line([xO2+x1x, xO2+x1x+x4x1]', [yO2+x1y, yO2+x1y+x4y1]','Color','b','LineWidth',2.5)%Linea seguidor
line([xO2+x1x+x4x1, xO2+x1x+x4x1+x6x1]', [yO2+x1y+x4y1, yO2+x1y+x4y1+x6y1]',
'Color','r','LineWidth',2.5)%Linea Acoplador x6
line([xO2+x2x, xO2+x2x+x3x]', [yO2+x2y, yO2+x2y+x3y]','Color','r','LineWidth',2.5)%Linea Acoplador AB
plot(xO2+x2x,yO2+x2y,'ko');plot(xO2+x2x,yO2+x2y,'k.');% Par A
plot(xO2+x1x+x4x1,yO2+x1y+x4y1,'ks')% Par B

% DIBUJO DEL MECANISMO EN LA POSICION FINAL
line([xO2, xO2+x2x2]', [yO2, yO2+x2y2]','Color','b','LineStyle','--')%Linea motriz
line([xO2+x2x2, xO2+x2x2+x5x2]', [yO2+x2y2, yO2+x2y2+x5y2]','Color','r','LineStyle','--')%Linea Acoplador x5
line([xO2+x1x, xO2+x1x+x4x2]', [yO2+x1y, yO2+x1y+x4y2]','Color','b','LineStyle','--')%Linea seguidor
line([xO2+x1x+x4x2, xO2+x1x+x4x2+x6x2]', [yO2+x1y+x4y2, yO2+x1y+x4y2+x6y2]','Color','r','LineStyle','--')
%Linea Acoplador x6
line([xO2+x2x2, xO2+x2x2+x3x2]', [yO2+x2y2, yO2+x2y2+x3y2]','Color','r','LineStyle','--')%Linea Acoplador AB
plot(xO2+x2x2,yO2+x2y2,'ko');plot(xO2+x2x2,yO2+x2y2,'k.')% Par A'
plot(xO2+x1x+x4x2,yO2+x1y+x4y2,'ks')% Par B'

% AJUSTES DEL GRAFICO
% grid%Muestra las lineas de la cuadricula
pbaspect([434.00 342.30 342.30])%Define el tamao relativo de los ejes (x,y,z) del grafico
daspect([1 1 1])%Define la escala relativa de las unidades de los datos de los ejes (x,y,z) del grafico

%DIBUJO DEL MECANISMO__________________________________________________________

M=[x1,x2,x3,x4,x5,x6,Ax1,Ax2,Ax3,Ax4,Ax5,Ax6,mu1*180/pi,mu2*180/pi,B1*180/pi,sdd,xO2,yO2];%Matriz
necesaria para la funcion "csvwrite"
csvwrite('datos\Resultados.dat',M)%Genera el archivo externo "Resultados.dat" que contiene los datos de la
matriz M.
return


Tabla 5. Archivo de funciones objetivo. Dos_posic_fun.m

%ARCHIVO DE FUNCIONES OBJETIVO (Dos_posic_fun.m)
%necesario para el programa principal "Dos_posic_EXE.m"

function f = Dos_posic_fun(x)%Funcion de MatLab con el vector de funciones objetivo
[x0,A1,xP2,yP2,xSD,ySD,xII,yII]=Dos_posic_DAT;%LLamada de datos desde la funcion "Dos_posic_DAT.m"

%VARIABLES DE DISENO
B1=x(9);%Rotacion del motriz
yO4=x(8); %Coordenada y de O4;
xO4=x(7); %Coordenada x de O4
yO2=x(6); %Coordenada y de O2
xO2=x(5); %Coordenada x de O2
x3y=x(4); %Componente x de x3
x3x=x(3); %Componente x de x3
x2y=x(2); %Componente y de x2
x2x=x(1); %Componente x de x2

%FUNCIONES OBJETIVO EN TERMINOS DE LAS COMPONENTES DE LOS VECTORES
gamma1=acos((-((xO4-xO2)^2+(yO4-yO2)^2)-(x2x^2+x2y^2)+(x3x^2+x3y^2)+((-(xO4-xO2)+(cos(atan2(x2y,x2x))*...
sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+(sin(atan2(x2y,x2x))*...
sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2)+2*sqrt((xO4-xO2)^2+(yO4-yO2)^2)*...
sqrt(x2x^2+x2y^2)*cos(atan2(x2y,x2x)-atan2((yO4-yO2),(xO4-xO2))))/(2*sqrt(x3x^2+x3y^2)*...
sqrt((-(xO4-xO2)+(cos(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2+...
86

(-(yO4-yO2)+(sin(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2)));
f1= min(gamma1, pi-gamma1);
% Funcion objetivo para la posicion inicial en terminos de x1, x2, x3

gamma2=acos((-((xO4-xO2)^2+(yO4-yO2)^2)-(x2x^2+x2y^2)+(x3x^2+x3y^2)+((-(xO4-xO2)+(cos(atan2(x2y,x2x)+B1)*...
sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+(sin(atan2(x2y,x2x)+B1)*...
sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2)+2*sqrt((xO4-xO2)^2+(yO4-yO2)^2)*...
sqrt(x2x^2+x2y^2)*cos(atan2(x2y,x2x)-atan2((yO4-yO2),(xO4-xO2))+B1))/(2*sqrt(x3x^2+x3y^2)*...
sqrt((-(xO4-xO2)+(cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x)+A1)*...
sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x)+A1)*...
sqrt(x3x^2+x3y^2)))^2)));
f2= min(gamma2, pi-gamma2);
% Funcion objetivo para la posicion final en terminos de x1, x2, x3, A1, B1

%VECTOR DE OBJETIVOS
% f = +(0.5*f1+0.5*f2) minimizacin.
f = -(0.5*f1+0.5*f2); % maximizacin.


Tabla 6. Archivo de restricciones. Dos_posic_Res.m

%ARCHIVO DE RESTRICCIONES (Dos_posic_Res.m)
%necesario para el programa principal "Dos_posic_EXE.m"

function [c,ceq] = Dos_posic_Res(x)%Funcion de MatLab con las Restricciones
[x0,A1,xP2,yP2,xSD,ySD,xII,yII]=Dos_posic_DAT;%LLamada de datos desde la funcion "Dos_posic_DAT.m"

%VARIABLES DE DISENO
B1=x(9);%Rotacion del motriz
yO4=x(8); %Coordenada y de O4;
xO4=x(7); %Coordenada x de O4
yO2=x(6); %Coordenada y de O2
xO2=x(5); %Coordenada x de O2
x3y=x(4); %Componente x de x3
x3x=x(3); %Componente x de x3
x2y=x(2); %Componente y de x2
x2x=x(1); %Componente x de x2

% c = []; %Se usa en caso que no haya restricciones de tipo desigualdad

c(1) = sqrt(x2x^2+x2y^2) - 1 *sqrt((xO4-xO2)^2+(yO4-yO2)^2);
%Longitud del motriz debe menor o igual a n veces la del bastidor
c(2) = sqrt(x3x^2+x3y^2) - 1 *sqrt((xO4-xO2)^2+(yO4-yO2)^2);
%Longitud del acoplador debe ser menor o igual a n veces la del bastidor
c(3) = -sqrt(x3x^2+x3y^2) + 1 *sqrt((xO4-xO2)^2+(yO4-yO2)^2);
%Longitud del acoplador debe ser mayor o igual a n veces la del bastidor
c(4) = -sqrt((xO4-xO2)^2+(yO4-yO2)^2) + 0.5 *(abs(ySD-yII)+abs(xSD-xII))/2;
%Longitud del bastidor debe ser mayor a la media del alto y ancho de area para el bastidor
c(5) = xO2-xSD;%La coordenada x de O2 debe ser menor o igual a la coordenada xSD
c(6) = -xO2+xII;%La coordenada x de O2 debe ser mayor o igual a la coordenada xII
c(7) = yO2-ySD;%La coordenada y de O2 debe ser menor o igual a la coordenada ySD
c(8) = -yO2+yII;%La coordenada y de O2 debe ser mayor o igual a la coordenada yII
c(9) = xO4-xSD;%La coordenada x de O4 debe ser menor o igual a la coordenada xSD
c(10) = -xO4+xII;%La coordenada x de O4 debe ser mayor o igual a la coordenada xII
c(11) = yO4-ySD;%La coordenada y de O4 debe ser menor o igual a la coordenada ySD
c(12) = -yO4+yII;%La coordenada y de O4 debe ser mayor o igual a la coordenada yII

c(13) = -B1+5*pi/180;% % Se busca que B1 sea mayor que n grados
c(14) = B1-90*pi/180;% Se busca que B1 sea menor que 90 grados

c(15) = 30*pi/180-min(acos((-((xO4-xO2)^2+(yO4-yO2)^2)-(x2x^2+x2y^2)+(x3x^2+x3y^2)+((-(xO4-xO2)+...
(cos(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+...
(sin(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2)+2*...
sqrt((xO4-xO2)^2+(yO4-yO2)^2)*sqrt(x2x^2+x2y^2)*cos(atan2(x2y,x2x)-atan2((yO4-yO2),(xO4-xO2))))/...
(2*sqrt(x3x^2+x3y^2)*sqrt((-(xO4-xO2)+(cos(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+...
87

(cos(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+(sin(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+...
(sin(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2))),pi-acos((-((xO4-xO2)^2+(yO4-yO2)^2)-(x2x^2+x2y^2)+...
(x3x^2+x3y^2)+((-(xO4-xO2)+(cos(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x))*...
sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+(sin(atan2(x2y,x2x))*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x))*...
sqrt(x3x^2+x3y^2)))^2)+2*sqrt((xO4-xO2)^2+(yO4-yO2)^2)*sqrt(x2x^2+x2y^2)*cos(atan2(x2y,x2x)-...
atan2((yO4-yO2),(xO4-xO2))))/(2*sqrt(x3x^2+x3y^2)*sqrt((-(xO4-xO2)+(cos(atan2(x2y,x2x))*...
sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+(sin(atan2(x2y,x2x))*...
sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x))*sqrt(x3x^2+x3y^2)))^2))));
% Se busca que el mu1 sea mayor o igual a 30 grados
c(16) = 30*pi/180-min(acos((-((xO4-xO2)^2+(yO4-yO2)^2)-(x2x^2+x2y^2)+(x3x^2+x3y^2)+((-(xO4-xO2)+...
(cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2+...
(-(yO4-yO2)+(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x)+A1)*...
sqrt(x3x^2+x3y^2)))^2)+2*sqrt((xO4-xO2)^2+(yO4-yO2)^2)*sqrt(x2x^2+x2y^2)*cos(atan2(x2y,x2x)-...
atan2((yO4-yO2),(xO4-xO2))+B1))/(2*sqrt(x3x^2+x3y^2)*sqrt((-(xO4-xO2)+(cos(atan2(x2y,x2x)+B1)*...
sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+...
(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2))),...
pi-acos((-((xO4-xO2)^2+(yO4-yO2)^2)-(x2x^2+x2y^2)+(x3x^2+x3y^2)+((-(xO4-xO2)+(cos(atan2(x2y,x2x)+...
B1)*sqrt(x2x^2+x2y^2))+(cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+...
(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2)+...
2*sqrt((xO4-xO2)^2+(yO4-yO2)^2)*sqrt(x2x^2+x2y^2)*cos(atan2(x2y,x2x)-atan2((yO4-yO2),(xO4-xO2))+...
B1))/(2*sqrt(x3x^2+x3y^2)*sqrt((-(xO4-xO2)+(cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2))+...
cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2+(-(yO4-yO2)+(sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+...
x2y^2))+(sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2))));
% Se busca que el mu2 sea mayor o igual a 30 grados

% ceq = []; % Se usa en caso que no haya restricciones de tipo igualdad

ceq(1) = (-(xO4-xO2)+x2x+x3x)^2+(-(yO4-yO2)+x2y+x3y)^2-(-(xO4-xO2)+(cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+...
x2y^2))+(cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2-(-(yO4-yO2)+(sin(atan2(x2y,x2x)+B1)*...
sqrt(x2x^2+x2y^2))+(sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)))^2;
%Se busca que x4 tenga la misma longitud tanto en la posicion inicial como en la final
ceq(2) = (-xO4+(xO4-xO2)-x2x-x3x)^2+(-yO4+(yO4-yO2)-x2y-x3y)^2-((xP2-xO4)+(xO4-xO2)-...
cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2)-cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2))^2-((yP2-yO4)+...
(yO4-yO2)-sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2)-sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2))^2;
%Se busca que x6 tenga la misma longitud tanto en la posicion inicial como en la final
ceq(3) = atan2((-yO4+(yO4-yO2)-x2y-x3y),(-xO4+(xO4-xO2)-x2x-x3x))+A1-atan2(((yP2-yO4)+(yO4-yO2)-...
sin(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2)-sin(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)),((xP2-xO4)+...
(xO4-xO2)-cos(atan2(x2y,x2x)+B1)*sqrt(x2x^2+x2y^2)-cos(atan2(x3y,x3x)+A1)*sqrt(x3x^2+x3y^2)));
%Se busca que (el angulo de x6 para 1a posicion inicial + A1) sea igual al angulo de x6 para 1a posicion final




88

You might also like