Professional Documents
Culture Documents
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