instituto politÉcnico nacional · 2017. 9. 2. · 4.6. síntesis cinemática del mecanismo de...
TRANSCRIPT
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN.
ANÁLISIS DE POSICIÓN, VELOCIDAD Y FUERZAS DE UN
MECANISMO DE RETORNO RÁPIDO DE WHITWORTH
TESIS
QUE PARA OBTENER EL GRADO DE:
MAESTRO EN CIENCIAS
CON ESPECIALIDAD EN
INGENIERÍA MECÁNICA
PRESENTA
ING. JONATHAN RUIZ HIDALGO
DIRECTOR: M. en C. CANDIDO PALACIOS MONTUFAR
DIRECTOR: DR. JUAN ALEJANDRO FLORES CAMPOS
México D.F. Octubre 2012
RESUMEN
En este trabajo de investigación se muestran distintos métodos para la
formulación de modelos para describir a los mecanismos de lazo cerrado, y
como pueden estos métodos facilitar su implementación
computacional.Con la intención de que los modelos obtenidos permitan
una implementación sencilla de los esquemas de control. Se plantea
además que al utilizar técnicas de balanceo con un enfoque de diseño
mecánico basado en el control se pueden eliminar o reducir efectos de
algunos términos del modelo matemático, ayudando aún más a facilitar el
algoritmo de control.
Este trabajo inicia desde un enfoque de control y termina en un enfoque
mecánico. Esto es, se parte de estudios realizados en el área de control y
computación para presentar los modelos que pueden facilitar el
planteamiento de los sistemas mecánicos, para después presentar
técnicas que reduzcan dichos modelos y por tanto facilitar la
implementación de algoritmos de control.
Los métodos planteados en la formulación de los modelos de sistemas
mecánicos se utilizan para describir un mecanismo de lazo cerrado de
retorno rápido, que tiene la cualidad de presentar una no linealidad
debido a la aceleración de coriolis entre sus eslabones. El modelo es
validado utilizando un software de simulación y programando cada una
de las ecuaciones.
RESUMEN
ABSTRACT
This research work shows different methods for the formulation of models to
describe the closed-loop mechanisms, and how can these methods
provide aneasier way for a computational implementation. With the
intention that the models founded allow a simple implementation of control
schemes.It also raises that by using balancing techniques with a focus on
mechanical design based on control, it could be posible to eliminate or
reduce the effects of some terms of the mathematical model, further
helping to facilitate the control algorithm.
This work starts from the viewpoint of control and ends in a mechanical
approach. That is, it starts from studies in the area of computer and control
and shows the models that can facilitate the approach of mechanical
systems, then it proposes techniques that could reduce these models and
thus facilitate the implementation of control algorithms.
The methods outlined in the formulation of models of mechanical systems
are used to describe a closed loop quick return mechanism, which has the
quality to have a nonlinearity due to the Coriolis acceleration between the
links. The model is validated using simulation software and programming
each one of the equations.
ABSTRACT
SEÑOR, te doy las gracias de todo mi corazón, de toda mi alma, de todo
mi ser. Porque día a día cambias mi mundo, lo haces florecer. Gracias
Papito hermoso porque me buscaste y no dejaste que me apartara.
Porque en mis días de cansancio me levantabas, me platicabas, me
instruías. Creaste un espacio y un tiempo para nosotros. Te agradezco
porque puedo confiar en ti. Porque conozco tu amor. Porque las veces
que mi corazón se rendía tú me animabas. Me sacaste de la locura y me
diste un corazón entendido. Porque veo a los que tú me diste y me siento
muy feliz al verlos sonreír. Gracias por ese regalo. Te doy gracias por estar
ahí siempre. TE AMO SEÑOR. Y en este trabajo quiero decirte que eres el
motor de mis días y cada objetivo que alcanzo veo tus manos que me
guían. GRACIAS SEÑOR.
Princesa hermosa, mi gran tesoro, sin ti no hubiera llegado tan lejos. Mi
compañera, mi amada. Gracias corazón por creer en mí, por dar tu
tiempo, tu amor, tu esfuerzo, tu valentía y tu enorme corazón por nosotros.
Gracias porque cuando veo las cosas perdidas siempre encuentro un
apoyo incondicional en ti. Apostaste por mí en las condiciones más
adversas con una sonrisa sabiendo que lo íbamos a lograr. Este triunfo es
nuestro princesa y gracias a DIOS vamos a tener muchos más. Es hermoso
saber que al enfrentar al peor enemigo hay alguien especial que ira
contigo hasta el final aun sabiendo que en tal proeza la vida vaya de por
medio. TE AMO corazón por lo que eres, mi mejor amiga, mi esposa, mi
dulce hogar.
A mis padres y mi hermano, mis héroes de mil batallas. Gracias porque
siempre han tenido un oído cerca, un abrazo fuerte y palabras para
vencer a ejércitos. Gracias por su amor, por su dedicación por sus
cimientos, por cuidar a la semilla, cuidarla y alegrarse por verla florecer.
Gracias por su esfuerzo, por sus días de desvelo, por sus preocupaciones,
por hacerme el hombre que soy. Anhelo que mis hijos tengan tanta dicha
como la tengo yo de tenerlos cerca. LOS AMO.
A mis suegros y familia Sánchez Colín
Gracias, por adoptarme en sus corazones y tenderme su mano para
caminar, por su confianza, apoyo y amor. Porque he encontrado un lugar
seguro a donde querer volver con alegría. Gracias por su paciencia y
atención. Este triunfo también es suyo, mi familia. LOS AMO.
AGRADECIMIENTOS
A mis profesores, quiero agradecerles su pasión por enseñar, su animó y sus
exigencias para verme crecer. Los días que pase en esta institución fue un
reto impresionante. Gracias por forjar mi carácter y ayudar a derrotar mis
propias limitaciones.
AGRADECIMIENTOS
i
ÍNDICE
ÍNDICE GENERAL i
Índice de Tablas y Figuras v
Simbología xiii
Objetivo xxxiii
Justificación xxxv
I ESTADO DEL ARTE 1
1.1. Evolución de la Mecánica 3
1.2. Breve historia del control automático 7
1.3. Mecatrónica 11
1.4. Mecanismos desde un punto de vista mecatrónico 15
II ANÁLISIS CINEMÁTICO 21
2.1. Grados de Libertad 23
2.2. Sistema de Coordenadas 27
2.3. Restricciones cinemáticas 31
2.4. Uniones en sistema multicuerpo 33
2.5. Cinemática Directa 43
2.5.1 Análisis de Posición 43
2.5.1.1 Restricciones de Unión 43
2.5.1.2 Restricciones de Conducción 53
2.5.1.3 Restricciones Holónomas 59
2.5.2 Análisis de Velocidad 61
2.5.3 Análisis de Aceleración 67
2.5.4 Cinemática de los CM 73
2.6. Coeficientes de Velocidad y Aceleración 79
ÍNDICE
ii
III ANÁLISIS DINÁMICO 83
3.1. Energía Cinética 85
3.2. Energía Potencial 89
3.3. Ecuación de Lagrange 91
3.4. Formulación de Coordenadas 93
3.5. Fuerzas de restricción 95
3.6. Parámetros reducidos EKSERGIAN 97
3.7. Método de los multiplicadores de Lagrange (DAEs) 101
3.7.1 Método utilizando coeficientes de velocidad 113
3.7.2 Método utilizando ecuación cinemática 115
3.8. Trabajo virtual 117
3.9. Fuerzas externas 119
3.10. Cálculo de reacciones 123
IV SÍNTESIS CINEMÁTICA 139
4.1. Máquina Herramienta: Cepillo 141
4.2. Especificaciones de diseño 147
4.3. Síntesis cinemática 149
4.4. Clasificación de la síntesis cinemática 151
4.5. Condiciones de diseño en la síntesis cinemática 155
4.6. Síntesis cinemática del mecanismo de Whitworth 159
4.6.1 Manivela-Biela-Corredera 161
4.6.2 Ventaja mecánica 163
4.6.3 Modelo cinemático 165
4.6.4 Inversión cinemática 169
4.6.5 Mecanismo de retorno rápido 171
4.6.6 Dimensionamiento del mecanismo de retorno rápido 173
V DISEÑO PARA CONTROL 183
5.1. Diseño Mecatrónico 185
5.2. Diseño para control 189
5.3. Balanceo en los mecanismos 191
5.4. Fuerzas y momentos de inercia 195
5.5. Fuerzas de inercia en un rotor 199
5.6. Fuerzas y momentos de sacudimiento en un rotor 201
5.7. Balanceo en un rotor 203
5.8. Fuerzas y momentos de sacudimiento en un mecanismo 207
5.9. Balanceo en un mecanismo 209
5.10. Balanceo en un mecanismo manivela-biela-corredera 211
ÍNDICE
v
TABLAS Y FIGURAS CAPÍTULO 2
CAPÍTULO 2
TABLAS
2.1 Pares Inferiores
FIGURAS
2.1 Mecanismo de Retorno rápido de Whitworth 2.2 Coordenadas Relativas 2.3 Coordenadas de punto de referencia 2.4 Coordenadas Naturales. 2.5 Restricciones de Base Coordenadas Punto de Referencia 2.6 Restricciones de Revoluta Coordenadas Punto de Referencia 2.7 Restricciones prismáticas Coordenadas Punto de Referencia 2.8 Sólido con dos puntos básicos Coordenadas Naturales 2.9 Sólido con tres puntos básicos Coordenadas Naturales 2.10 Sólido con tres puntos básicos co-lineales Coordenadas Naturales 2.11 Sólido con cuatro puntos básicos Coordenadas Naturales 2.12 Restricción prismática Coordenadas Naturales 2.13 Restricción prismática especial Coordenadas Naturales 2.14 Restricción de ángulo Coordenadas Mixtas 2.15 Restricción de distancia coordenadas Mixtas 2.16 Mecanismo de Whitworth 2.17 Restricción Sólido BB1 2.18 Restricción Sólido DD1 2.19 Restricción Sólido EF 2.20 Mecanismo de Whitworth 2.21 Lazo I 2.22 Lazo II 2.23 Biela Manivela 2.24 Mecanismo de Whitworth 2.25 Superficie de restricción I 2.26 Superficie de restricción II 2.27 Elemento BB1 CM 2.28 Elemento DD1 CM 2.29 Elemento EF CM 2.30 Elemento F CM 2.31 Elemento C CM
vii
TABLAS Y FIGURAS CAPÍTULO 3
CAPÍTULO 3
FIGURAS
3.1 Energía Cinética 3.2 Mecanismo de Whitworth con CM 3.3 Energía Potencial Gravitatoria 3.4 Fuerzas Externas 3.5 Reacciones en BB1 3.6 Reacciones en C 3.7 Reacciones en DD1 3.8 Reacciones en EF 3.9 Reacciones en F
ix
CAPÍTULO 4
TABLAS
4.1 Velocidad de corte 4.2 Velocidades para desbaste y acabado 4.3 Dimensiones Manivela-Biela-Corredera 4.4 Valores de ángulos en el mecanismo Manivela-Biela-Corredera (R/L)=0.3 4.5 Dimensiones Inversión mecanismo Manivela-Biela-Corredera
FIGURAS
4.1 Posición de agarrotamiento 4.2 Mecanismo de retorno rápido de Whitworth 4.3 Mecanismo Manivela-Biela-Corredera 4.4 Inversión del mecanismo Manivela-Biela-Corredera 4.5 Mecanismo Manivela-Biela-Corredera 4.6 Aceleración corredera R/L 0.2 4.7 Aceleración corredera R/L 0.3 4.8 Aceleración corredera R/L 0.7 4.9 Ángulo de Transmisión 4.10 Mecanismo Manivela-Biela Corredera Inversiones 4.11 Inversión #2 Mecanismo de Manivela-Biela-Corredera 4.12 Ángulo de cambio de velocidad 4.13 Posiciones límite de eslabón AD 4.14 Trayectoria BC inscrita en AD 4.15 Ángulo gama 4.16 Trayectoria BC inicio 4.17 Trayectoria AD 4.18 Trayectoria AD inicio 4.19 Mecanismo retorno rápido de Whitworth 4.20 Simulación 1 4.21 Simulación 2 4.22 Simulación 3 4.23 Dimensiones del mecanismo de retorno rápido
TABLAS Y FIGURAS CAPÍTULO 4
xi
CAPÍTULO 5
FIGURAS
5.1 Balanceo estático 5.2 Fuerza centrípeta 5.3 Fuerza centrífuga 5.4 Fuerzas de inercia en un rotor 5.5 Momentos de inercia en un rotor 5.6 Balanceo en un rotor con masas en un solo plano 5.7 Balanceo en un rotor con masas. Caso general 5.8 Centro de masa en un rotor balanceado 5.9 Rotor desbalanceado 5.10 Rotor balanceado 5.11 Fuerzas y Momentos de inercia en un mecanismo de 4 barras 5.12 Mecanismo Biela-Manivela-Corredera. 5.13 Masas Equivalentes 5.14 Masa de Balanceo 5.15 Diagrama de cuerpo libre y aceleraciones 5.16 Mecanismo Manivela Biela Corredera MBC Simulación 5.17 Fuerzas de Sacudimiento MBC Simulación 5.18 Mecanismo Manivela Biela Corredera MBC Simulación Balanceado 5.19 Fuerzas de Sacudimiento MBC Simulación Balanceado 5.20 Mecanismo Manivela Biela Corredera con Manivela Rueda 5.21 Mecanismo MBC Simulación Balanceado Manivela Rueda 5.22 Fuerzas de sacudimiento MBC Simulación Balanceado Manivela Rueda
TABLAS Y FIGURAS CAPÍTULO 5
xiii
SIMBOLOGÍA CAPÍTULO 2
SIMBOLOGÍA: CAPÍTULO 2
Ángulo entre el sistema de coordenadas inercial y el eslabón “2”
Ángulo entre un sistema de coordenadas local ubicado en el punto A
y el eslabón “4”
Ángulo entre un sistema de coordenadas local ubicado en el punto E
y el eslabón “5”
P Distancia Horizontal, entre los puntos A y B
H Distancia Vertical, entre los puntos A y B
m Distancia Vertical, entre los puntos B y la base del efector final.
1BB Se refiere al Eslabón 2
C Se refiere al Eslabón 3
1DD Se refiere al Eslabón 4
EF Se refiere al Eslabón 5
F Se refiere al Eslabón 6
),( BB yx Coordenadas del Punto B
),( 11 BB yx Coordenadas del Punto B1
),( CC yx Coordenadas del Punto C
),( DD yx Coordenadas del Punto D
),( 11 DD yx Coordenadas del Punto D1
),( EE yx Coordenadas del Punto E
),( FF yx Coordenadas del Punto F
)( 1BBL Longitud del elemento BB1
xiv
SIMBOLOGÍA CAPÍTULO 2
)( 1DDL Longitud del elemento DD1
)( EFL Longitud del elemento EF
)( EFL Longitud del elemento EF
)( 1CBL Distancia del punto C a B1
)( 1EDL Distancia del punto E a D1
)( 1ADL Distancia del punto A al punto D1
1BBR Vector Posición del Punto B al B1
BCR Vector Posición del Punto B al C
ACR Vector Posición del Punto A al C
ADR Vector Posición del Punto A al D
1ADR Vector Posición del Punto A al D1
AER Vector Posición del Punto A al E
EFR Vector Posición del Punto E al F
BFR Vector Posición del Punto B al F
BAR Vector Posición del Punto B al A
1BBL Distancia entre puntos B, B1
BCL Distancia entre puntos B, C
ACL Distancia entre puntos A, C
ADL Distancia entre puntos A, D
xv
SIMBOLOGÍA CAPÍTULO 2
1ADL Distancia entre puntos A, D1
AEL Distancia entre puntos A, E
EFL Distancia entre puntos E, F
r Longitud manivela
l Longitud biela Ángulo manivela
Ángulo biela
p Superficie de restricción
q Variable(s) generalizada(s)
f Ecuación de la posición
g Ecuación de la velocidad
Q Matriz Jacobiana
q Velocidad variables generalizadas
t Matriz con los elementos restantes
XPBBXBB RR 11
Coordenada de Velocidad x del punto B1, desde el punto de
referencia B
YPBBYBB RR 11
Coordenada de Velocidad y del punto B1, desde el punto de
referencia B
BCXPBCX RR
Coordenada de Velocidad x del punto C, desde el punto de
referencia B
BCYPBCY RR
Coordenada de Velocidad y del punto C, desde el punto de
referencia B
xvi
SIMBOLOGÍA CAPÍTULO 2
ACXPACX RR
Coordenada de Velocidad x del punto C, desde el punto de
referencia A
ACYPACY RR
Coordenada de Velocidad y del punto C, desde el punto de
referencia A
ADXPACX RR
Coordenada de Velocidad x del punto D, desde el punto de
referencia A
ADYPACY RR
Coordenada de Velocidad y del punto D, desde el punto de
referencia A
XPADXAD RR 11
Coordenada de Velocidad x del punto D1, desde el punto de
referencia A
YPADYAD RR 11
Coordenada de Velocidad y del punto D1, desde el punto de
referencia A
AEXPAEX RR
Coordenada de Velocidad x del punto E, desde el punto de
referencia A
AEYPAEY RR
Coordenada de Velocidad y del punto E, desde el punto de
referencia A
EFXPEFX RR
Coordenada de Velocidad x del punto F, desde el punto de
referencia E
EFYPEFY RR
Coordenada de Velocidad y del punto F, desde el punto de
referencia E
BFXPBFX RR
Coordenada de Velocidad x del punto F, desde el punto de
referencia B
ACPAC LL
Derivada con respecto del tiempo de la distancia ACL
XPPBBXBB RR 11
Coordenada de Aceleración x del punto B1, desde el punto de
referencia B
YPPBBYBB RR 11
Coordenada de Aceleración y del punto B1, desde el punto de
referencia B
BCXPPBCX RR
Coordenada de Aceleración x del punto C, desde el punto de
referencia B
BCYPPBCY RR
Coordenada de Aceleración y del punto C, desde el punto de
referencia B
xvii
SIMBOLOGÍA CAPÍTULO 2
ACXPPACX RR
Coordenada de Aceleración x del punto C, desde el punto de
referencia A
ACYPPACY RR
Coordenada de Aceleración y del punto C, desde el punto de
referencia A
ADXPPACX RR
Coordenada de Aceleración x del punto D, desde el punto de
referencia A
ADYPPACY RR
Coordenada de Aceleración y del punto D, desde el punto de
referencia A
XPPADXAD RR 11
Coordenada de Aceleración x del punto D1, desde el punto de
referencia A
YPPADYAD RR 11
Coordenada de Aceleración y del punto D1, desde el punto de
referencia A
AEXPPAEX RR
Coordenada de Aceleración x del punto E, desde el punto de
referencia A
AEYPPAEY RR
Coordenada de Aceleración y del punto E, desde el punto de
referencia A
EFXPPEFX RR
Coordenada de Aceleración x del punto F, desde el punto de
referencia E
EFYPPEFY RR
Coordenada de Aceleración y del punto F, desde el punto de
referencia E
BFXPPBFX RR
Coordenada de Aceleración x del punto F, desde el punto de
referencia B
ACPPAC LL
Segunda Derivada con respecto del tiempo de la distancia ACL
CMBBR 1 Posición del CM del elemento BB1, desde el punto de
referencia B
CMDDR 1 Posición del CM del elemento DD1, desde el punto de
referencia B
EFCMR Posición del CM del elemento EF, desde el punto de
referencia B
FCMR ´ Posición del CM del elemento F, desde el punto de referencia
B
xviii
SIMBOLOGÍA CAPÍTULO 2
CCMR Posición del CM del elemento C, desde el punto de referencia
B
CMBBR 1 Velocidad del CM del elemento BB1, desde el punto de
referencia B
CMDDR 1 Velocidad del CM del elemento DD1, desde el punto de
referencia B
EFCMR Velocidad del CM del elemento EF, desde el punto de
referencia B
FCMR Velocidad del CM del elemento F, desde el punto de referencia
B
CCMR Velocidad del CM del elemento C, desde el punto de
referencia B
CMBBR 1 Aceleración del CM del elemento BB1, desde el punto de
referencia B
CMDDR 1 Aceleración del CM del elemento DD1, desde el punto de
referencia B
EFCMR Aceleración del CM del elemento EF, desde el punto de
referencia B
FCMR Aceleración del CM del elemento F, desde el punto de
referencia B
CCMR Aceleración del CM del elemento C, desde el punto de
referencia B
xix
SIMBOLOGÍA CAPÍTULO 2
K Coeficiente de Velocidad de
ACKL Coeficiente de Velocidad de ACL
K Coeficiente de Velocidad de
BFXKR Coeficiente de Velocidad de BFXR
L Coeficiente de Aceleración de
ACLL Coeficiente de Aceleración de ACL
L Coeficiente de Aceleración de
BFXLR Coeficiente de Aceleración de BFXR
xxi
SIMBOLOGÍA CAPÍTULO 3
SIMBOLOGÍA: CAPÍTULO 3
T Energía Cinética
m Masa
v Velocidad lineal
I Inercia
w Velocidad angular
TBB1 Energía Cinética del centro de masa del elemento BB1
mBB1 masa del elemento BB1
RBB1CMX Coordenada x de la posición del centro de masa del elemento BB1
RBB1CMY Coordenada y de la posición del centro de masa del elemento BB1
RBB1CMXP Coordenada x de la velocidad del centro de masa del elemento BB1
RBB1CMYP Coordenada y de la velocidad del centro de masa del elemento BB1
IBB1 Inercia del elemento BB1
TDD1 Energía Cinética del centro de masa del elemento DD1
mDD1 masa del elemento DD1
RDD1CMX Coordenada x de la posición del centro de masa del elemento DD1
RDD1CMY Coordenada y de la posición del centro de masa del elemento DD1
RDD1CMXP Coordenada x de la velocidad del centro de masa del elemento DD1
RDD1CMYP Coordenada y de la velocidad del centro de masa del elemento DD1
IDD1 Inercia del elemento DD1
TEF Energía Cinética del centro de masa del elemento EF
mEF masa del elemento EF
REFX Coordenada x de la posición del centro de masa del elemento EF
xxii
SIMBOLOGÍA CAPÍTULO 3
REFY Coordenada y de la posición del centro de masa del elemento EF
REFCMXP Coordenada x de la velocidad del centro de masa del elemento EF
REFCMYP Coordenada y de la velocidad del centro de masa del elemento EF
IEF Inercia del elemento EF
TF Energía Cinética del centro de masa del elemento F
mF masa del elemento F
RFX Coordenada x de la posición del centro de masa del elemento F
RFY Coordenada y de la posición del centro de masa del elemento F
RFCMXP Coordenada x de la velocidad del centro de masa del elemento F
RFCMYP Coordenada y de la velocidad del centro de masa del elemento F
IF Inercia del elemento F
TC Energía Cinética del centro de masa del elemento C
mC masa del elemento C
RCX Coordenada x de la posición del centro de masa del elemento C
RCY Coordenada y de la posición del centro de masa del elemento C
RCCMXP Coordenada x de la velocidad del centro de masa del elemento C
RCCMYP Coordenada y de la velocidad del centro de masa del elemento C
IC Inercia del elemento C
(u2,v2) Coordenadas de posición del centro de masa del elemento BB1,
medida desde un sistema de coordenadas móvil, ubicado en el par B.
(u3,v3) Coordenadas de posición del centro de masa del elemento C,
medida desde un sistema de coordenadas móvil, ubicado en el par C
(u4,v4) Coordenadas de posición del centro de masa del elemento DD1,
medida desde un sistema de coordenadas móvil, ubicado en el par A.
(u5,v5) Coordenadas de posición del centro de masa del elemento EF,
medida desde un sistema de coordenadas móvil, ubicado en el par E
xxiii
SIMBOLOGÍA CAPÍTULO 3
(u6,v6) Coordenadas de posición del centro de masa del elemento F, medida
desde un sistema de coordenadas móvil, ubicado en el par F
U Energía Potencial
Vg Energía Potencial debida a la gravedad
g Aceleración de la gravedad
h Altura medida desde un plano de referencia arbitrario
VgBB1 Energía potencial del elemento BB1 medida en su centro de masa,
desde el sistema de coordenadas inercial.
VgDD1 Energía potencial del elemento DD1 medida en su centro de masa,
desde el sistema de coordenadas inercial.
VgEF Energía potencial del elemento EF medida en su centro de masa,
desde el sistema de coordenadas inercial.
VgF Energía potencial del elemento F medida en su centro de masa,
desde el sistema de coordenadas inercial.
VgC Energía potencial del elemento C medida en su centro de masa,
desde el sistema de coordenadas inercial.
L Función Lagrangiana.
QEXT Fuerzas externas generalizadas
ΦQ Matriz Jacobiana
λ Multiplicadores de Lagrange
ΦQ λ Fuerzas de restricción
Inercia generalizada
q Coordenadas generalizadas
QNC Fuerzas no conservativas.
M Matriz Masa
NC Matriz de fuerzas de coriolis y centrípeta
xxiv
SIMBOLOGÍA CAPÍTULO 3
NG Matriz de gravedad
MTC Matriz de masa, cuyos componentes tienen que ver con la energía
cinética del elemento C
NCTC Matriz de fuerzas de coriolis y centrípeta, cuyos componentes tienen
que ver con la energía cinética del elemento C
δW Trabajo Virtual
δs Desplazamiento Virtual
F Fuerza aplicada
ri Desplazamiento lineal virtual
Ai Desplazamiento angular virtual
δɸ Desplazamiento angular virtual en ɸ
δβ Desplazamiento angular virtual en β
δθ Desplazamiento angular virtual en θ
),( YX Sistema de coordenadas inercial
),( 22 VU Sistema de coordenadas colineal al elemento, ubicado en el par B.
),( 22 YX Sistema de coordenadas con la misma orientación que el inercial,
ubicado en el centro de masa del elemento “2” ó “BB1”.
)( 2,2 CMCM VU Sistema de coordenadas colineal al elemento, ubicado en el centro
de masa del elemento “2” ó “BB1”.
),( 22 vu Distancias medidas desde el sistema de coordenadas ),( 22 VU
BCL Distancia del punto B a C.
1BBW Peso del elemento “2” ó “BB1”, concentrado en el CM.
1CBBf Fuerza ejercida por el elemento “3” ó “C” sobre el elemento “2” ó
“BB1”.
11BBf Fuerza ejercida por el elemento “1” sobre el elemento “2” ó “BB1”
xxv
SIMBOLOGÍA CAPÍTULO 3
CMBBR 1 Aceleración del CM del elemento BB1, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
BCMBBR 1 Posición medida desde el CM del elemento BB1 al Par B, utilizando
el sistema de coordenadas ),( 22 YX
CCMBBR 1 Posición medida desde el CM del elemento BB1 al Par C, utilizando
el sistema de coordenadas ),( 22 YX
CCMR Aceleración del CM del elemento C, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
CMCCR Posición medida desde el CM del elemento C al par C, utilizando el
sistema de coordenadas ),( 33 YX.
CMCNCR Posición medida desde el CM del elemento C al punto de aplicación
de la fuerza normal al elemento C, ejercida por el elemento DD1
utilizando el sistema de coordenadas ),( 33 YX.
CCMCR Posición medida desde el punto C al CM del elemento C, utilizando el
sistema de coordenadas ),( 33 VU
CNCR Posición medida desde el punto C al punto de aplicación de la fuerza
normal al elemento C utilizando el sistema de coordenadas ),( 33 VU
CMDDR 1 Aceleración del CM del elemento DD1, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
ACMDDR 1 Posición medida desde el CM del elemento DD1 al par A, utilizando
el sistema de coordenadas ),( 44 YX.
ECMDDR 1 Posición medida desde el CM del elemento DD1 al par E, utilizando
el sistema de coordenadas ),( 44 YX
xxvi
SIMBOLOGÍA CAPÍTULO 3
NCCMDDR 1 Posición medida desde el CM del elemento DD1 al punto de
aplicación de la fuerza normal al elemento DD1, ejercida por el
elemento C utilizando el sistema de coordenadas ),( 44 YX.
1ACMDDR Posición medida desde el punto A al CM del elemento DD1,
utilizando el sistema de coordenadas ),( 44 VU
AER Posición medida desde el punto A al punto E, utilizando el sistema de
coordenadas ),( 44 VU
ANCR Posición medida desde el punto A al punto de aplicación de la fuerza
normal al elemento DD1 utilizando el sistema de coordenadas
),( 44 VU
EFCMR Aceleración del CM del elemento EF, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
CMEFER Posición medida desde el CM del elemento EF al par E, utilizando el
sistema de coordenadas ),( 55 YX.
CMEFFR Posición medida desde el CM del elemento EF al par F, utilizando el
sistema de coordenadas ),( 55 YX
ECMEFR Posición medida desde el punto E al CM del elemento EF, utilizando
el sistema de coordenadas ),( 55 VU
EFR Posición medida desde el punto E al punto F, utilizando el sistema de
coordenadas ),( 55 VU
FCMR Aceleración del CM del elemento F, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
CMFFR Posición medida desde el CM del elemento F al par F, utilizando el
sistema de coordenadas ),( 66 YX.
xxvii
SIMBOLOGÍA CAPÍTULO 3
CMFNFR Posición medida desde el CM del elemento F al punto de aplicación
de la fuerza normal al elemento F, utilizando el sistema de
coordenadas ),( 66 YX
CMFfcorteR Posición medida desde el CM del elemento F al punto de aplicación
de la fuerza de corte, utilizando el sistema de coordenadas ),( 66 YX
FCMFR Posición medida desde el punto F al CM del elemento F, utilizando el
sistema de coordenadas ),( 66 VU
FfcorteR Posición medida desde el punto F al punto de aplicación de la fuerza
de corte, utilizando el sistema de coordenadas ),( 66 VU
xxix
SIMBOLOGÍA: CAPÍTULO 4
N Número de carreras por minuto
Vc Velocidad de corte del metal
L Longitud de la carrera
Ti Tiempo de la carrera de trabajo
Tt Tiempo total de las dos carreras
shortr Longitud del eslabón más corto de un mecanismo de 4 barras
longr Longitud del eslabón más largo de un mecanismo de 4 barras
ba rr , Longitudes de los eslabones restantes de un mecanismo de 4 barras
m Distancia vertical entre el eje de referencia fijo y el par del eslabón F
h Distancia vertical entre el eje de referencia fijo y el par A
Stroke Carrera de la corredera
Crank Manivela
R Longitud Manivela
L Longitud Biela
Ángulo de Transmisión
x Posición de la corredera
Ángulo de la manivela con respecto a la horizontal
Ángulo de la biela con respecto a la horizontal
Velocidad angular de la manivela
Velocidad angular de la biela
x Velocidad de la corredera
SIMBOLOGÍA CAPÍTULO 4
xxx
Aceleración angular de la manivela
Aceleración angular de la biela
x Aceleración de la corredera
Ángulo de la manivela con respecto a la vertical
Ángulo de la biela con respecto a la vertical
Q Relación de velocidades de avance y retroceso
Ángulo de avance en la manivela
Ángulo de retroceso en la manivela
Periodo del motor
Ángulo de referencia en la manivela con respecto a la horizontal, que se
utiliza como indicador de los tiempos de avance y retroceso, en la síntesis cinemática
ABL Longitud del eslabón AB
ADL Longitud del eslabón AD
SIMBOLOGÍA CAPÍTULO 4
xxxi
SIMBOLOGÍA: CAPÍTULO 5 F Fuerza
M Momento
m masa
GA Aceleración del centro de masa
I Segundo momento de inercia
Aceleración angular
CENTRÍPETAF Fuerza centrípeta
R Radio de círculo
, w Velocidad angular
a,b Distancia entre masas en un rotor
W Peso
INERCIAF Fuerza de inercia
INERCIAM Momento de inercia
ijF Fuerza que ejerce i sobre j
ijR Vector desde i hasta j
EBielam Masa concentrada de la Biela en el par E
FBielam Masa concentrada de la Biela en el par F
EFm Masa del eslabón EF
e Distancia del centro de masa del eslabón EF al punto e
f Distancia del centro de masa del eslabón EF al punto f
EFI Segundo momento de inercia del elemento EF
SIMBOLOGÍA CAPÍTULO 5
xxxii
L Longitud del eslabón EF
AEL Longitud del eslabón AE
AEm Masa del elemento AE
Balanceom Masa agregada para balancear parcialmente el mecanismo
BalanceoL Longitud medida desde el par A, hasta el punto donde se ubica la
masa de balanceo
AFXR Posición horizontal del eslabón F, medida desde el par A
Ángulo de la horizontal hacia la manivela
AFXR Aceleración horizontal del eslabón F, obtenida al derivar dos veces la
posición del eslabón F, me
SIMBOLOGÍA CAPÍTULO 5
xxxiii
El objetivo principal de esta tesis, es el análisis de posición, velocidad y
fuerzas de un mecanismo de configuración cerrada, como el de retorno
rápido de Whitworth
Derivados del objetivo general se plantean los siguientes objetivos
específicos:
Realizar una investigación de los modelos utilizados para describir el
movimiento de los mecanismos de lazo cerrado, para definir sus
ventajas y diferencias.
Encontrar el modelo cinemático y dinámico que rige a un
mecanismo de retorno rápido que presenta una no linealidad en la
aceleración de coriolis.
Programar todas las ecuaciones planteadas, para tomarse como
base en una futura implementación de algún algoritmo de control.
Realizar la síntesis del mecanismo, para encontrar las dimensiones
que permitan utilizarlo en una máquina herramienta
Proponer métodos de balanceo, para facilitar la implementación de
algoritmos de control.
OBJETIVO
xxxv
En las últimas décadas el estudio de los mecanismos considerados como
de lazo abierto, en específico los robots, ha tenido muchos avances. De tal
manera que existe un modelo común para este tipo de mecanismos, que
facilita la implementación de algoritmos de control. Sin embargo, debido a
su propia constitución, estos mecanismos presentan ciertas deficiencias en
la precisión, velocidad y rigidez del efector final, por lo que su función
principal, aunque no única, es la denominada “pick and place”.
Los estudios recientes se han enfocado a los mecanismos de lazo cerrado
como un método para solventar esta deficiencia del efector final. Para tal
fin se ha tomado como punto de partida, encontrar un modelo semejante
al planteado para los mecanismos de lazo abierto en el entendido de
aprovechar toda la información que pueda facilitar la implementación de
algoritmos de control.
Se han propuesto diferentes métodos que tienen en común, el hecho de
que un mecanismo de lazo abierto presenta un actuador por cada par
cinemático, a diferencia de un mecanismo de lazo cerrado cuyo número
de pares cinemáticos supera al número de actuadores. Lo que lleva a
tener un número distinto de ecuaciones diferenciales que describen el
sistema y las variables involucradas. Para lidiar con este inconveniente se
agregan las llamadas coordenadas generalizadas dependientes y el uso
de los multiplicadores de Lagrange.
Además, los modelos planteados se implementan en software como
modelos generalizados, en donde es muy importante que su estructura no
complique el procesamiento de la información. Una de las claves para
lograr este objetivo es la selección de las coordenadas y puntos de
referencia más adecuados. Esto ha llevado a la construcción de modelos
basados en coordenadas naturales, de punto de referencia, relativos y
mixtos.
La información heredada de los mecanismos de lazo abierto, ha servido
para implementar algoritmos de control en los mecanismos de lazo
cerrado utilizando estos modelos planteados. Se presentan buenos
resultados principalmente en simulaciones y prototipos de laboratorio. Esto
a causa de la simplificación del modelo y la imposición de restricciones
ideales.
JUSTIFICACIÓN
xxxvi
El término mecatrónica, y en específico el diseño mecánico basado en el
control, ha surgido como una propuesta para facilitar la implementación
de algoritmos de control en los mecanismos. La idea consiste en simplificar
el modelo del sistema por medio del diseño mecánico. El balanceo se
plantea como una forma de lograr tal fin, puesto que un mecanismo bien
balanceado mantiene su centro de gravedad estático o casi estático, que
tiene como consecuencia la cancelación o disminución de los efectos de
algunos términos en el modelo del sistema.
El presente trabajo, hace un recorrido a través de los estudios antes
mencionados, aplicándolos a un mecanismo de retorno rápido, que tiene
la característica que presente una no-linealidad debido a la aceleración
de coriolis. Esta característica aunque complica el modelo del sistema, es
muy valorada en el estudio de los esquemas de control. Además, el
modelo resultante se planteó de tal manera que pueda describir diferentes
geometrías en los eslabones.
JUSTIFICACIÓN
1
INTRODUCCIÓN CAPÍTULO 1
El estado del arte es el recorrido que
se realiza -a través de una
investigación de carácter
bibliográfico- con el objeto de conocer
y sistematizar la producción científica
en determinada área del
conocimiento.
Cuando leemos acerca de un
inventor, científico o alguien
importante en la historia, no es fácil
entender su trabajo sin antes estudiar
las razones que lo llevaron a
desarrollarlo, es decir; qué
conocimientos existían y qué hacía
falta cuando se hizo manifiesto.
Un ejemplo, sería Isaac Newton,
quien estudio a Galileo, Kepler, Tycho
Brahe, Copérnico, Aristóteles,
Euclides, etc., para entender que era
necesario encontrar una forma de
describir los cuerpos en movimiento
que fuera simple y eficaz.
Cuando usamos alguna herramienta
o máquina, generalmente no nos
preguntamos quien la inventó, o
desde cuando existe, o aún más,
como vivían las personas sin ella. Al
entenderlo nos damos cuenta del
progreso y el trabajo que se ha
desarrollado a través de los siglos
para contar con ella. Y aún más si
queremos mejorarla, siempre es
valioso saber que se ha hecho antes
y que existe ahora para hacerla más
eficiente.
Tuvieron que pasar muchos siglos en
la historia del hombre, para que
finalmente en el siglo XX, surgieran
las computadoras que son tan
comunes de conseguir y usar en
nuestros días, desde el
descubrimiento de la energía eléctrica
y magnética, además plantear la ley
que rige estos fenómenos, el camino
que se siguió para el desarrollo de la
electrónica, y toda la evolución del
mundo digital.
Este capítulo describe un breve
recorrido a través de la historia y los
fundamentos de la mecánica, el
control, la mecatrónica y la aplicación
de ella en el diseño de los
mecanismos.
Índice.
1.1 Evolución de la mecánica
1.2 Breve historia del control
automático
1.3 Mecatrónica
1.4 Mecanismos desde un punto
de vista mecatrónico
Estado del Arte
3
La inquietud intrínseca del ser humano, lo ha llevado siempre a la búsqueda de la
verdad. La observación, el análisis y la imaginación han sido herramientas
fundamentales para encontrarla.
No es raro encontrar grandes descubrimientos y desarrollos en la antigüedad,
pues los hombres de ese entonces tenían la misma capacidad que los que
habitamos actualmente la tierra, la diferencia se basa sólo en las herramientas
empleadas.
El interés de saber cuál es el principio que rige un fenómeno y poderlo describir y
manipular ha sido siempre el motor propulsor para los hombres de ciencia. Así el
nacimiento de la mecánica fue un paso lógico en la historia de la humanidad.
La mecánica es la rama de la física que estudia y analiza el movimiento y reposo
de los cuerpos y su evolución en el tiempo.
La construcción de los conceptos que hoy conocemos de la mecánica, se lo
debemos a grandes hombres, que a través de la historia han aportado su tiempo y
trabajo.
Grandes griegos como Pitágoras, Aristóteles, Arquímedes, Strato, Ctsibius entre
otras grandes mentes, contribuyeron a formar las bases del entendimiento
Los griegos estudiaron los movimientos de los objetos terrestres y espaciales,
también la teoría de números, trigonometría y geometría, además desarrollaron la
idea del concepto de fricción, impacto y resistencia de las vigas, entre otras
muchas aportaciones.
Con la ayuda de la palanca, la cuña, la polea, el engrane y el tornillo, los griegos
pudieron construir máquinas como la catapulta, proyectiles, además de barcos y
edificios, que después perfeccionaron los romanos.
En el siglo XV, Leonardo Da Vinci, hizo observaciones de las leyes de la dinámica
y estática. Da Vinci sólo se enfocó en máquinas específicas y no a los principios
generales.
En el mismo siglo, Copérnico, Tycho Brahe y Kepler cambiaron el paradigma
aristotélico con sus aportaciones del estudio de los astros.
EVOLUCIÓN DE LA MECÁNICA CAPÍTULO 1
4
En el siglo XVI, Galileo Galilei estudió el movimiento del plano inclinado, realizó
importantes observaciones acerca del movimiento del péndulo.
Muchas veces la dinámica de las máquinas eran bien entendidas antes que
existiera un profundo entendimiento teórico de la dinámica, ese fue el caso del
péndulo de Galileo, que fue descrito antes que Newton y Euler nacieran.
En el mismo año que murió Galileo en 1642, nació en Inglaterra Isaac Newton,
quien en 1686 publicara su trabajo “Principia”, que fue un tratado de la dinámica
de las partículas y su comportamiento bajo el influjo gravitacional. Planteándose
un tiempo absoluto, un espacio homogéneo, en donde no hay puntos o lugares
privilegiados (el metro es igual en la tierra que en el espacio), y un espacio
isotrópico en donde no hay direcciones privilegiadas
Las tres leyes enunciadas por Newton, revolucionaron el mundo científico. Sin
embargo fue hasta 1760, cuando el suizo Leonard Euler público su obra “Theoria
motus corporum solidorum sea rigidorum”, cuando se empezó a entender la
dinámica de los cuerpos rígidos. Euler hizo grandes aportaciones a las
matemáticas, su nombre aparece en casi todas las ramas de las matemáticas.
Joseph-Louis de Lagrange (1736-1813), en su obra “Mecanique Analytique”,
aporto una nueva manera de entender la mecánica, analizando los problemas
desde un punto de vista energético, estudió problemas dinámicos con
restricciones, y problemas de optimización.
El trabajo de Lagrange fue publicado durante el monopolio de Watt y Boulton de la
máquina de vapor.
D’Alembert, fue contemporáneo de Euler y Lagrange, publicó su obra “Tratado de
dinámica” que enuncia el teorema que lleva su nombre “principio de D’Alembert o
principio de los trabajos Virtuales”.
James Watt, ingeniero, matemático e inventor escoces, aportó importantes
conocimientos para la creación de la máquina de vapor, principal eje en la
revolución industrial y principios de la teoría de control clásico, entre sus muchas
obras se encuentra el mecanismo de Watt, que convierte el movimiento circular en
un movimiento casi rectilíneo. Watt se asoció con el industrial Boulton y juntos
instalaron la primera máquina de vapor rotativa en 1786.
Julius Weisbach en 1848 con su tratado “Principios de maquinaria e ingeniería”
presentó de manera general la dinámica de cuerpos rígidos, estabilidad y teoría de
oscilaciones.
EVOLUCIÓN DE LA MECÁNICA CAPÍTULO 1
5
Borgins en 1818 y Haton años mas tarde, publicaron tratados que abarcan los más
importantes mecanismos de una manera descriptiva, el primero clasificándolos en
6 grandes familias, receptores, comunicadores, modificadores, de soporte,
reguladores y operadores. Mientras que Haton describió más de 250 mecanismos.
Más tarde en Alemania Franz Reuleux (1859), conocido como el padre de la
cinemática, desarrolló una notación para describir la topología de los mecanismos,
diseñó y construyó más de 300 piezas de mecanismos, en los cuales se incluyen
el mecanismo de cuatro barras. Sus teorías se basaron en ideas geométricas no
precisamente en los principios dinámicos. También realizó trabajos con la fuerza
centrífuga y los momentos de inercia rotatorios.
Joseph Withworth, ingeniero inglés, que en el siglo XIX, contribuyó con la
introducción de nuevos estándares de precisión en la manufactura a un grado no
visto antes, ya que gracias a su trabajo, fue común utilizar una precisión de una
diez milésima de pulgada. Inventor del mecanismo de retorno rápido utilizado en
las máquinas de cepillo que ayudó a ahorrar tiempo de maquinado.
William Rowan Hamilton, matemático, físico y astrónomo irlandés, quien hizo su
mayor contribución durante el siglo XIX, trabajó con óptica, dinámica y álgebra. Su
trabajo en dinámica y el descubrimiento del cuaternión son sus obras más
representativas. Las ecuaciones de Hamilton, son ecuaciones diferenciales de
primer grado. Los trabajos de Hamilton, Jacobi, Caughy, Navier y Poincaré no
fueron incorporados en el diseño de máquinas hasta mediados del siglo XX.
En el Siglo XX, los problemas dinámicos tuvieron gran importancia debido
principalmente a la invención y la expansión del uso del automóvil. Al tratar estos
problemas se reconocía a los elementos mecánicos como componentes elásticos
y eran tratados usualmente de acuerdo a la teoría de vibraciones, que es un
método matemático que surgió en el siglo XIX con los trabajos de Rayleigh en su
teoría del sonido.
En 1928, Stephen Timoshenko, considerado el padre de la ingeniería mecánica
moderna, divulgó en América importantes trabajos de Europa y Rusia,
combinándolo con su experiencia para resolver problemas industriales. Su primer
libro publicado en 1922, “Vibration Problems in Engineering”, abarcó problemas
lineales y de vibraciones no armónicas. Timoshenko trabajó con la teoría de
elasticidad y Resistencia de los Materiales, además de desarrollar metodologías
para tratar con problemas dinámicos con ayuda de D.H Young, trabajando ambos
en la universidad de Stanford.
EVOLUCIÓN DE LA MECÁNICA CAPÍTULO 1
7
La idea del control por retroalimentación que ha revolucionado nuestra manera de
vivir y de concebir nuestro mundo, tiene un principio básico, el cual consiste en
obtener la respuesta de nuestro sistema, compararla con la respuesta deseada,
una vez que se sabe cuánto difiere una de la otra y en qué manera, entonces se
modifican los parámetros de entrada con el objeto de que la respuesta del sistema
se asemeje en lo mejor posible a la respuesta deseada.
Esta idea pudo haber sido concebida por griegos o árabes del antiguo mundo,
plasmada en sus máquinas, p. ej. En los relojes de agua, lámparas de aceite,
dispensadores de vino, niveladores de agua, etc.
En la era moderna, los dispositivos de regulación de temperatura en calderas o de
posicionamiento de molinos de viento fueron los precursores del control en los
siglos XVII y XVIII
La forma de obtener información del sistema en estos siglos, era a través de
dispositivos mecánicos, un ejemplo muy ilustrativo es el famoso gobernador
utilizado en la máquina de vapor de James Watt, quien obtuvo la idea de Thomas
Mead, que lo utilizaba como sensor de velocidad. Mejorar el funcionamiento del
gobernador fue uno de los principales retos del control en el siglo XIX, ya que a
menudo se encontraban problemas de inestabilidad.
En 1868, el inglés, James Clerk Maxwell analizó la dinámica del gobernador
obteniendo las condiciones de estabilidad para un sistema de tercer orden en
términos de la ecuación característica y fue su compatriota Edward James Routh
quien obtuvo la solución para un sistema de quinto orden. Haciendo un trabajo
independiente en Alemania, Adolf Hurwitz, quien siguió los pasos de
Vyshnegradskii llegó a la misma conclusión de Routh, por lo que el criterio de
estabilidad se conoce como Routh-Hurwitz
A finales del siglo XIX y principios del siglo XX se presentaron aplicaciones de
control en la industria naval, aeronáutica y militar, los cuales ya usaban sistemas
sofisticados de retroalimentación. El giroscopio tuvo un papel muy importante en el
desarrollo de estabilizadores de aviones y barcos.
BREVE HISTORIA DEL CONTROL AUTOMÁTICO CAPÍTULO 1
8
Nicholas Minorsky en 1922, quien nació en Rusia, y emigró a los Estados Unidos,
realizando estudios importantes en la conducción de barcos recomendó, aunque
no en los mismos términos que lo conocemos ahora, una combinación de una
acción proporcional, derivativa e integral en los sistemas retroalimentados. Y a
finales de la década de 1930, ya existían controladores de tipo proporcional,
derivativo e integral, PID.
En las tres primeras décadas del siglo XX, hubo importantes análisis en los
circuitos electrónicos y diseño de filtros.
Harry Nyquist en 1932, analizó el problema de estabilidad de circuitos
retroalimentados utilizados en la transmisión de señales telegráficas. Nyquist
demostró usando los resultados de Cauchy Euler que la clave de estabilidad está
en si la respuesta frecuencial del sistema de lazo abierto se encuentra o no en el
plano complejo rodeando el punto 1+i0.
Una de las grandes ventajas del criterio de Nyquist es que no se requiere la forma
analítica de la respuesta frecuencial del sistema en lazo abierto. Un arreglo de
puntos muestra, pueden ser graficados sin la necesidad del modelo matemático,
otra ventaja consiste en que a diferencia del criterio de Routh-Hurwitz una
valoración de la respuesta transitoria puede ser hecha directamente desde las
gráficas de Nyquist en términos de los márgenes de la ganancia y la fase.
Hendrik Bode a mediados de 1930 introdujo las nociones de márgenes de
ganancia y fase, además de redibujar las gráficas de Nyquist a su forma
actualmente conocida con el punto crítico en -1+0i. También introdujo las
aproximaciones con líneas rectas a las curvas de respuesta frecuencial de
sistemas lineales graficándolas en escala logarítmica.
En la segunda guerra mundial, se presentaron importantes avances en la teoría de
control. Ingenieros de distintas disciplinas trabajaron juntos para implementar
sistemas militares de alto desempeño. Los laboratorios que participaron en dichos
proyectos como el MIT y los laboratorios Bell, al terminar la guerra, elaboraron y
dieron a conocer las técnicas que llegaron a formar lo que conocemos como el
control clásico.
BREVE HISTORIA DEL CONTROL AUTOMÁTICO CAPÍTULO 1
9
El control moderno fue en esencia originado con los trabajos de Poincaré y
Lyapunov a principios del siglo XIX quienes trabajaron con la linealización analítica
de un campo vectorial en un entorno de un punto de equilibrio, a través de la
existencia de soluciones analíticas de ecuaciones en derivadas parciales casi
lineales de primer orden, la dinámica de sistemas no lineales y estabilidad de
sistemas variantes en el tiempo.
Lagrange en su “Mecanique analytique” desarrolló un importante avance en el
entendimiento de la estabilidad de sistemas mecánicos. Su teorema expresa que
el equilibrio es estable en los puntos donde la energía potencial tiene un mínimo.
Lyapunov, tomó el trabajo de Lagrange e introdujo su propia definición en su
monografía “Problema general de la estabilidad del movimiento”, en donde se
encuentra por primera vez una definición con rigor matemático y que va más allá
del concepto de estabilidad utilizado en la mecánica, ya que analiza la estabilidad
de una ecuación diferencial y no nada más en sus puntos de equilibrio sino en
cualquier solución de la ecuación.
Los científicos rusos continuaron las líneas de estos grandes genios, pero no se
dieron a conocer al mundo, hasta después de la segunda guerra mundial.
La guerra fría trajo consigo nuevos retos en materia de control en aplicaciones
militares tanto en sistemas lineales como no-lineales. Los ingenieros siguieron el
ejemplo de Poincaré que formulaba las ecuaciones diferenciales generales en
términos de un juego de ecuaciones de primer orden, variables de estado, que
permitían una representación más sofisticada del comportamiento dinámico,
además que se podía trabajar con problemas multi-variable.
La computadora digital revolucionó el desarrollo de la teoría de control, ya que
pudieron desarrollarse métodos de aproximación confiables, además que permitió
el desarrollo de técnicas de control avanzadas que se desarrollaron en la década
de los 60 y 70s del siglo XX, como son: El control Adaptativo, el control robusto y
óptimo, el control difuso entre otros.
BREVE HISTORIA DEL CONTROL AUTOMÁTICO CAPÍTULO 1
11
MECATRÓNICA CAPÍTULO 1
En 1969, el ingeniero japonés Yasakawa definió la mecatrónica como: “La palabra
mecatrónica está compuesta por “meca” referida a mecanismo y “trónica” referida
a electrónica. En otras palabras, tecnologías y productos de desarrollo
incorporarán la electrónica más y más dentro de los mecanismos de forma íntima
y orgánica, de tal manera que será imposible definir cuando termine una y
comience la otra”.
Desde entonces se han sugerido otras definiciones, aquí presentamos algunas de
ellas.
Tomizuka y Fukada en 1996, “La integración sinérgica de la ingeniería mecánica,
con la electrónica y el control computacional inteligente, en el diseño y
manufactura de productos y procesos industriales”.
Auslander y Kempf, “La mecatrónica es la aplicación de hacer decisiones
complejas para la operación de los sistemas”.
Shetty y Kolk en 1997, “Mecatrónica es una metodología usada para el diseño
óptimo de sistemas electromecánicos”.
W. Bolton, “Un sistema mecatrónico no es solamente la unión de los sistemas
mecánicos y eléctricos y ni sólo un sistema de control, es una completa
integración de ellos”.
Para muchos ingenieros de diseño, la mecatrónica no es algo nuevo, sino sólo un
paso evolutivo, pues se han hecho productos con estas características hace más
de 25 años.
La mecatrónica brinda un mecanismo para entender el proceso de diseño para
definir, clasificar, organizar e integrar muchos aspectos del diseño en un solo
paquete. No es, por tanto, una nueva rama de la ingeniería, sino un concepto que
enfatiza la necesidad de integración e interacción de distintas disciplinas de la
ingeniería.
En los años 60s del siglo XX, la mecatrónica dio un gran paso, con la ayuda del
desarrollo del microprocesador, y sus primeros frutos se dieron a conocer en las
máquinas de control numérico.
12
MECATRÓNICA CAPÍTULO 1
La evolución de la mecatrónica ha estado plasmada en el diseño y funcionamiento
del automóvil, ya que para los años 60’s la radio era el único dispositivo
electrónico dentro del coche. En los 70’s el automóvil ya constaba con el sistema
de ignición electrónico al igual que el sistema antibloqueo de frenos (ABS) para
eliminar el deslizamiento de las llantas al frenado. A mitad de los años 90s, el
sistema de control de tracción (TCS) ya estaba incluido en los automóviles, el cual
asegura el mejor comportamiento de la aceleración.
Hoy en día microprocesadores de 8, 16 o 32 bits son usados en la implementación
de sistemas de control dentro del vehículo.
Los microprocesadores de 32 bits son usados para la administración del motor, el
control de la transmisión y las bolsas de aire, el de 16 bits es usado para los
sistemas ABS, TCS, VDC y aire acondicionado, mientras que el de 8 bits, es
usado para los asientos y el control de los espejos. En palabras sencillas, el
automóvil ha sido transformado en un sistema mecatrónico.
En el diseño mecatrónico, la interconexión entre los sistemas mecánicos y
electrónicos es de vital importancia, ya que los sistemas electrónicos pueden
simplificar u optimizar los sistemas mecánicos. Al añadir un control de lazo
cerrado, ya sea de posición, velocidad o fuerza no sólo obtenemos información
detallada de estas variables, sino que podemos aproximar el sistema mecánico a
un sistema lineal, aun cuando este sea en naturaleza no lineal, además que
podemos aumentar la precisión del sistema.
El diseño de un sistema mecatrónico requiere de un desarrollo sistemático y
herramientas de desarrollo modernas.
El desarrollo sistemático de una máquina o un vehículo, empezaría por entender el
modelo que lo rige, implementar un sistema mecánico, adicionar los sensores y
actuadores y proponer un modelo de control. Una vez que vemos las posibles
mejoras y ventajas, se hace un rediseño de cada una de las etapas para
finalmente hacer una buena integración de todos los sistemas.
En la fase de modelado, existen dos maneras de obtener un buen resultado, la
primera es mediante un modelo teórico y la segunda por medio de datos
experimentales. Para la verificación de estos modelos, Los métodos la respuesta
frecuencial, así como el análisis espectral de Fourier son utilizados.
La tecnología de nuestra época, permite al ingeniero de diseño, simular los
sistemas, para tratar de evitar tantos errores como sea posible antes de su
implementación física.
13
MECATRÓNICA CAPÍTULO 1
Se puede simular todo el sistema mecánico, eléctrico (motores), sensores y
actuadores y la implementación del modelo de control. Existen tres etapas
importantes en la simulación, En la primera se analiza el sistema mecánico, su
resistencia a la flexión, torsión, tensión, fatiga, etc., debidos principalmente a las
cargas y a las vibraciones mecánicas. También hay análisis de fluidos y análisis
térmicos, así como de contacto y fractura. La segunda consiste en implementar el
modelo dinámico así como sus condiciones iniciales en software, entonces
analizar, modificar y mejorar el comportamiento del sistema mediante una ley de
control. Finalmente La tercera etapa consiste en analizar el modelo dinámico
implementado en software que interactúe con sensores y actuadores reales.
Existen en el mercado actual, programas de diseño con un perfil mecatrónico, los
cuales aceleran el desarrollo de productos que involucran distintas disciplinas:
mecánica, eléctrica y control haciendo un trabajo en paralelo. El software permite
crear elementos en tercera dimensión, simular su modelo dinámico y hacer un
análisis de elemento finito. Además permite seleccionar y posicionar sensores y
actuadores, configurando sus parámetros. Finalmente permite implementar una
ley de control que puede ser transportada a un PLC. Tal es el caso del software
de siemens NX.
15
MECATRÓNICA EN LOS MECANISMOS CAPÍTULO 1
Los mecanismos forman parte de la historia de la creatividad humana, con su
ayuda se han construido máquinas que facilitan nuestras vidas, tal fue el caso de
los molinos o relojes inventados en la antigüedad, y los utilizados en los aviones,
helicópteros y naves espaciales de nuestros días.
En los últimos 10 años se han presentado varios trabajos acerca de ellos, ya sea
acerca de su diseño u optimización o como bases para probar modelos de control,
ya que los mecanismos proporcionan características atractivas en sus modelos
dinámicos para ser controladas.
Los servomotores son una parte muy importante en el desarrollo de estos trabajos,
pues es básicamente el actuador a controlar en el mecanismo, ya que muchos de
estos presentan un solo grado de libertad.
En 1996, J.S. Park estudió la eficiencia de los servomotores en los casos en que
una máquina tenga que moverse entre dos puntos repetitivamente ya sea en
forma de rotación o traslación. En su estudio propone un perfil de movimiento con
una máxima eficiencia de energía. A pesar de que ya existían perfiles que
trabajaban bien en la industria, como son el perfil trapezoidal, exponencial,
polinomial, sinusoidal, cosenoidal, entre otros, estos no tenían una eficiente
conversión de energía, ya que mucha de la energía de entrada se desperdiciaba
en forma de calor, por lo que el sistema requería grandes cantidades de energía
de entrada. [12]
J.S. Park propone estudiar la transferencia de energía en el sistema en el
movimiento de punto a punto, además de analizar como un perfil dado interviene
o afecta en dicha transferencia y determinar un perfil de aceleración que presente
mejor eficiencia de energía. Park, considera el motor como un convertidor de
energía eléctrica a energía mecánica (trabajo mecánico). Con la premisa que al
disminuir el calor disipado, se incrementa la eficiencia de conversión de energía y
se necesita menos energía en la entrada, Park, finalmente construye su perfil
parabólico de aceleración para un motor de corriente DC.
La dinámica de los sistemas multi-cuerpos ha tomado un gran interés en los
últimos años. Estos sistemas consisten de un conjunto de cuerpos rígidos que son
restringidos a tener un movimiento relativo uno del otro, por una conexión
cinemática entre ellos.
16
MECATRÓNICA EN LOS MECANISMOS CAPÍTULO 1
En un trabajo presentado en 1997 por la universidad Chung Yuan Christian en la
República de China, se presentó la forma de calcular la posición, velocidad y
aceleración de un mecanismo de cambio (toggle) empleando una técnica de
restricción de multi-cuerpo. [13]
El mecanismo de cambio (toggle) es por lo general una combinación de un
mecanismo de cuatro barras y mecanismo de biela-manivela.
Se habían realizado ya trabajos acerca de cómo modelar la dinámica de este
mecanismo sin utilizar restricciones no ideales. Los trabajos previos que utilizaron
multiplicadores de lagrange resolvían las ecuaciones dinámicas utilizando un
método numérico.
En el trabajo presentado por la universidad Chung Yuan, presentan un mecanismo
de cambio (toggle), formado por dos mecanismos de biela-manivela. Las
posiciones fueron obtenidas utilizando trigonometría y las velocidades y
aceleraciones por un proceso derivativo de las primeras. La dinámica se basó en
las ecuaciones de Hamilton y los multiplicadores de Lagrange obteniendo
ecuaciones diferenciales algebraicas que describen el movimiento del mecanismo.
Es difícil obtener soluciones directas para las ecuaciones planteadas, por lo cual
se plantea método de reordenamiento y partición de las ecuaciones de
movimiento, obteniendo un arreglo de ecuaciones diferenciales en términos de
una sola componente de las coordenadas generalizadas, que son consistentes
con las restricciones de posición y velocidad que actúan en el sistema. Al resolver
este sistema de ecuaciones diferenciales, obtenemos el comportamiento del
sistema.
En 1997, en la universidad de Gaziantep, Turquía, se presentó el modelado,
simulación y control de un mecanismo de cuatro barras con un servo-motor sin
escobillas [14]
El trabajo plantea que los motores con conmutador y escobillas de corriente
directa, imponen ciertas limitaciones de desempeño en servo-sistemas, además
que pueden ser la causa de problemas de mantenimiento. En cambio un motor sin
escobillas donde no existe una interface conmutador-escobillas y el conmutador
mecánico es reemplazado por uno electrónico resulta en un rotor de altas
velocidades y bajas inercias y tiene un gran potencial de confiabilidad comparado
con el motor DC convencional.
17
MECATRÓNICA EN LOS MECANISMOS CAPÍTULO 1
El modelo no lineal del motor sin escobillas en un mecanismo de cuatro barras es
representado por un conjunto de ecuaciones acopladas que se resuelven
utilizando métodos numéricos programados en Turbo Pascal.
Este servo-sistema se plantea experimentalmente, obteniendo resultados muy
parecidos con aquellos hechos en simulación.
Rong-Fong Fung con la ayuda de Rong-Jong Wai continuaron con el trabajo
realizado en el mecanismo de cambio (toggle), presentando en 1998, un trabajo
acerca de dos esquemas de control diseñados para este mecanismo. Control por
modos deslizante y Control por medio de una red neuronal difusa. [15]
El control por modos deslizantes es un medio efectivo para trabajar con
incertidumbres. Este tipo de implementación tiene una buena aceptación en la
comunidad científica, y su aplicación en sistemas dinámicos ha sido posible
gracias a los avances en la electrónica de potencia, siendo su único inconveniente
el fenómeno llamado chattering que se presenta cuando el control conmuta entre
las estructuras(superficies) de control definidas.
Las redes neuronales difusas combinan la capacidad de razonamiento difuso para
manejar incertidumbres y la capacidad de las redes neuronales para aprender
durante el proceso. El control que ocupa esta técnica puede ser aplicado en lazo
cerrado para sistemas no lineales sin usar el complejo modelo matemático que
describe al sistema.
En los trabajos anteriores, no se tomó en cuenta la dinámica del motor y ningún
esquema de control fue implementado en el mecanismo de cambio (toggle), para
controlar su posición, velocidad o trayectoria.
Por tanto se plantean los dos esquemas de control antes mencionados en un
motor de CD de imán permanente. Fung y Wai, muestran que la dificultad de
trabajar con un control por modos deslizantes en sistemas mecánicos, consiste en
encontrar el modelo matemático exacto del sistema y la frontera de incertidumbre
en aplicaciones prácticas; por tal motivo también implementan un control con una
red neuronal difusa.
El trabajo concluye que los datos obtenidos en la simulación y experimentalmente
muestran que los dos esquemas de control resultaron ser muy eficientes y
robustos en el posicionamiento del mecanismo de cambio (toggle)
18
MECATRÓNICA EN LOS MECANISMOS CAPÍTULO 1
En el mismo año, 1998, se publicó un trabajo acerca del control de un mecanismo
biela-manivela usando un control de Torque adaptativo por F.-J. Lin, Y.-S. Lin y S.-
L. Chiu. [16]
El objetivo de este trabajo, consistió en controlar la posición del mecanismo biela-
manivela utilizando un motor síncrono de imán permanente. La metodología que
siguieron fue obtener el modelo dinámico del mecanismo usando las ecuaciones
de Hamilton y los multiplicadores de Lagrange, después plantearon el esquema de
control de Torque adaptativo considerando incertidumbres en el sistema. El control
fue implementado en un DSP y probado experimentalmente.
El control de Torque es utilizado para linealizar la ecuación no lineal del
mecanismo al cancelar algunos o todos los términos no-lineales, sin embargo esta
técnica presenta una desventaja cuando se aplica en sistemas que trabajan en
tiempo real debido a la falta de conocimiento de las incertidumbres. Por otro lado
el control adaptativo es una técnica que brinda estabilidad a aplicaciones
inherentemente no-lineales.
El resultado de implementar el Control de Torque adaptativo en el mecanismo de
biela-manivela, con el objetivo de controlar su posición, mostró ser un control
robusto con grandes resultados tanto en la simulación, como experimentalmente.
En 1999, el mismo problema lo resolvieron: Rong-Fong Fung, Ken-Wang Chen,
Jia-Yush al implementar un control por modos deslizantes difuso. [17]
La metodología del diseño mecatrónico fue planteada en el trabajo de W.J Zhang,
Q. Li, y L.S. Guo en la publicación de su trabajo “Diseño Integral de la estructura
mecánica y el algoritmo de control de un mecanismo de cuatro barras” presentado
en 1999. [18]
La metodología de diseño implementada sugiere un esquema de re-distribución de
masa negativa con el objetivo de obtener un modelo dinámico simple que facilite
el esquema de control. En consecuencia obtener buen desempeño en el
seguimiento de trayectoria y en el comportamiento ante vibraciones mecánicas.
El seguimiento de trayectoria en eslabones de lazo cerrado no es tan común como
aquellos con lazo abierto como los manipuladores. Sin embargo la dinámica del
primer tipo de eslabonamiento es altamente no-lineal debido principalmente a la
asimetría de la estructura geométrica.
19
MECATRÓNICA EN LOS MECANISMOS CAPÍTULO 1
Una metodología de diseño secuencial, crea en la mayoría de las veces
problemas para la implementación del sistema de control, ya que una de las
principales limitaciones del sistema de control es el sistema mecánico. El diseño
mecatrónico planteado, llamado “Diseño para control” trata de solventar este
problema al pensar en el diseño de los componentes para facilitar el esquema de
control.
Para la obtención de un modelo dinámico general para un eslabonamiento de
cuatro barras, se adapta un resorte torsional y un amortiguador al seguidor del
mecanismo.
Finalmente, con la ayuda de la distribución de masa se elimina el término
gravitacional de las ecuaciones de Lagrange. El controlador implementado es un
PD, proporcional-derivativo el cual logra un buen desempeño en el control de
movimiento del mecanismo.
“Modelar e implementar un control en mecanismos de cadena cerrada”, fue el
título del trabajo de Fathi H. Ghorbel, Olivier Chételat, Ruvina Gunawardana y
Roland Longchamp en el año 2000. El trabajo plantea modelar los mecanismos de
cadena cerrada en términos de sus coordenadas generalizadas e implementa un
control tipo PD, proporcional-derivativo, con compensador de gravedad que
garantiza una estabilidad asintótica. Los experimentos los realizaron con la
construcción de un robot delta. [19]
En la actualidad los robots que realizan la función de maquinar, son robots de
cadena cerrada, ya que ofrecen una mayor rigidez con lo cual pueden trabajar con
materiales más duros.
A diferencia de los mecanismos de cadena abierta, la obtención de las ecuaciones
de movimiento para mecanismos de cadena cerrada que permitan la
implementación de un control más eficiente, es todavía un tema de investigación.
Es común derivar las ecuaciones de movimiento en términos de las variables
actuadas, que generalmente es en número igual a los grados de libertad del
sistema. Las ecuaciones de movimiento se pueden derivar con la técnica de
Uicker, la cual consiste en generar tantas ecuaciones diferenciales de segundo
orden no lineales como grados de libertad se presenten en el sistema.
Se toma la idea de Uicker refiriéndose a ella como el “modelo reducido”, que
muestra la ventaja de permitir extender las leyes de control avanzadas que se
tienen para cadenas cinemáticas abiertas a cadenas cinemáticas cerradas.
20
MECATRÓNICA EN LOS MECANISMOS CAPÍTULO 1
El método del “modelo reducido” muestra dos características importantes en los
mecanismos de cadena cerrada. La primera consiste que el sistema está definido
localmente en las coordenadas generalizadas en un dominio compacto con
fronteras que no son fácilmente caracterizadas y la segunda indica que las
ecuaciones dinámicas de estos sistemas son en naturaleza implícitas, lo que
genera un reto en el diseño de un esquema de control. La implementación y el
análisis de estabilidad como la parte implícita del modelo dinámico necesitan un
control basado en el modelo que pueda ejecutarse en línea usando iteraciones
numéricas, forzando a que la operación de cómputo requiera ser casi instantánea
para garantizar la convergencia.
El trabajo muestra que un simple controlador PD, con compensador de gravedad
evade el cómputo en línea y garantiza una estabilidad asintótica según Lyapunov.
Obteniendo buenos resultados en la implementación utilizando un procesado DSP
(Digital Signal Processor) en un “pick and place delta robot”.
En el año 2005, la universidad de Atatürk en Turquía, presentó un trabajo llamado
“Control difuso de un motor de CD conductor de un mecanismo de cuatro barras”,
el cual demuestra que la velocidad angular de entrada de un mecanismo de biela-
manivela, no es constante, presentando fluctuaciones de velocidad a voltajes
constantes ocasionados por los efectos de inercia, por lo cual se diseña un
controlador difuso que regule dicha velocidad y compara los resultados con un
controlador PID presentado en trabajos anteriores. [20]
Las simulaciones muestran los resultados obtenidos, siendo estos muy superiores
en la reducción de fluctuaciones y el porcentaje de sobretiro, así como también en
la estructura del controlador de la señal de salida, lo que facilita la implementación
en hardware.
21
INTRODUCCIÓN CAPÍTULO 2
Se inicia el análisis cinemático, con
un fragmento del libro de “Mecánica
sin Talachas”, escrito por el Doctor
Fermín Viniegra Heberlein, puesto
que muestra como un problema que
parece muy sencillo, se convierte en
complejo al agregar todas las
variables que intervienen en él.
“Los problemas realmente complejos
son los que se observan aquí, en la
Tierra: el vuelo de una flecha a través
del aire es uno de ellos. Para
comprenderlo es necesario entender
no sólo el fenómeno gravitacional de
la Tierra que atrae hacia su centro a
la flecha. También hay que saber que
el aire es un fluido viscoso y que
ejerce fuerzas aerodinámicas sobre la
superficie de control de la flecha,
obligándola a seguir una trayectoria
fija, sin desviarse hacia un lado o el
otro. También es necesario tener un
claro conocimiento sobre los efectos
de la resistencia del aire sobre la
flecha, para poder diseñarla de
manera que vuele mejor, surcando el
espacio libremente. Son muchos los
factores que habrá que tomar en
cuenta para hacer un detallado
análisis del movimiento de la flecha.
Aquellos hechos que por ser
cotidianos parecían simples a la luz
de una razón superficial,
considerados sobre las bases de la
mecánica clásica resultan
sumamente complicados. Se puede
afirmar que, así como la mecánica de
los cielos está al alcance de la mano,
la de los hechos terrenales es una
mecánica de todos los diablos,
debido a las grandes dificultades que
plantea”. [1]
El análisis cinemático estudia el
movimiento de los cuerpos sin
considerar la fuerza que produce
dicho movimiento. Su objetivo es
determinar las posiciones,
velocidades y aceleraciones como
resultado de conocer los movimientos
de entrada pre-escritos. [2]
Índice.
2.1 Grados de Libertad
2.2 Sistemas de Coordenadas
2.3 Restricciones cinemáticas
2.4 Uniones, en sistemas multicuerpo
2.5 Cinemática Directa
2.5.1 Análisis de Posición
2.5.2 Análisis de Velocidad
2.5.3 Análisis de Aceleración
2.5.4 Cinemática de los CM
2.6 Coeficientes de Velocidad y
Aceleración.
ANÁLISIS CINEMÁTICO
23
Tabla 2.1 Pares Inferiores
Nombre Letra DOF Contiene
Revoluta ( R ) 1 R
Prismatico ( P ) 1 P
Helicoidal ( H ) 1 RP
Cilindrico ( C ) 2 RP
Esferico ( S ) 3 RRR
Planar ( F ) 3 RPP
Pares Inferiores
Cualquier sistema mecánico puede ser clasificado de acuerdo al número de
grados de libertad que posee.
Los grados de libertad de un sistema es igual al número de parámetros
independientes, que son necesarios para definir de forma única su posición en el
espacio en cualquier instante de tiempo.
“Eslabón”
Un eslabón es un cuerpo rígido que posee al menos dos nodos que son los puntos
de unión con otros eslabones.
“Par cinemático (junta ó articulación)”
La junta es una conexión entre dos o más eslabones (en sus nodos), los cuales
permiten un movimiento relativo.
“Pares inferiores y superiores”
Reuleux, definió el término de par inferior para describir las juntas con contacto
superficial, como un perno rodeado por un agujero. Y el término par superior para
describir juntas con un punto o línea de contacto. [3]
GRADOS DE LIBERTAD CAPÍTULO 2
24
Para determinar el grado de libertad del mecanismo, es necesario tomar en cuenta
el número de eslabones y pares cinemáticos, así como su interacción.
El grado de libertad de un ensamble de eslabones puede ser descrito usando la
condición de Gruebler. Un eslabón en un espacio tridimensional, tiene 3 grados de
libertad; por tanto un sistema de L eslabones no conectados tendrá un total de 3L
grados de libertad. Como ejemplo, supongamos tener 2 eslabones sin conectar en
un espacio tridimensional, los cuales tendrán 6 grados de libertad; cuando estos
eslabones se conectan por un par cinemático completo, se reduce su número a 4
grados de libertad, en cambio, si fueran conectados por un par cinemático
intermedio, sólo se reduciría en 1, el número de grados de libertad, pues este tipo
de par posee dos grados de libertad, a diferencia del completo que posee sólo
uno. Por otra parte, si un eslabón está sujeto al marco de referencia, se eliminan
sus tres grados de libertad.
Ecuación de Gruebler:
GJLM 323 1.2
M Grados de libertad L Número de Eslabones
J Número de Juntas
G Número de eslabones sujetos al marco de referencia
En un mecanismo, aun cuando más de un eslabón este fijo, este se toma como un
plano fijo, por tanto el número de eslabones sujetos al marco de referencia G=1;
JLM 2)1(3 2.2
El valor J, debe reflejar todos los pares cinemáticos en el mecanismo, es decir
tanto los completos, con un grado de libertad, como los intermedios, con dos
grados de libertad. Por tanto con la modificación de Kutzbach, la ecuación de
Gruebler es:
21 22)1(3 JJLM 3.2
M Grados de libertad L Número de Eslabones
1J Número de Juntas completas
2J Número de Juntas intermedias
GRADOS DE LIBERTAD CAPÍTULO 2
25
Fig. 2.1 Mecanismo de retorno rápido de
Whitworth
2.1.1 MECANISMO DE WHITWORTH
El mecanismo que inventó el inglés Joseph Whitworth, transforma un movimiento
de entrada giratorio continuo en movimiento rectilíneo alternativo. El mecanismo
realiza el movimiento de retorno en menor tiempo, en comparación con su
movimiento de ida. Este mecanismo se clasifica como: RRPRRRP
A continuación se describen los elementos que conforman a este mecanismo.
NOTA:
Los puntos B’ y D’ se agregaron para representar que el eslabón BB’ y DD’
pueden ser más largos en un elemento real. Aunque en este trabajo se seguirá
utilizando la misma nomenclatura, es claro que no sigue la representación
convencional.
“Eslabón 1”
Es la carcasa, sobre la cual van montados el resto de los eslabones
“Eslabón 2 ó BB1 ó BB’ ”
Este eslabón, manivela, está unido al eslabón fijo, eslabón 1, por medio de un par
giratorio “B”, por la que se introduce el movimiento giratorio proveniente de un
motor eléctrico.
GRADOS DE LIBERTAD CAPÍTULO 2
26
“Eslabón 3 ó C”
Es una corredera conectada con un par giratorio al extremo de la manivela y por
medio de un par prismático al eslabón oscilador. Mediante esta corredera se
trasmite y transforma el movimiento continuo de la manivela a movimiento giratorio
oscilante del eslabón oscilador.
“Eslabón 4 ó DD1”
Es un eslabón oscilante, unido al eslabón fijo por medio de un par giratorio “A”
“Eslabón 5 ó EF”
Como el eslabón de salida realiza un movimiento rectilíneo y el extremo del
eslabón oscilador realiza un movimiento curvilíneo, se introduce el eslabón
acoplador “5”, con pares giratorios en sus extremos que transmite el movimiento
del eslabón oscilador al eslabón de salida o pistón.
“Eslabón 6 ó F”
El eslabón de salida, está conectado al eslabón fijo por medio de un par prismático
que le obliga a realizar un movimiento rectilíneo.
En este mecanismo, el punto de articulación “A” del eslabón oscilante “4” con el
eslabón fijo se encuentra entre la corredera “3” y el par giratorio “E” de unión con
el eslabón acoplador “5”.
Este es el diseño original que ideó Joseph Whitworth en el siglo XIX.
En nuestro caso, el mecanismo de Whitworth, tiene 5 eslabones y uno fijo,
además de 7 juntas o pares cinemáticos completos.
GDLM 1)7(2)16(3 4.2
Por tanto, sólo se requiere definir un solo parámetro independiente, para conocer
la posición en cualquier unidad de tiempo del mecanismo.
GRADOS DE LIBERTAD CAPÍTULO 2
27
2.2 SISTEMA DE COORDENADAS
SISTEMA MULTICUERPO
Se define un sistema multicuerpo como un ensamble de dos o más cuerpos
rígidos, imperfectamente unidos, teniendo la posibilidad de moverse relativamente
uno del otro. [4]
COORDENADAS DEPENDIENTES E INDEPENDIENTES
Al describir un sistema multicuerpo, lo primero que debemos seleccionar son las
coordenadas generalizadas que definirán inequívocamente su posición, velocidad
y aceleración.
En el caso de usar coordenadas independientes, éstas coincidirán en número con
los grados de libertad del sistema. En el caso del mecanismo de retorno rápido,
con un solo grado de libertad, existe sólo una coordenada independiente para
definir al sistema.
Las coordenadas dependientes, son en número mayor que los grados de libertad,
y permiten describir fácilmente el sistema. Al no ser independientes se encuentran
inter-relacionadas a través de las ecuaciones de restricción.
El número de restricciones es igual a la diferencia entre el número de coordenadas dependientes y los grados de libertad. Las restricciones son
generalmente no lineales y son muy importantes en el análisis cinemático y
dinámico de los sistemas.
TIPOS DE COORDENADAS DEPENDIENTES
a) Coordenadas Relativas
b) Coordenadas de punto de referencia o cartesianas.
c) Coordenadas Naturales o cartesianas completas
d) Coordenadas Mixtas
SISTEMA DE COORDENADAS CAPÍTULO 2
28
Fig. 2.2 Coordenadas Relativas
a) “Coordenadas Relativas”
Estas coordenadas definen la posición de cada elemento en relación al elemento
anterior de la cadena cinemática al usar los parámetros o coordenadas
correspondientes a los grados de libertad relativos permitidos por el par que une
estos elementos. Por ejemplo, si dos elementos están unidos por medio de un par
de revolución, su posición relativa está definida por medio de un ángulo, por otro
lado, si la unión es por medio de un par prismático, su posición relativa está
definida por medio de una distancia.
Ventajas
1. Presenta un número reducido de coordenadas dependientes.
2. Son muy adecuadas para configuraciones de cadena abierta.
3. Permite implementar de forma clara un esquema de control, ya que los
motores coinciden con las coordenadas relativas.
Dificultades
1. La formulación matemática puede estar muy entrelazada, porque la posición
absoluta de un elemento depende de las posiciones de los elementos previos
en la cadena cinemática.
2. Conducen a ecuaciones de movimiento con matrices, que a pesar de ser
pequeñas, contienen pocos ceros y algunas veces son complicadas de
evaluar.
3. Se requiere un trabajo previo para determinar las ecuaciones de restricción
independientes, además de un trabajo posterior para determinar el movimiento
absoluto de cada punto y elemento. [4]
SISTEMAS DE COORDENADAS CAPÍTULO 2
29
Fig. 2.3 Coordenadas Punto Referencia
b) “Coordenadas de punto de Referencia”
Estas coordenadas tratan de remediar las complicaciones de las coordenadas
relativas, al definir directamente la posición absoluta de cada uno de los elementos
del sistema, usando tres coordenadas o parámetros.
Se determina la posición de un punto de referencia (el cual a menudo es el centro
de gravedad) con dos coordenadas cartesianas y un ángulo para definir la
orientación del cuerpo en relación a un sistema de ejes inerciales.
Ventajas
1. La posición de cada elemento es determinada directamente, por lo que la
formulación es sencilla y con menos requerimientos previos y posteriores.
2. Las matrices que aparecen en las ecuaciones de movimientos contienen
pocos elementos diferente de cero
Desventajas
1. Presentan un mayor número de variables, que las coordenadas relativas
2. A demás de la dificultad de ser adaptadas a configuraciones particulares como
las cadenas abiertas. [4]
SISTEMAS DE COORDENADAS CAPÍTULO 2
30
Fig. 2.4 Coordenadas Naturales
c) “Coordenadas naturales”
Estas coordenadas pueden ser consideradas como una evolución de las
coordenadas de punto de referencia, puesto que los puntos en lugar de
presentarse en el centro de gravedad, se mueven a las uniones de los elementos,
por lo que cada uno de ellos tiene dos puntos de referencia.
Ya que cada cuerpo tiene dos puntos de referencia, su posición y ángulo de
referencia son determinadas por las coordenadas cartesianas de estos puntos por
lo que las variables angulares ya no son necesarias.
Es importante, al utilizar estas coordenadas, tener en cuenta las siguientes reglas:
1. Cada elemento debe tener al menos dos puntos de referencia (base) para
definir su movimiento.
2. Debe existir un punto base en cada par de revolución, el cual es compartido
por dos elementos
3. Un par prismático une dos cuerpos, y los dos puntos básico de uno de estos
determina la dirección del movimiento relativo, aunque uno de los dos puntos
básicos del otro cuerpo pueda estar localizado en el segmento determinado
por los dos puntos básicos del primero
4. Además de los dos puntos base requeridos, otro punto puede ser
seleccionado.
Finalmente la ventaja más importante de estas coordenadas, reside en que
permite una fácil formulación e implementación desde un punto de vista
computacional. [4]
SISTEMAS DE COORDENADAS CAPÍTULO 2
31
RESTRICCIONES CINEMÁTICAS CAPÍTULO 2
Al utilizar coordenadas dependientes, que son en número mayor que los grados
de libertad del sistema, estas se encuentran inter-relacionadas a través de las
ecuaciones de restricción.
Las restricciones cinemáticas (de ligadura) imponen límites al movimiento relativo
entre cuerpos en los sistemas mecánicos.
Se pueden clasificar en:
a) Restricciones de conducción.
b) Restricciones de Unión.
a) “Restricciones de conducción”
Estas restricciones describen una trayectoria de movimiento especificada y por
tanto, dependen del sistema de coordenadas generalizadas, así como del tiempo.
Por ejemplo, las trayectorias en el análisis de manipuladores robóticos y máquinas
de control numérico. [2]
Un ejemplo lo encontramos, en el artículo publicado por Chun-Yi su, Tin-Pui Leung
y Qi-Jie Zhou, “Force/Motion of Constrained Robots Using Sliding Mode”. En el
que se muestra un esquema de control por modos deslizantes, aplicado a un
sistema multicuerpo de dos eslabones que tiene que seguir una trayectoria
circular. [5]
b) “Restricciones de Unión”
Son el resultado de las restricciones impuestas por las uniones mecánicas como
son las uniones de revolución prismática, cilíndrica y esférica. Estas restricciones
describen la conectividad entre los componentes del sistema multicuerpo y por
tanto definen la estructura topológica del sistema. [5]
Las restricciones de unión, son formuladas de acuerdo con el tipo de coordenadas
seleccionadas para definir el sistema, como ejemplo esta el trabajo de Isidro
Zabalza, Valentin Benitez. “Síntesis Dimensional Óptima de una variante del
mecanismo de retorno rápido” [6]
33
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
Fig. 2.5 Restricciones de base
Coordenadas Punto de
Referencia
La manera de modelar las restricciones de unión, depende del sistema de
coordenadas dependientes seleccionado. A continuación, se presenta la
formulación en coordenadas de punto de referencia, coordenadas naturales y
coordenadas mixtas.
COORDENADAS DE PUNTO DE REFERENCIA
a) Restricción de Base
b) Restricción de Revoluta
c) Restricción prismática.
“Restricción de Base”
Un cuerpo que tiene cero grados de libertad es llamado elemento fijo; implicando
que no tiene movimiento de rotación ni traslación.
0
0
0
3
2
1
c
cR
cR
i
i
y
i
x
)5.2(
321 ,, ccc , son constantes [2]
34
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
Fig. 2.6 Restricciones de revoluta
Coordenadas Punto de Referencia
“Restricción de Revoluta”
Cuando dos cuerpos son conectados por una unión de revolución, sólo se permite
un movimiento relativo de rotación entre ellos.
Los cuerpos i y j, coinciden en el punto P, por lo cual la definición del punto P, del
cuerpo i, debe de coincidir con la definición del punto P, del cuerpo j.
ji rprp )6.2(
0 jjjiii upARupAR )7.2(
Donde
RyRxR , Vector del sistema inercial al punto de referencia.
A Matriz de transformación, desde las coordenadas locales al sistema inercial.
upyupxup , Vector del sistema de referencia local, al punto P. [2]
“Restricción de prismática”
Esta restricción, también llamada unión de traslación, y sólo permite una traslación
relativa entre dos cuerpos a lo largo de un eje de unión.
La ecuación de restricción que elimina la rotación relativa entre los cuerpos es:
0 cji )8.2(
35
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
Fig. 2.7 Restricciones prismáticas
Coordenadas Punto de Referencia
Donde jic 00 constante
ji
00 , Condiciones iniciales de los ángulos.
Una segunda restricción es necesaria para eliminar la traslación perpendicular al
eje de unión, de los cuerpos.
Se define ijrp como un vector que conecta a los puntos iP y jP que se encuentran
en el eje de la unión prismática, iP está definido de acuerdo a las coordenadas
del cuerpo i, mientras que, jP está definido de acuerdo a las coordenadas del
cuerpo j.
Se define también el vector , el cual une a los puntos iP y iQ , perpendicular al
eje de unión de los cuerpos.
Los vectores ijrp y pueden ser definidos en términos de las coordenadas del
cuerpo i y j.
)( i
Q
i
p
ii
j
p
jji
p
iiij
uuAh
uARuARrp
)9.2(
Si no hay traslación relativa de los cuerpos en sentido perpendicular al eje de
unión, entonces
0ijTi rph )10.2(
Por tanto las ecuaciones que definen una restricción prismática pueden escribirse
como: [2]
0
0ijTi
ji
rph
c )11.2(
ih
ih
36
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
Fig. 2.8 Sólido con dos puntos básicos
Coordenadas Naturales
COORDENADAS NATURALES
a) Sólido modelado con dos puntos básicos
b) Sólido modelado con tres puntos básicos
c) Sólido modelado con cuatro puntos básicos
d) Restricción de Revoluta
e) Restricción prismática
f) Restricción prismática especial
“Sólido modelado con dos puntos básicos”
Se define como una restricción de distancia 12L , entre dos puntos, 1 y 2. También
definido como la ecuación de la recta. [7]
02
12
2
12
2
12 Lyyxx )12.2(
37
Fig. 2.10 Sólido con tres puntos básicos co-lineales
Coordenadas Naturales
Fig. 2.9 Sólido con tres puntos
básicos Coordenadas Naturales
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
“Sólido modelado con tres puntos básicos”
Siguiendo el mismo principio se generan tres restricciones de distancia.
0
0
0
2
23
2
23
2
23
2
13
2
13
2
13
2
12
2
12
2
12
Lyyxx
Lyyxx
Lyyxx
)13.2(
En el caso de que los tres puntos se encuentren alineados, entonces la
formulación es la siguiente. Que puede obtenerse por triángulos semejantes. [7]
0
0
0
12
12
13
13
12
12
13
13
2
12
2
12
2
12
yyL
Lyy
xxL
Lxx
Lyyxx
)14.2(
38
Fig. 2.11 Sólido con cuatro puntos
básicos Coordenadas Naturales
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
“Sólido modelado con cuatro puntos básicos”
La técnica que se emplea para determinar las restricciones consiste en elegir tres
puntos básicos no alineados, entre los cuales se establecen las ecuaciones de
restricción de distancia. El resto de puntos básicos se expresarán como
combinación lineal de los vectores que definen esa base.
Estas ecuaciones aseguran el comportamiento rígido del triángulo formado por los
puntos 1, 2 y 3.
0
0
0
2
23
2
23
2
23
2
13
2
13
2
13
2
12
2
12
2
12
Lyyxx
Lyyxx
Lyyxx
)15.2(
Si, tomamos como origen del sólido al punto 2, entonces la base estará formada
por los vectores r2-1 y r2-3. Las ecuaciones 2.15 indican que el vector r2-4 puede
expresarse como una combinación lineal de los vectores base. Siendo y
constantes. [7]
0
0
232124
232124
yyyyyy
xxxxxx
)16.2(
39
Fig. 2.12 Restricción prismática
Coordenadas Naturales
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
“Restricción de revoluta”
Se recomienda utilizar una coordenada en las articulaciones del eslabonamiento.
Cada elemento del eslabonamiento con movimiento relativo de rotación, está
definido por dos puntos básicos. El eslabonamiento hace que un punto básico sea
compartido por ambos cuerpos. Es decir, si se comparte un punto básico en la
definición de los dos elementos vecinos, implícitamente se está obligando a que
los dos elementos viajen con ese punto en común.
Así que no es necesario establecer alguna ecuación de restricción. [7]
“Restricción de prismática”
Es necesario formular dos ecuaciones de restricción, que impidan el movimiento
relativo que restringe el par
La primera restricción, es una ecuación del producto vectorial nulo entre los
vectores r1-2 y r1-3, que asegura que el punto 3 se encuentre siempre alineado
con los puntos 1 y 2.
La segunda restricción, tiene como fin impedir que se produzca un giro relativo
entre los dos elementos. Siendo c una constante que depende del ángulo que
forma el vector r1-2 con r3-4. [7]
013121312 xxyyyyxx
)17.2(
034123412 cyyyyxxxx
40
Fig. 2.13 Restricción prismática especial
Coordenadas Naturales
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
)18.2(
Restricción de prismática Especial”
En esta restricción se presenta un par prismático y un par revolución integrados.
Por tanto sólo se necesita una ecuación de restricción que limite al punto 3 estar
alineado con los puntos 1 y 2.
013121312 xxyyyyxx
Siendo entonces la diferencia que este tipo de restricción permite el giro relativo
entre los dos elementos. [7]
41
Fig. 2.14 Restricción de ángulo
Coordenadas Mixtas
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
COORDENADAS MIXTAS
Las coordenadas mixtas, indican una modelación en la que además de las
coordenadas naturales, se han utilizado algunas coordenadas relativas ya sean
ángulos, distancias o ambas.
a) Restricción de ángulo
b) Restricción de distancia.
“Restricción de ángulo”
Se define un ángulo, entre dos elementos unidos por una articulación.
La ecuación que liga el ángulo con las tres coordenadas que describen los tres
puntos básicos, puede ser representada como un producto escalar conocido como
la ecuación del coseno, o como un producto vectorial conocido como la ecuación
del seno.
0cos231223212321 LLyyyyxxxx
)19.2(
0231223212321 senLLxxyyyyxx
El uso de alguna de éstas dos ecuaciones, no es indiferente; puesto que al
acercarse su valor a 0, en el caso de la ecuación del coseno y 90 en el caso de la
ecuación seno, estas se vuelven inválidas. Por lo cual su correcta implementación
requiere una conmutación dependiendo del ángulo. [7]
42
Fig. 2.15 Restricción de
distancia Coordenadas Mixtas
UNIONES, EN SISTEMAS MULTI-CUERPO CAPÍTULO 2
“Restricción de distancia”
Si se pretende plantear una restricción en la cual dos puntos conserven su
distancia, es necesario formular una ecuación de restricción como se mostró con
tres puntos básicos co-lineales. Estando dicha distancia involucrada en el factor de
proporcionalidad. Condición que cumples las dos siguientes ecuaciones.
012
12
13 xxL
sxx )20.2(
012
12
13 yyL
syy
Las cuales, tampoco pueden utilizarse indistintamente, por lo que tienen que
conmutar, mientras que el elemento que une a los puntos 1 y 2, se encuentre a
menos de 45 o 45 grados de la horizontal, se ocupará la formulación en x, en caso
contrario se opta por la formulación en y.
Siendo también opción formular la restricción de la manera siguiente, si el signo de
la distancia s, no es importante. [7]
022
13
2
13 syyxx )21.2(
43
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Fig. 2.16 Mecanismo de Whitworth
COORDENADAS NATURALES
En este apartado, se presenta la formulación de las ecuaciones de restricción de unión, para el análisis de posición del mecanismo de Whitworth, utilizando coordenadas naturales.
La restricción de la barra BC, puede modelarse ya sea como un Sólido modelado
con dos puntos básicos, o como dos ecuaciones que relacionan Longitud y ángulo.
“Sólido modelado con dos puntos básicos”
02
1
2
1
2
1 BBBBBB Lyyxx )22.2(
“Tres puntos co-lineales” B, C, B’ (Figura 2.17)
01111 CBBBBBCB yyxxyyxx
)23.2(
44
Fig. 2.17 Restricción Sólido BB1
CINEMÁTICA DIRECTA, ANÁLISIS DE POSICIÓN CAPÍTULO 2
“Relación de distancia”
01
1
11 BB
BB
CBCB yy
L
Lyy
)24.2(
01
1
11 BB
BB
CBCB xx
L
Lxx
“Relación de Longitud- ángulo”
0sin11 BBB Lx )25.2(
0cos11 BBB Ly
0sin11 CBBBC LLx )26.2(
0cos11 CBBBC LLy
Se modeló agregando un punto B1 ó B’ con el fin de aclarar que el punto C, no es
la terminación del elemento 2. Se propone un disco con radio 1BBL , al cual se
integra un perno, a una distancia 1CBL de su circunferencia.
Las ecuaciones (2.22) y (2.23), son dos opciones por las cuales podemos modelar
el punto B1.
Las ecuaciones (2.24), (2.25) plantean como integrar el punto B1, si se ocupa la
“Relación de Longitud- ángulo”
45
Fig. 2.18 Restricción Solido DD1
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
El eslabón 4, aunque es un solo elemento, se trata con dos longitudes, La longitud
ADL nos indica el factor de rapidez del retorno; Mientras que la longitud 1ADL nos
ayuda a establecer la distancia que recorre el efector final.
“Sólido modelado con dos puntos básicos”
02
1
2
1
2
1 DDDDDD Lyyxx )27.2(
“Tres puntos co-lineales” A, C, D’
0 CDADADCD yyxxyyxx
)28.2(
“Tres puntos co-lineales” A, C, D’
011 EADADAEA yyxxyyxx )29.2(
“Relación de distancia”
01
1
11 DA
ED
ADDE yy
L
Lyy
)30.2(
01
1
11 DA
ED
ADDE xx
L
Lxx
46
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Fig. 2.19 Restricción Solido EF
011
11
EA
EDAD
EDDDED yy
LL
LLyy
)30.2(
011
11
EA
EDAD
EDDDED xx
LL
LLxx
0 pxA )31.2(
0 hyA )32.2(
Se modeló agregando un punto D1 con el fin de aclarar que el punto E, no es la
terminación del elemento 4. El punto E, es ajustable de acuerdo a la distancia del
recorrido
Las ecuaciones (2.28) y (2.29), son dos opciones por las cuales podemos modelar
el punto E.
El centro de masa de este eslabón 4, depende de la distribución de masa y las
longitudes LAD y LAD1.
Modelamos el eslabón 5 como un sólido con dos puntos básicos
“Sólido modelado con dos puntos básicos”
0222 EFFEFE Lyyxx )33.2(
0myF )34.2(
47
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Las ecuaciones cinemáticas para el mecanismo de retorno rápido son:
Ecuaciones
02
1
2
11
2
11 BBBBBB Lyyxxf 0222
2 EFFEFE Lyyxxf 0
222
3 ADADAD Lyyxxf Relación de distancia
01
1
1
14 BB
BB
CB
CB xxL
Lxxf
01
1
1
15 BB
BB
CB
CB yyL
Lyyf
011
116
EA
EDAD
EDDDED xx
LL
LLxxf 0
11
117
EA
EDAD
EDDDED yy
LL
LLyyf
01
1
118 DA
ED
ADDE xx
L
Lxxf
01
1
119 DA
ED
ADDE yy
L
Lyyf
Tres puntos co-lineales
010 CDADADCD yyxxyyxxf
Ecuaciones de diseño
011 myf F
Ecuaciones Auxiliares
0 pxA
0 hyA
0sin11 BBB Lx
0cos11 BBB Ly
0sin11 CBBBC LLx
0cos11 CBBBC LLy
Incógnitas:
FFEEDDDD yxyxyxyx ,,,,,,, 11
48
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
El sistema se resuelve para un ángulo de entrada, obteniendo la posición de
todos los puntos del mecanismo.
Esta metodología es muy intuitiva, por lo que ofrece una gran ventaja en su
implementación en software.
En el Anexo A, se encuentra un programa en Matlab, para la solución de la
posición del mecanismo de Whitworth utilizando coordenadas naturales.
49
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Fig. 2.20 Mecanismo de Whitworth
Fig. 2.21 Lazo I
COORDENADAS DE PUNTO DE REFERENCIA: Método de Lazos
En este apartado, se presenta la formulación de las ecuaciones de restricción de unión, para el análisis de posición del mecanismo de whitworth, utilizando Coordenadas de punto de referencia Como se menciono antes, este tipo de coordenadas se basa en describir los pares de un eslabón respecto a un punto fijo, que generalmente es el CM; Sin embargo, el punto fijo puede ser también, un par. Para la descripción de la posición del mecanismo, utilizaremos la metodología de lazos. “Lazo I”
BCACBA RRR )35.2(
50
Fig. 2.22 Lazo II
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
En donde
))cos(),sin(( BCBCBC LLR
))cos(),sin(( ACACAC LLR
),( HPRBA
Dividimos en coordenadas x y
0)sin()sin(:1 BCAC LLPf
0)cos()cos(:2 BCAC LLHf
“Lazo II”
BFEFAEBA RRRR )36.2(
En donde
),( HPRBA
))cos(),sin(( AEAEAE LLR
))cos(),sin(( EFEFEF LLR
))sin()sin(,0( EFAEBF LLPR
Dividimos en coordenadas x y
0)sin()sin(:3 BFXEFAE RLLPf 0)cos()cos(:4 mLLHf EFAE
51
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Al combinar las ecuaciones 21, ff se puede obtener el valor de y ACL , éste
último tendrá dos valores, dependiendo en la ecuación que se sustituya
HL
PLArcTan
BC
BC
)cos(
)sin(
)37.2(
)cos(
)cos(
HLL BC
AC
)38.2(
)sin(
)sin(
PLL BC
AC
)39.2(
Al combinar las ecuaciones 43 , ff , se puede obtener el valor de
EF
AE
L
mHLArcCos
)cos(
)40.2(
Tenemos 4 ecuaciones, que son la base, para describir la posición de cada uno de
los elementos.
0)sin()sin(:1 BCAC LLPf )41.2(
0)cos()cos(:2 BCAC LLHf )42.2(
0)sin()sin(:3 BFXEFAE RLLPf
)43.2(
0)cos()cos(:4 mLLHf EFAE )44..2(
Se define
11 CBBBBC LLL
11 EDADAE LLL
52
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Teniendo como ecuaciones auxiliares:
)sin(11 BBXBB LR
)cos(11 BBYBB LR
)sin(BCBCX LR
)cos(BCBCY LR
)sin(ACACX LR
)cos(ACACY LR
)sin(ADADX LR
)cos(ADADY LR
)sin(11 ADXAD LR
)cos(11 ADYAD LR
)sin(AEAEX LR
)cos(AEAEY LR
)sin(EFEFX LR
)cos(EFEFY LR
)sin()sin( EFAEBFX LLPR
En el Anexo B, se encuentra un programa en Matlab, para la solución cinemática
del mecanismo de Whitworth utilizando coordenadas de punto de referencia y el
método de Lazos.
53
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Fig. 2.23 Biela Manivela
2.5.1.2 RESTRICCIONES DE CONDUCCIÓN
COORDENADAS DE PUNTO DE REFERENCIA:
Como hemos visto, existen restricciones de unión, las cuales fueron utilizadas
para obtener la posición en coordenadas naturales y coordenadas de punto de
referencia del presente trabajo. A continuación se presenta el análisis utilizando
restricciones de conducción.
La idea consiste en representar una superficie que servirá de restricción al
elemento F (6) y C (3).
Para ejemplificar esta idea, se muestra un mecanismo biela-manivela.
Cuya superficie de restricción esta definida por:
0 yp )45..2(
Que puede ser expresada en términos de las uniones como:
0)sin()cos()( lrqp )46..2(
NOTA: Las coordenadas generalizadas son ),( . Siendo la variable
independiente y una variable dependiente o superflua.
Si tomamos la idea de que el mecanismo es un robot con un grado de libertad
sub-actuado. Se diría que el efector final “a”, debe permanecer sobre la superficie
p.
54
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Fig. 2.24 Mecanismo de Whitworth
Fig. 2.25 Superficie de Restricción
1
Es la misma idea que planteó el trabajo de Chun-Yi su, Tin-Pui Leung y Qi-Jie
Zhou, “Force/Motion of Constrained Robots Using Sliding Mode”. Solamente que
en ese caso el efector final debía permanecer sobre un círculo. [5]
La ecuación (2.46) es la ecuación base, para describir la posición de todos los
puntos del mecanismo biela-manivela
Una vez planteada la idea de superficie de restricción y como esta puede ser
expresada en términos de las variables generalizadas. Se aplica a nuestro
mecanismo.
En términos generales, el mecanismo planteado, puede ser estudiado al separarlo
en 2 partes. La primera involucra el mecanismo de retorno rápido y la segunda un
mecanismo de biela-manivela.
En este caso se necesitan dos superficies de restricción; siendo la primera la que
restringe el movimiento del elemento 3 y la segunda la que restringe el movimiento
del elemento 6.
“Superficie de Restricción 1”
55
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Entonces, obtendremos la ecuación de restricción.
hip
PLBC
)sin()sin(
)47..2(
hip
HLBC
)cos()cos(
)48..2(
La hipotenusa (hip) evidentemente señala la línea que une a los puntos A y C, que
es también la superficie de restricción. hipotenusap . Al igual que el ejemplo
anterior se busca poner la superficie de restricción en términos de las variables
generalizadas )(qp .
Donde ,,q y todavía no interviene en el análisis.
)sin(
)sin(
PLhip BC
)cos(
)cos(
HLhip BC
)sin(
)sin(
)cos(
)cos(
PLHLhip bBCBC
)cos()sin()sin()cos( PLHL BCBC
0)sin()cos()cos()sin(1 HLPLf BCBC )49..2(
56
Fig. 2.26 Superficie de Restricción
2
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
“Superficie de Restricción 2”
myp )50..2(
Donde: m, H y P pueden tomar valores positivos o negativos.
NOTA: Ya que se modeló con P, H, m, negativos, para lograr el valor positivo en
las ecuaciones, tienen que programarse como negativos y positivos para que sean
negativos.
Se obtiene la superficie de restricción en términos de las variable generalizadas
mLHL EFAE )cos()cos( )51..2(
0)cos()cos(2 mLLHf EFAE )52..2(
Tomando: Ec. (2.49) y Ec. (2.52)
0)sin()cos()cos()sin(1 HLPLf BCBC
0)cos()cos(2 mLLHf EFAE
57
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Las ecuaciones de superficie de restricción son suficientes para describir la
posición de todos los puntos del mecanismo.
Se añaden las mismas ecuaciones auxiliares vistas anteriormente.
En el Anexo C, se encuentra un programa en Matlab, para la solución cinemática
del mecanismo de Whitworth utilizando coordenadas de punto de referencia y el
método de superficies de restricción.
59
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
Las restricciones pueden ser holónomas o no holónomas. Las holónomas son
aquellas en las que no intervienen las velocidades, en cambió de las no
holónomas, además, estas últimas exigen que no sean integrables; es decir, que
no se deduzca por derivación total con respecto al tiempo de una holónoma.[1]
Este trabajo, no se enfoca a la demostración matemática que define a las
restricciones holónomas, sin embargo se toma una de sus ventajas, que consiste
en que con una simple sustitución se puede eliminar una de las coordenadas
generalizadas.
Entonces, el objetivo consiste en demostrar que las ecuaciones obtenidas con las
Restricciones de unión por el método de lazos, describe el mismo problema que
las ecuaciones obtenidas con las Restricciones de conducción.
“Restricciones de Unión”
0)sin()sin(:1 BCAC LLPf )41.2(
0)cos()cos(:2 BCAC LLHf
)42.2(
0)sin()sin(:3 BFXEFAE RLLPf )43.2(
0)cos()cos(:4 mLLHf EFAE )44..2(
“Restricciones de Conducción”
0)sin()cos()cos()sin(1 HLPLf BCBC )49..2(
0)cos()cos(2 mLLHf EFAE )52.2(
Se puede observar que la Ec. (2.43), puede ser definida como una ecuación
auxiliar donde ),( BFXR
60
CINEMÁTICA DIRECTA ANÁLISIS DE POSICIÓN CAPÍTULO 2
La ecuación (2.44) y (2.52), son las mismas, por lo que solo hay que demostrar
que las Ec. (2.41) y (2.42), se reducen a la Ec. (2.49)
La Ec. (2.41) la multiplicamos por )cos( , mientras que la Ec. (2.42) por )sin( y las
sumamos.
0)cos()sin()cos()sin()cos( BCAC LLP
0)sin()cos()cos()sin()sin( BCAC LLH.
0)sin(])cos([)cos(])sin([ HLPL BCBC
Se logra mostrar que los dos métodos describen el mismo problema.
61
CINEMÁTICA DIRECTA ANÁLISIS DE VELOCIDAD CAPÍTULO 2
Las ecuaciones de velocidad se obtienen al derivar las ecuaciones de posición con
respecto al tiempo.
“Velocidad utilizando las ecuaciones de Lazo”
dt
dfg 1
1 ;dt
dfg 2
2 ;dt
dfg 3
3 ;dt
dfg 4
4
Ecuaciones de posición
0)sin()sin(:1 BCAC LLPf )41.2(
0)cos()cos(:2 BCAC LLHf
)42.2(
0)sin()sin(:3 BFXEFAE RLLPf
)43.2(
0)cos()cos(:4 mLLHf EFAE )44.2(
Ecuaciones de velocidad
)53.2(
0)sin()cos()sin(:2
BCACAC LLLg
)54.2(
0)cos()cos(:3
BFXEFAE RLLg
)55.2(
0)sin()sin(:4
EFAE LLg )56.2(
Que puede escribirse en forma matricial como:
0
tQ q )57.2(
Q : Matriz Jacobiana
q : Velocidad variables generalizadas
t : Matriz con los elementos restantes
0)cos()sin()cos(:1
BCACAC LLLg
62
CINEMÁTICA DIRECTA ANÁLISIS DE VELOCIDAD CAPÍTULO 2
Donde:
0)sin(0)sin(
1)cos(0)cos(
00)cos()sin(
00)sin()cos(
EFAE
EFAE
AC
AC
Q
LL
LL
L
L
BFX
AC
R
Lq
;
0
0
)sin(
)cos(
BC
BC
tL
L
La velocidad de las coordenadas generalizadas puede ser fácilmente obtenida
como:
tQinvq
)(
)58.2(
“Matriz Jacobiana”
La matriz Jacobiana, se puede obtener como:
BFXAC
BFXAC
BFXAC
BFXAC
Q
R
ff
L
ff
R
ff
L
ff
R
ff
L
ff
R
ff
L
ff
4444
3333
2222
1111
)59.2(
63
CINEMÁTICA DIRECTA ANÁLISIS DE VELOCIDAD CAPÍTULO 2
Y agregando la variable independiente
44444
33333
22222
11111
f
R
ff
L
ff
f
R
ff
L
ff
f
R
ff
L
ff
f
R
ff
L
ff
BFXAC
BFXAC
BFXAC
BFXAC
Q
)60.2(
Donde:
)cos(1
BCLf
; )sin(2
BCL
f
03
f; 04
f
La matriz 4x4, sirve para la solución de velocidad del mecanismo, mientras que la
matriz 4x5, será útil cuando definamos la dinámica.
00)sin(0)sin(
01)cos(0)cos(
)sin(00)cos()sin(
)cos(00)sin()cos(
EFAE
EFAE
BCAC
BCAC
Q
LL
LL
LL
LL
)61.2(
“Velocidad utilizando las ecuaciones de superficie de restricción”
dt
dfg 1
1 ;dt
dfg 2
2
64
CINEMÁTICA DIRECTA ANÁLISIS DE VELOCIDAD CAPÍTULO 2
Ecuaciones de Posición
0)sin()cos()cos()sin(1 HLPLf BCBC )49.2(
0)cos()cos(2 mLLHf EFAE )52.2(
Ecuaciones de Velocidad
Ec. (2.61) y (2.62)
)62.2(
0)sin()sin(:2
EFAE LLg )63.2(
Que puede escribirse en forma matricial como:
0
tQ q
)57.2(
Donde:
)sin()sin(
0)sin()cos()cos(
EFAE
BC
QLL
PHL
q
;
0
)cos( BCt
L
La velocidad de las coordenadas generalizadas puede ser fácilmente obtenida
como:
tQinvq
)(
)58.2(
0]))cos(())sin()cos()cos([(:1
BCBC LPHLg
65
CINEMÁTICA DIRECTA ANÁLISIS DE VELOCIDAD CAPÍTULO 2
“Matriz Jacobiana”
La matriz Jacobiana, se puede obtener como:
22
11
ff
ff
Q
)64.2(
Y agregando la variable independiente
222
111
fff
fff
Q
)65.2(
Donde:
)cos(1
BCL
f;
02
f
La matriz 2x2, sirve para la solución de velocidad del mecanismo, mientras que la
matriz 2x3, será útil cuando definamos la dinámica.
0)sin()sin(
)cos(0)sin()cos()cos(
EFAE
BCBC
QLL
LPHL
)66.2(
Ecuaciones Auxiliares de Velocidad
)cos(11 BBXBB LR
)sin(11 BBYBB LR
)cos(BCBCX LR
66
CINEMÁTICA DIRECTA ANÁLISIS DE VELOCIDAD CAPÍTULO 2
)sin(BCBCY LR
)cos()sin( ACACACX LLR
)sin()cos( ACACACY LLR
)cos(ADADX LR
)sin(ADADY LR
)cos(11 ADXAD LR
)sin(11 ADYAD LR
)cos(AEAEX LR
)sin(AEAEY LR
)cos(EFEFX LR
)sin(EFEFY LR
)cos()cos( EFAEBFX LLR
)(cos
)sin()cos()cos()sin(
2
HLL
LBCBC
AC
)(sin
)cos()sin()sin()cos(
2
PLL
LBCBC
AC
67
CINEMÁTICA DIRECTA ANÁLISIS DE ACELERACIÓN CAPÍTULO 2
Las ecuaciones de aceleración se obtienen al derivar las ecuaciones de velocidad
con respecto al tiempo.
“Aceleración utilizando las ecuaciones de Lazo”
dt
dgh 1
1 ;dt
dgh 2
2 ;dt
dgh 3
3 ;dt
dgh 4
4
Ecuaciones de Velocidad
Ec. (2.53),(2.54),(2.55) y (2.56)
)53.2(
0)sin()cos()sin(:2
BCACAC LLLg
)54.2(
0)cos()cos(:3
BFXEFAE RLLg
)55.2(
0)sin()sin(:4
EFAE LLg )56.2(
Ecuaciones de Aceleración
0)sin()cos(
))(cos())sin()cos(()sin()cos(
2
1
BCBC
ACACACACAC
LL
LLLLLh
)67.2(
)68.2(
)69.2(
0))cos(())cos(()sin()sin(4
EFAEEFAE LLLLh )70.2(
0)cos()sin()cos(:1
BCACAC LLLg
0)cos()sin(
))(sin())cos()sin(()cos()sin(
2
2
BCBC
ACACACACAC
LL
LLLLLh
0))sin(())sin(()cos()cos(3
EFAEBFXEFAE LLRLLh
68
CINEMÁTICA DIRECTA ANÁLISIS DE ACELERACIÓN CAPÍTULO 2
Podemos escribir las ecuaciones en forma matricial.
0
tQQ qq )71.2(
))((
tQQ qinvq
)72.2(
Donde
0)sin(0)sin(
1)cos(0)cos(
00)cos()sin(
00)sin()cos(
EFAE
EFAE
AC
AC
Q
LL
LL
L
L
BFX
AC
R
Lq
;
BFX
AC
R
Lq
0)cos(0)cos(
0)sin(0)sin(
00)sin()cos()sin(
00)cos()sin()cos(
EFAE
EFAE
ACAC
ACAC
Q
LL
LL
LL
LL
0
0
)cos()sin(
)sin()cos(2
2
BCBC
BCBC
tLL
LL
69
CINEMÁTICA DIRECTA ANÁLISIS DE ACELERACIÓN CAPÍTULO 2
“Aceleración utilizando las ecuaciones de superficie de restricción”
dt
dgh 1
1 ;dt
dgh 2
2
Ecuaciones de Velocidad
0]))cos(())sin()cos()cos([(:1
BCBC LPHLg )62.2(
0)sin()sin(:2
EFAE LLg )63.2(
Ecuaciones de Aceleración
)73.2(
0))cos(())cos(()sin()sin(2
EFAEEFAE LLLLh )74.2(
Podemos escribir las ecuaciones en forma matricial.
0
tQQ qq )71.2(
))((
tQQ qinvq
)72.2(
Donde
)sin()sin(
0)sin()cos()cos(
EFAE
BC
QLL
PHL
q ;
q
)cos()cos(
0)cos()sin())(sin(
EFAE
BCQ
LL
PHL
0
))(sin()cos( BCBCt
LL
0)]))(sin()cos(())cos(
)sin())(sin(())sin()cos()cos([(1
BCBC
BCBC
LLP
HLPHLh
70
CINEMÁTICA DIRECTA ANÁLISIS DE ACELERACIÓN CAPÍTULO 2
“Aceleración de las ecuaciones auxiliares”
2
111 )sin()cos(
BBBBXBB LLR
2
111 )cos()sin(
BBBBYBB LLR
2
)sin()cos(
BCBCBCX LLR
2
)cos()sin(
BCBCBCY LLR
2
)sin()cos()cos()cos()sin(
ACACACACACACX LLLLLR2
)cos()sin()sin()sin()cos(
ACACACACACACY LLLLLR2
)sin()cos(
ADADADX LLR
2
)cos()sin(
ADADADY LLR
2
111 )sin()cos(
ADADXAD LLR
2
111 )cos()sin(
ADADYAD LLR
2
)sin()cos(
AEAEAEX LLR
2
)cos()sin(
AEAEAEY LLR
2
)sin()cos(
EFEFEFX LLR
2
)cos()sin(
EFEFEFY LLR
71
CINEMÁTICA DIRECTA ANÁLISIS DE ACELERACIÓN CAPÍTULO 2
22
)sin()cos()sin()cos(
EFEFAEAEBFX LLLLR
)(cos/)]})sin()(cos(2][)sin())cos((
)cos())sin([()](][cos)sin()sin()cos())cos((
)sin())cos(()cos()cos()cos()sin()sin())sin({[(
4
2
2
2
HL
LLHL
HLLLLL
BC
BCBCBC
BCBCBCBCAC
)(sin/]})cos()sin(2][)cos())sin((
)sin())cos([()](][sin)cos()cos()sin())sin((
)cos())sin(()sin()sin()sin()cos()cos())cos({[(
4
2
2
2
PL
LLPL
PLLLLL
BC
BCBCBC
BCBCBCBCAC
73
CINEMÁTICA DIRECTA: CINEMÁTICA CM CAPÍTULO 2
Fig. 2.27 Elemento BB1 CM
Para obtener la cinemática de los centros de masa, sólo es necesario hacer una
transformación y derivar la ecuación resultante con respecto al tiempo.
NOTA: El centro de masa CM, es definido por las variables (u, v). Sin embargo, es
muy importante referenciar estas con respecto a un par cinemático.
“Cinemática del CM del elemento BB1”
Se define las coordenadas del CM desde un sistema de coordenadas móvil,
ubicado en un par cinemático de un elemento, y se hace una transformación; en el
caso del elemento BB1, se hace una rotación del sistema de coordenadas (U2,
V2) al sistema de coordenadas inercial (X, Y)
La Matriz de rotación, se define como:
)cos()sin(
)sin()cos(
Por tanto se define la posición como:
2
2
1
1
)cos()sin(
)sin()cos(
v
u
R
R
CMYBB
CMXBB
)75.2(
74
CINEMÁTICA DIRECTA: CINEMÁTICA CM CAPÍTULO 2
Fig. 2.28 Elemento DD1 CM
Al derivar la posición, obtenemos la velocidad del CM.
2
2
1
1
)sin()cos(
)cos()sin(
v
u
R
R
CMYBB
CMXBB
)76.2(
Al derivar la velocidad, obtenemos la aceleración del CM
2
2
2
2
2
1
1
)cos()sin(
)sin()cos(
)sin()cos(
)cos()sin(
v
u
v
u
R
R
CMYBB
CMXBB
)77.2(
“Cinemática del CM del elemento DD1”
En el análisis cinemático del CM del elemento 4 ó DD1, primero haremos la
transformación del sistema (U4, V4) al sistema (X4, Y4) y lo referenciaremos al
sistema de coordenadas inercial (X, Y).
La Matriz de rotación, se define como:
)cos()sin(
)sin()cos(
Por tanto se define la posición como:
4
4
1
1
)cos()sin(
)sin()cos(
v
u
H
P
R
R
CMYDD
CMXDD
)78.2(
75
Fig. 2.29 Elemento EF CM
CINEMÁTICA DIRECTA: CINEMÁTICA CM CAPÍTULO 2
Al derivar la posición, obtenemos la velocidad del CM.
4
4
1
1
)sin()cos(
)cos()sin(
v
u
R
R
CMYDD
CMXDD
)79.2(
Al derivar la velocidad, obtenemos la aceleración del CM
2
4
4
4
4
1
1
)cos()sin(
)sin()cos(
)sin()cos(
)cos()sin(
v
u
v
u
R
R
CMYDD
CMXDD
)80.2(
“Cinemática del CM del elemento EF”
De la misma forma, hacemos la transformación del sistema de referencia (U5, V5)
al sistema (X5, Y5) y lo referenciamos al sistema de coordenadas inercial (X, Y)
La Matriz de rotación, se define como:
)cos()sin(
)sin()cos(
Por tanto se define la posición como:
5
5
)cos()sin(
)sin()cos(
)cos(
)sin(
v
u
L
L
H
P
R
R
AE
AE
EFCMY
EFCMX
)81.2(
76
Fig. 2.30 Elemento F CM
CINEMÁTICA DIRECTA: CINEMÁTICA CM CAPÍTULO 2
Al derivar la posición, obtenemos la velocidad del CM.
5
5
1
)sin()cos(
)cos()sin(
)sin(
)cos(
v
u
L
L
R
R
AE
AE
CMYEF
EFCMX
)82.2(
Al derivar la velocidad, obtenemos la aceleración del CM Ec. )83.2(
2
5
5
5
52
)cos()sin(
)sin()cos(
)sin()cos(
)cos()sin(
)cos(
)sin(
)sin(
)cos(
v
u
v
u
L
L
L
L
R
R
AE
AE
AE
AE
EFCMY
EFCMX
“Cinemática del CM del elemento F”
Ahora, se hace la transformación del sistema de referencia (U6, V6) al sistema
(X6, Y6) y lo referenciamos al sistema de coordenadas inercial (X, Y)
Por tanto se define la posición como:
6
6
v
u
R
R
R
R
H
P
R
R
EFY
EFX
AEY
AEX
FCMY
FCMX
)84.2(
77
Fig. 2.31 Elemento C CM
CINEMÁTICA DIRECTA: CINEMÁTICA CM CAPÍTULO 2
Al derivar la posición, obtenemos la velocidad del CM.
EFY
EFX
AEY
AEX
FCMY
FCMX
R
R
R
R
R
R
)85.2(
Al derivar la velocidad, obtenemos la aceleración del CM
EFY
EFX
AEY
AEX
FCMY
FCMX
R
R
R
R
R
R
)86.2(
“Cinemática del CM del elemento C”
Ahora, se hace la transformación del sistema de referencia (U3, V3) al sistema
(X3, Y3) y lo referenciamos al sistema de coordenadas inercial (X, Y)
La Matriz de rotación, se define como:
)cos()sin(
)sin()cos(
Por tanto se define la posición como:
2
2
)cos()sin(
)sin()cos(
v
u
R
R
H
P
R
R
ACY
ACX
CCMY
CCMX
)87.2(
78
CINEMÁTICA DIRECTA: CINEMÁTICA CM CAPÍTULO 2
Al derivar la posición, obtenemos la velocidad del CM.
3
3
)sin()cos(
)cos()sin(
v
u
R
R
R
R
ACY
ACX
CCMY
CCMX
)88.2(
Al derivar la velocidad, obtenemos la aceleración del CM
2
3
3
3
3
)cos()sin(
)sin()cos(
)sin()cos(
)cos()sin(
v
u
v
u
R
R
R
R
ACY
ACX
CCMY
CCMX )89.2(
En los anexos D y E, se encuentran programas en Matlab, para la solución
cinemática de los CM del mecanismo de Whitworth para 4 y 2 variables
respectivamente
79
COEFICIENTES DE VELOCIDAD Y ACELERACIÓN CAPÍTULO 2
COEFICIENTES DE VELOCIDAD
Velocidad utilizando las ecuaciones de Lazo”
)53.2(
0)sin()cos()sin(:2
BCACAC LLLg
)54.2(
0)cos()cos(:3
BFXEFAE RLLg )55.2(
0)sin()sin(:4
EFAE LLg )56.2(
Definimos:
K ;
AC
AC
LKL ;
K ;
BFX
BFX
RKR
Dividimos las ecuaciones de velocidad entre
y sustituimos los coeficientes de
Velocidad K, para definirlos.
)cos(
AC
BC
L
LK
)90.2(
)sin(
)cos()cos(
BCAC
AC
LKLKL
)91.2(
)cos(
)sin()sin(
BCAC
AC
LKLKL
)92.2(
)sin(
)sin(
EF
AE
L
KLK
)93.2(
KLKLK EFAERBFX )cos()cos( )94.2(
0)cos()sin()cos(:1
BCACAC LLLg
80
COEFICIENTES DE VELOCIDAD Y ACELERACIÓN CAPÍTULO 2
También, se pueden obtener mediante el Jacobiano.
0tQ q
Los coeficientes de velocidad pueden obtenerse como:
t
QinvKq )(
)95.2(
“Velocidad utilizando las ecuaciones de superficie de restricción”
Ecuaciones de Velocidad
Ec. (2.62) y (2.63)
)62.2(
0)sin()sin(:2
EFAE LLg )63.2(
Definimos:
K ;
K ;
Dividimos las ecuaciones de velocidad entre
y sustituimos los coeficientes de
Velocidad K, para definirlos.
)96.2(
)sin(
)sin(
EF
AE
L
KLK
)97.2(
También, se pueden obtener mediante el Jacobiano.
t
QinvKq )(
)95.2(
0]))cos(())sin()cos()cos([(:1
BCBC LPHLg
)sin()cos()cos(
)cos(
PHL
LK
BC
BC
81
COEFICIENTES DE VELOCIDAD Y ACELERACIÓN CAPÍTULO 2
COEFICIENTES DE ACELERACIÓN
Existen dos formas de manejar estos coeficientes de aceleración. En este trabajo
se muestran ambas.
NOTA: Se plantearon los dos métodos, ya que se definen de distinta forma
dependiendo de la literatura. Sin embargo, el Modo II, en las ecuaciones de la
dinámica se complementa al multiplicarlo por d para representar el mismo
coeficiente.
MODO I
“Utilizando las ecuaciones de Lazo”
dt
dKL
;
dt
dKLLL AC
AC ; dt
dKL
;
dt
dKRLR BFX
BFX
Se define entonces:
KL
L
L
LL
AC
AC
AC
BC
))(sin( )98.2(
Ec. )99.2( Y Ec. )100.2(
)sin(
))sin(())cos(())sin()cos(())cos((
BCACACACAC
AC
LKLKLLLLLL
)cos(
))cos(())(sin())cos()sin(())sin((
BCACACACAC
AC
LKLKLLLLLL
)101.2(
Ec. )102.2(
KLKLLLLLLR EFAEEFAEBFX ))sin(())sin(())cos(())cos((
)sin(
))cos(())cos(())sin((
EF
EFAEAE
L
KLKLLLL
82
COEFICIENTES DE VELOCIDAD Y ACELERACIÓN CAPÍTULO 2
“Utilizando las ecuaciones de superficie de restricción”
dt
dKL
)103.2(
dt
dKL
)104.2(
2)]sin()cos()cos(/[
]})cos()sin())(sin()][cos([
)]sin()cos()cos()][)(sin({[
PHL
PHLL
PHLLL
BC
BCBC
BCBC
MODO II
“Utilizando las ecuaciones de Lazo”
d
dKL ;
d
dKLLL AC
AC ;
d
dKL ;
d
dKRLR BFX
BFX
Se define entonces:
Ec. )105.2( , )106.2( , )107.2( y )108.2(
)(cos/)]}cos()))][sin(sin(())sin([(
)]))][cos(cos(())sin(())cos(())sin({[(
2
2
BCAC
BCACACACAC
LKL
LLLKLKKLLL
2
2
)]sin([
])cos(][)sin([)]sin()][)sin(())cos([(
EF
EFAEEFAEAE
L
KLKLLLLKLL
))cos(())sin(())cos(())sin(( 22 LLKLLLKLLR EFEFAEAEBFX
2)]sin([
])cos(][)sin([)]sin(][))cos(())sin([(
EF
EFAEEFAEAE
L
LKLLKLLLL
))cos(
()1)(sin(2
AC
ACBC
AC
BC
L
KLLK
L
LL
)(sin/]})))][cos(cos(())cos([(
)]))][sin(sin(())cos(())sin(())cos({[(
2
2
KLKL
LLLKLKKLLL
BCAC
BCACACACAC
83
INTRODUCCIÓN CAPÍTULO 3
La primera Ley de Newton, conocida
como Ley de inercia nos dice que un
cuerpo permanecerá en reposo o en
movimiento rectilíneo uniforme, a
menos que una fuerza externa actúe
sobre él.
Entendiendo, que existen un tipo de
observadores inerciales (localmente),
que no tienen movimiento, para los
que la mecánica clásica tiene sentido
y que ven al objeto en reposo o en
continuo movimiento desde un marco
inercial. [13]
Entonces, diremos que la inercia es
un estado en el cual un objeto está en
reposo o en movimiento rectilíneo
uniforme; y este estado permanece
hasta que una fuerza externa actúe
sobre él.
En lo analizado, nos damos cuenta
que basta con una fuerza externa
mínima para romper el estado de
inercia de dicho objeto.
Sin embargo, al tratar con objetos
que tienen masa, es fácil notar que
para moverlo ya sea rotacional o
linealmente, se necesita una cantidad
determinada de fuerza para romper
su estado inercial. Pareciendo que
existe una fuerza misteriosa en el
objeto.
Muchas veces, este concepto de la
física define muy bien, lo que pasa en
nuestra vida cotidiana y en la
investigación, puesto que es difícil
cambiar de estado o de idea.
Pareciendo que existe una fuerza
misteriosa que nos arrastra a pensar
y comportarnos de la misma manera.
Más esta fuerza no es invencible.
Albert Einstein mencionó que existe
una fuerza motriz más poderosa que
el vapor, la electricidad y la energía
atómica: La voluntad.
En mi opinión, el motivo que genera
la mayor fuerza de voluntad es el
amor.
Índice.
3.1 Energía Cinética
3.2 Energía Potencial
3.3 Ecuación de Lagrange
3.4 Formulación de coordenadas
3.5 Fuerzas de restricción
3.6 Parámetros reducidos EKSERGIAN
3.7 Método de los multiplicadores de
Lagrange (DAEs).
3.7.1 Método utilizando coeficientes de
velocidad
3.7.2 Método utilizando ecuación
cinemática
3.8 Trabajo virtual
3.9 Fuerzas externas
3.10 Cálculo de reacciones
ANÁLISIS DINÁMICO
85
Fig. 3.1 Energía Cinética
La energía cinética de un objeto es la energía que posee debido a su movimiento.
En el estudio de los cuerpos rígidos, esta energía puede expresarse en términos
de la velocidad del centro de masa del cuerpo y de su velocidad angular. [1]
22
2
1
2
1ImvT
Donde:
m = masa
v = Magnitud de la velocidad del centro de masa
I = Momento de inercia respecto a un eje imaginario que pasa por el centro de
masa y es perpendicular al plano de movimiento
=Velocidad angular
ENERGÍA CINÉTICA CAPÍTULO 3
86
Fig. 3.2 Mecanismo de Whitworth
con CM
El mecanismo de Whitworth de la figura 3.2, es un modelo que nos permite ver
con mayor claridad los centros de masa de los eslabones y que éstos pueden
variar de acuerdo al diseño. Sin embargo; también se aprecia que la posición de
los pares cinemáticos se conserva.
A continuación, se presentan las ecuaciones de la energía cinética de cada uno de
los eslabones del mecanismo de retorno rápido de Whitworth. Los momentos de
inercia se toman con respecto al CM de cada eslabón.
(
)
(
)
(
)
(
)
(
)
ENERGÍA CINÉTICA CAPÍTULO 3
87
Se sustituyen los valores de las velocidades y se simplifica.
“Utilizando las ecuaciones de Lazo”
Ecs. (3.6), (3.7), (3.8), (3.9) y (3.10)
[
]
(
(
) )
“Utilizando las ecuaciones de superficie de restricción”
Ecs. (3.11), )12.3( , )13.3( , )14.3( , )15.3( y )16.3(
[
]
)
ENERGÍA CINÉTICA CAPÍTULO 3
89
Fig. 3.3 Energía Potencial
Gravitatoria
3.2 ENERGÍA POTENCIAL
“Energía Potencial Gravitatoria Vg”
Es por definición, el trabajo mgh que se realiza contra el campo gravitatorio para
elevar la masa una distancia h por encima de un plano de referencia arbitrario en
el que Vg se toma como cero. [2]
mghVg
Donde:
m = Masa
g = Aceleración de la gravedad
h = Altura medida desde un plano de referencia arbitrario
ENERGÍA POTENCIAL CAPITULO 3
90
A continuación, se presentan las ecuaciones de la energía potencial Vg de cada
uno de los eslabones del mecanismo de retorno rápido de Whitworth.
Se sustituyen los valores de las velocidades y se simplifica.
“Utilizando las ecuaciones de Lazo”
“Utilizando las ecuaciones de superficie de restricción”
( (
) )
( (
) )
ENERGÍA POTENCIAL CAPÍTULO 3
91
3.3 ECUACIÓN DE LAGRANGE
Este trabajo no incluye un estudio detallado de las ecuaciones de Lagrange, sin
embargo, se menciona la bibliografía en caso de un interés más profundo. [3], [4],
[5].
Se comienza por definir la función Lagrangiano, que es la diferencia de la Energía
Cinética y Energía Potencial.
∑ ∑
Se definen las ecuaciones de Lagrange.
“Método Clásico”
Este método, es una formulación de las ecuaciones de Lagrange en coordenadas
independientes. Es decir; en nuestro planteamiento como existe un solo grado de
libertad, solamente será función de una sola coordenada independiente .
(
)
(3.34)
Donde:
Función de lagrangiano
Fuerzas externas generalizadas
ECUACIÓN DE LAGRANGE CAPÍTULO 3
92
“Método con Multiplicadores de Lagrange”
Este método, es una formulación de las ecuaciones de Lagrange en coordenadas
dependientes, Es decir; en nuestro planteamiento además de existir una sola
coordenada independiente se agregan coordenadas dependientes.
(
)
Donde:
Función de lagrangiano.
Fuerzas Externas generalizadas actuando a lo largo de las
coordenadas dependientes.
Término que se introduce, debido a que las coordenadas
generalizadas no son independientes, pero están interrelacionadas
por medio de ecuaciones de restricción.
Matriz Jacobiana de las ecuaciones no lineales de restricción. [6]
Multiplicadores de Lagrange.
La deducción de la ecuación dinámica de Lagrange (3.35), a través del principio
de Hamilton a partir de la ecuación de D’Alembert, se encuentra en [3]
ECUACIÓN DE LAGRANGE CAPÍTULO 3
93
3.4 FORMULACIÓN DE COORDENADAS
En la literatura, existen diferentes métodos para formular las ecuaciones
dinámicas. Entre ellas encontramos la formulación: Newton-Euler, D’Alembert,
Lagrange-Euler, Hamilton, etc.
Entre la formulación de Lagrange, encontramos la formulación con coordenadas
reducidas y los métodos con multiplicadores de Lagrange, la elección de alguna
de éstas, radica principalmente en el problema a tratar.
“Coordenadas Reducidas” ó “Parámetros reducidos”
En esta formulación, se toman los m grados de libertad del sistema y se restan las
c restricciones , y se trabaja con las coordenadas restantes.
Existen razones válidas para utilizar coordenadas reducidas, ya que estas
eliminan el problema de “drifting” que tienen los multiplicadores de Lagrange,
permitiendo un procesamiento más rápido. El problema de “drifting”, consiste en
que dos elementos que deben permanecer conectados tienden a separarse
cuando se utiliza un multiplicador, esta separación es parcialmente una
consecuencia de errores numéricos al procesar los multiplicadores, que son
inevitables durante la integración numérica. Existen técnicas de estabilización para
corregir dicho problema. [7]
Una ventaja de este tipo de coordenadas es una importante reducción en el
número de ecuaciones a integrar, pero más importante es la desaparición del
problema de inestabilidad en la integración de las ecuaciones de restricción
usando ODE “Ordinary differential equation” solvers.
La formulación e implementación de estos métodos en términos computacionales
es más compleja. [6]
“Método de los Multiplicadores de Lagrange”
También existen razones de peso al trabajar con este tipo de formulación. En
particular este método permite en gran manera construir sistemas modulares, que
en caso de trabajar con simulaciones, es un factor vital. Además, para todos
excepto las formas más simples, la parametrización requerida para la formulación
de parámetros reducidos es extremadamente complicada, además que las
restricciones no holónomas no pueden ser representadas [7]
FORMULACIÓN DE COORDENADAS CAPÍTULO 3
94
Las ecuaciones que obtenemos utilizando este método, son “DAE” ecuaciones
diferenciales Algebraicas.
Se ha tomado ventaja de este método no nada más en la mecánica computacional
[6], [8], sino también en la síntesis dimensional óptima de mecanismos planos [9],
control de fuerza [10], etc.
FORMULACIÓN DE COORDENADAS CAPÍTULO 3
95
3.5 FUERZAS DE RESTRICCIÓN
El término
,
se llama fuerza de restricción, y son también llamadas
“workless forces”, ya que no aumentan energía al sistema [7].
Estas fuerzas, surgen como una necesidad para formular las ecuaciones
dinámicas usando el método de Lagrange-Euler con coordenadas dependientes,
sin embargo, también representan las fuerzas de reacción en los pares
cinemáticos [6].
Es fácil visualizar las fuerzas de restricción como fuerzas de reacción, en
ejemplos como los mostrados en [5], donde se encuentran la fuerza normal a un
plano, o la reacción de una cuerda que sostiene a una masa en forma de péndulo.
Cuando analizamos la dinámica de mecanismos utilizando las ecuaciones de
Lagrange, encontramos distintas formas de representarla. Dependiendo de su
representación, es la manera que concebimos la función de estas fuerzas.
Al utilizar las coordenadas naturales [6], en donde se incluyen en la formulación
cinemática de manera explícita todos los pares cinemáticos, es fácil, deducir que
por cada par, existe un multiplicador de Lagrange que nos ayuda a saber cual es
la fuerza de reacción actuando en ellos en el análisis dinámico. Del mismo modo
al utilizar coordenadas de punto de referencia, siendo este el CM, cada uno de los
pares se encuentra explícitamente representado en la formulación cinemática. [8]
Por otro lado, cuando se utilizan las coordenadas de punto de referencia, y el
punto de referencia es un par, entonces la formulación cinemática ya no incluye a
todos los pares explícitamente, por lo cual, el significado de las fuerzas de
restricción en la formulación dinámica se oculta. Este es el caso del método de
lazos y el de superficies de restricción.
Sin embargo; al formular la cinemática, utilizando superficies de restricción, las
fuerzas de restricción son perpendiculares a la superficie planteada, lo que puede
ser tomado como un indicativo de la fuerza necesaria para mantener un objeto
sujeto a la superficie de restricción, ya que al separarse dicha fuerza será cero.
Así como un indicativo de cuanta fuerza está siendo aplicada a la superficie. [10]
FUERZAS DE RESTRICCIÓN CAPÍTULO 3
97
3.6 PARÁMETROS REDUCIDOS EKSERGIAN
El método de Eksergian, es un método de parámetros reducidos, el cual es muy
ocupado, cuando el sistema presenta un solo grado de libertad.
Donde:
Inercia generalizada
Coordenada generalizada, (En este caso es la coordenada Independiente)
Energía Potencial
Fuerzas no conservativas
Se plantea la energía cinética del mecanismo.
“Utilizando las ecuaciones de Lazo”
Ecs. (3.6), (3.7), (3.8), (3.9) y (3.10)
[
]
(
(
) )
PARÁMETROS REDUCIDOS EKSERGIAN CAPÍTULO 3
98
Se toman los coeficientes de velocidad y se sustituyen la ecuación de la energía
cinética.
K ;
AC
AC
LKL ;
K ;
BFXBFX
RKR
Ecs. (3.37) ,(3.38),(3.39).(3.40) y (3.41)
[
]
[
]
{ [
] }
[
]
{ [
(
) ] }
Se define la energía cinética como:
Donde Ec. (3.43)
{
[
]
[ (
) ]
}
PARÁMETROS REDUCIDOS EKSERGIAN CAPÍTULO 3
99
Resumiendo los coeficientes de aceleración
Ec. (3.46)
{ [
] [ ] [
)
] [ ]
[ ] [
]
[ ]
Se toma la energía potencial debida a la gravedad y se deriva con respecto a la
variable generalizada.
(3.44)
(3.45)
PARÁMETROS REDUCIDOS EKSERGIAN CAPÍTULO 3
100
Sustituyendo las ecuaciones obtenidas en la Ec. (3.36).
(3.36)
En el Anexo F, se encuentra la programación del modelo obtenido, sin tomar en
cuenta las fuerzas externas ni fricción.
PARÁMETROS REDUCIDOS EKSERGIAN CAPÍTULO 3
101
3.7 MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE
La ecuación dinámica utilizando los multiplicadores de Lagrange se representa
como:
(
)
(3.35)
“Utilizando las ecuaciones de superficie de restricción”
Se resumen las ecuaciones utilizadas en la cinemática, para definir posición,
velocidad y el Jacobiano.
Ecuaciones de Posición
(2.52)
Ecuaciones de Velocidad
[( ) ]
(2.63)
Matriz Jacobiana
[
]
Al tener dos ecuaciones de restricción, se necesitan dos multiplicadores de
Lagrange.
[
]
Las fuerzas de restricción, son perpendiculares a las superficies de restricción.
[ ]
[
] (3.49)
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
102
Energía Cinética
Donde:
[
]
(
)
[(
)
((
)
(
)
)
( )
]
[(
)
((
)
(
)
)
( )
]
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPITULO 3
103
Para tener una buena organización de los términos que contiene la ecuación
dinámica, se presenta cada una de sus componentes por separado.
(
)
{[
] [ ] [
]
{[ ] [ ]
[ ] { [ ( )]}
{ [ ] [ ] [
] { ] [ ]
(
)
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
104
(
)
=
,* (
)+ * (
)+ [
]
* (
)+ -
, * (
)+ * (
)+-
, * (
)+ * (
)+
* (
)+ * (
)+-
, * (
)+ [ (
)]-
, * (
)+ * (
)+
* (
)+- {[ ] [ ]
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
105
(
)
=
,* (
)+ * (
)+ [
]
* (
)+ -
, * (
)+
[ (
)]-
, * (
)+
* (
)+ * (
)+
* (
)+-
,* (
)+
[ (
)]-
, * (
)+ * (
)+
* (
)+-
, (
) [ ] [ ]-
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
106
(
)
{[ ] ]
[ ] {[
]
* ( )+ { ]
[ ] {[ ]
{ [ ] {[ ]
(
)
{[ ] {[ ]
(
)
gCCCVTT
dt
d )55.3(
gLmL
mL
m
vLm
LHLm
LHLm
Lm
uLm
LHLm
BCC
BC
C
BC
C
BC
C
BCBC
C
BCBC
C
BC
C
BC
C
BCBC
C
})sin({})(cos
)sin()(sin2{}
)(cos
)cos()sin({
})cos(
)sin(
)(cos
))sin()()cos((2
)(cos
))sin()()cos((2{
})(cos
)(sin{
})cos(
)sin(
)(cos
)sin())sin()()cos(({
3
222
2
2
2
3
42
2
22
3
3
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
107
gCCCVTT
dt
d )56.3(
gL
mL
mL
m
vLm
LPLm
LPLm
Lm
uLm
LPLm
BC
C
BC
C
BC
C
BC
C
BCBC
C
BCBC
C
BC
C
BC
C
BCBC
C
})sin(
)cos()cos({}
)(sin
)cos()(cos2{}
)(sin
)cos()sin({
})sin(
)cos(
)(sin
))cos()()sin((2
)(sin
))cos()()sin((2{
})(sin
)(cos{
})sin(
)cos(
)(sin
)cos())cos()()sin(({
3
222
2
2
23
42
2
22
3
3
Se resumen las ecuaciones planteadas:
2
1
T
Q
g
g
g
VTT
dt
d
VTT
dt
d
VTT
dt
d
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
108
Reordenando los valores, y acomodándolos en forma matricial.
2
1
31
21
11
333231
232221
131211
333231
232221
131211
T
Q
g
g
g
CCC
CCC
CCC
g
N
N
N
NNN
NNN
NNN
MMM
MMM
MMM
)57.3(
Donde:
111
2222
4
2
4111 )(cos)( TCDDAEFAEEFDD MILmLmvumM
)cos()cos()cos()sin( 5512 EFAEFAEEFAEEF LLmvLmuLmM
1313 TCMM
)cos()cos()cos()sin( 5521 EFAEFAEEFAEEF LLmvLmuLmM
EFEFFEF ILmvumM )(cos)( 222
5
2
522
023 M
3131 TCMM
032 M
331
2
2
2
2133 )( TCBBBB MIvumM
ACTCCTCAEFC NNLmN 1111
2
11 )sin()cos(
})sin()cos()cos()sin({ 5512 EFAEFAEEFAEEFC LLmuLmvLmN
1313 CTCC NN
})sin()cos({ 5521 vLmuLmN AEEFAEEFC
})sin()cos({})sin()cos({2
22 EFAEFEFFC LLmLmN
023 CN
ACTCCTCC NNN 313131
032 CN
3333 CTCC NN
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPITULO 3
109
1144111 )sin()sin()cos( gTCAEEFDDg NLmvumN
5521 )sin()cos( vumN EFg
3122131 )sin()cos( gTCBBg NvumN
Para valores de 360,180,0
C
BC
C
C
BC
C
BC
CTC
IuHL
m
vumvHL
mHL
mM
)(cos
)sin())cos((2
)()cos(
))cos((2
)(cos
))cos((
2
3
2
3
2
3
3
4
2
11
)cos(
)sin(
)(cos
)sin())sin()()cos(( 3
313
uLm
LHLmM
BC
C
BCBC
CTC
)cos(
)sin(
)(cos
)sin())sin()()cos(( 3
331
uLm
LHLmM
BC
C
BCBC
CTC
)(cos
)(sin2
22
33
BC
CTC
LmM
})(cos
))cos((2
)cos(
))cos((
)(cos
)sin())cos((
cos
)sin())cos((2{
3
33
2
3
5
2
11
uHLm
uHLm
vHLm
HLmN
BC
C
BC
C
BC
C
BC
CCTC
})cos(
)sin(
)(cos
)sin())cos((2
cos
)sin())cos((2{
3
4231
vLm
LHLm
LHLmN
BC
C
BCBC
C
BCBC
CCTC
}
)cos(
)cos(
)(cos
)sin()cos())cos(({
3
313
uLm
LHLmN
BC
C
BCBC
CCTC
}
)(cos
)cos()sin({
2
2
33
BC
CCTC
LmN
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
110
})(cos
)sin()sin(2
)cos(
)sin(2.
)(cos
)sin())cos((2{
2
3
3
411
uLm
vLm
LHLmN
BC
C
BC
C
BCBC
CACTC
}
)(cos
)sin()(sin{
3
22
31
BC
CACTC
LmN
))(sin()cos( 3311 vmumN CCgTC
)sin(31 BCCgTC LmN
Para valores de 360,180,0
C
BC
C
C
BC
C
BC
CTC
IuPL
m
vumvPL
mSIN
PLmM
)(sin
)cos())sin((2
)()sin(
))sin((2
)(
))sin((
2
3
2
3
2
3
3
4
2
11
)sin(
)cos(
)(sin
)cos())cos()()sin(( 3
313
uLm
LPLmM
BC
C
BCBC
CTC
)sin(
)cos(
)(sin
)cos())cos()()sin(( 3
331
uLm
LPLmM
BC
C
BCBC
CTC
)(sin
)(cos2
22
33
BC
CTC
LmM
})(sin
))sin((2
)sin(
))sin((
)(sin
)cos())sin((
sin
)cos())sin((2{
3
33
2
3
5
2
11
uPLm
uPLm
vPLm
PLmN
BC
C
BC
C
BC
C
BC
CCTC
})sin(
)cos(
)(sin
)cos())sin((2
sin
)cos())sin((2{
3
4231
vLm
LPLm
LPLmN
BC
C
BCBC
C
BCBC
CCTC
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPITULO 3
111
}
)sin(
)sin(
)(sin
)cos()sin())sin(({
3
313
uLm
LPLmN
BC
C
BCBC
CCTC
}
)(sin
)cos()sin({
2
2
33
BC
CCTC
LmN
})(sin
)cos()cos(2
)sin(
)cos(2.
)(sin
)cos())sin((2{
2
3
3
411
uLm
vLm
LPLmN
BC
C
BC
C
BCBC
CACTC
}
)(sin
)cos()(cos2{
3
22
31
BC
CACTC
LmN
))(sin()cos()(sin
)sin(33
211 vmum
PLmN CC
BC
CgTC
Una vez encontrado, los valores de cada elemento de la ecuación matricial, se
define la matriz M, Nc y NG
2
1
31
21
11
333231
232221
131211
333231
232221
131211
T
Q
g
g
g
CCC
CCC
CCC
g
N
N
N
NNN
NNN
NNN
MMM
MMM
MMM
)58.3(
333231
232221
131211
MMM
MMM
MMM
M;
333231
232221
131211
CCC
CCC
CCC
C
NNN
NNN
NNN
N;
g
N
N
N
N
g
g
g
G
31
21
11
0)cos(
)sin(0
)sin()sin()cos()cos(
BC
EF
AEBC
T
Q
L
L
LPHL
;
2
1
T
QGC NqNqM
)59.3(
La ecuación (3.61), se define como una ecuación diferencial algebraica (DAE).
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPITULO 3
113
3.7.1 MÉTODO UTILIZANDO COEFICIENTES DE VELOCIDAD
Este método, tiene la intención de evitar las ecuaciones diferenciales algebraicas,
utilizando los coeficientes de velocidad y aceleración.
Se muestran los coeficientes de velocidad y aceleración obtenidos anteriormente
K ;
K ; dt
dKL
;
dt
dKL
Se definen los vectores
1
K
K
K;
0
L
L
L
Se sustituyen los coeficientes de velocidad y aceleración en lugar de las
velocidades y aceleraciones angulares.
K
K
LK
LK
Finalmente se obtiene la formulación dinámica
2
1
31
21
11
333231
232221
131211
333231
232221
131211
333231
232221
131211
1
01
T
Q
g
g
g
CCC
CCC
CCC
g
N
N
N
K
K
NNN
NNN
NNN
L
L
MMM
MMM
MMM
K
K
MMM
MMM
MMM
)60.3(
T
QGC NKNMLMK
)(
)61.3(
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPITULO 3
114
Se define:
KQ;
LKQ;
Sustituyendo en la ecuación (3.61), se obtiene la forma de la ecuación de
mostrada en [10].
T
QGC NQNQM
)62.3(
En el Anexo G, se encuentra la programación del modelo obtenido, sin tomar en
cuenta las fuerzas externas ni fricción.
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
115
3.7.2 MÉTODO UTILIZANDO ECUACIONES CINEMÁTICAS
La ecuación (3.61) constituye un arreglo de ecuaciones algebraicas diferenciales
(DAE), para evitar este tipo de ecuaciones, se usan las ecuaciones cinemáticas de
aceleración, las cuales son obtenidas al derivar las ecuaciones de restricción con
respecto a t. [6]
Esta expresión, se deriva de las ecuaciones de la aceleración obtenidas en la
formulación de la cinemática, pero expresadas utilizando la matriz Jacobiana.
cqq qtQ
)63.3(
Se escriben la ecuación (3.61) y (3.65) juntas, resultando un sistema de (n+m)
ecuaciones con (n+m) incógnitas, cuya matriz es simétrica y en general, definida
no positiva y también muy “sparse” o con muchos ceros:
c
QqM
Q
T
Q
0 )64.3(
adassGeneralizCoordenadam
sstriccionen
Re
Donde el término Q, contiene todas las fuerzas externas, además de los términos
de la inercia dependientes de la velocidad y aquellos obtenidos del potencial.
Se había definido el Jacobiano como:
0)sin()sin(
)cos(0)sin()cos()cos(
EFAE
BCBC
QLL
LPHL)66.2(
Se obtiene la primera derivada con respecto al tiempo
0)cos()cos(
))(sin(0)cos()sin())(sin(
EFAE
BCBCQ
LL
LPHL
Debido, a que se incluyeron los términos correspondientes de en el Jacobiano,
el término
t no aparece en las ecuaciones, Por tanto:
cqq qQ
)65.3(
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
116
Retomando la ecuación dinámica
T
QGc NqNqM
)66.3(
2
1
31
21
11
333231
232221
131211
333231
232221
131211
T
Q
g
g
g
CCC
CCC
CCC
g
N
N
N
NNN
NNN
NNN
MMM
MMM
MMM
Se obtiene
QNqNqM Gc
T
Q
)67.3(
g
N
N
N
NNN
NNN
NNN
Q
g
g
g
CCC
CCC
CCC
31
21
11
333231
232221
131211
El sistema de ecuaciones (3.66) puede ser usado para la solución simultánea de
las aceleraciones y los multiplicadores de Lagrange. Alternativamente la Ecuación
(3.61) puede resolverse primero para obtener una expresión para las
aceleraciones.
T
QMQMq
11 )68.3(
Que puede ser útil, sólo si la matriz de masa no es singular.
Sustituyendo la Ec (3.68) en (3.66)
cQMM Q
T
QQ 11 )69.3(
Con la cual es posible encontrar el vector de los multiplicadores de Lagrange y
al sustituir el valor encontrado en la ecuación (3.69), se obtienen las
aceleraciones.
En el Anexo H, se encuentra la programación del modelo obtenido, sin tomar en
cuenta las fuerzas externas ni fricción.
MÉTODO DE LOS MULTIPLICADORES DE LAGRANGE CAPÍTULO 3
117
3.8 TRABAJO VIRTUAL
Se plantea de una forma muy breve, los conceptos del principio del Trabajo
Virtual, puesto que es junto con el principio de Hamilton, los medios para plantear
la ecuación dinámica del mecanismo planteado.
Más que por su importancia práctica, este principio tiene tanta relevancia debido a
que es la base que lleva a anunciar la mecánica analítica. [3]
“Fuerza de Ligadura” ó “Fuerza de Restricción”
La introducción de restricciones en el sistema mecánico lleva al concepto de
fuerza de vínculo, que es justamente la que se ejerce sobre la partícula para forzar
el cumplimiento de la ligadura. Esta fuerza se diferencia de las fuerzas aplicadas
en que éstas son determinadas independientemente de otras fuerzas.
Una restricción adicional que se impone a las fuerzas de vínculo es que puedan
ser tan grandes en magnitud como fuera necesario para imponer la ligadura, lo
que es una idealización de los vínculos reales, pues estos sufren transformaciones
como son el estirarse, doblarse, etc.
Un ejemplo de este tipo de fuerzas, lo encontramos en la fuerza que ejerce un riel
que guía el movimiento de una partícula, que no puede ser determinada sin
conocer las otras fuerzas que actúan. [11]
“Desplazamiento virtual”
Es un desplazamiento infinitesimal de la posición, realizado instantáneamente; a
velocidad infinita, sin que transcurra el tiempo durante el desplazamiento. A parte
de ser instantáneo, el desplazamiento es arbitrario, no relacionado con el
movimiento real de la partícula en el instante considerado, Sin embargo, los
desplazamientos virtuales más útiles son los que respetan los vínculos,
denominados “compatibles con los vínculos”
“Trabajo virtual”
Es el trabajo que realiza una fuerza en el desplazamiento virtual.
TRABAJO VIRTUAL CAPÍTULO 3
118
“Principio de los trabajos virtuales de D’Alembert”
El principio postula que la suma de los trabajos virtuales de todas las fuerzas del
vínculo de un sistema es nula, para cualquier conjunto de desplazamientos
virtuales, compatibles con los vínculos, de las partículas del sistema.
Este principio se aplicó inicialmente en forma elemental y enfocada a problemas
estáticos comenzando por Aristóteles y pasando por Stevinus y Galileo. Su forma
más explícita y general la dio Juan Bernoulli, sin embargo siempre en el caso
estático. D’Alembert en el siglo XIX formuló su principio, que dice en realidad que
un problema dinámico puede reducirse a uno estático en el que se han agregado a
las fuerzas reales (de vínculo y aplicadas), las fuerzas de inercia. Permitiendo así,
el uso del principio en casos dinámicos. [11]
Para un desplazamiento virtual de cualquier tipo, el “trabajo virtual” hecho por F,
está dado por:
sFW )70.3( W Trabajo virtual
F Fuerza aplicada o de vínculo
s Desplazamiento virtual
En el caso de considerarse solo las fuerzas aplicadas que sean compatibles con
los vínculos:
i j jjii AMrFW )71.3(
W Trabajo virtual
F Fuerza aplicada
ri Desplazamiento lineal virtual
Ai Desplazamiento angular virtual
Se define
dq
dri
q
ri
daGeneralizaCoordenadaq
TRABAJO VIRTUAL CAPITULO 3
119
Fig. 3.4 Fuerzas Externas
3.9 FUERZAS EXTERNAS
La utilización, del principio de Trabajo virtual, nos ayudará a definir en la
formulación dinámica, las fuerzas externas que actúan el mecanismo.
El motivo, por el que se ocupa este método nace de la derivación de la ecuación
dinámica a través del principio de Hamilton a partir de la ecuación de D’Alembert,
que podemos encontrar en [3]. En este trabajo, sólo se ocupa la metodología.
Hasta este momento, sólo la fuerza de gravedad ha sido tomada en cuenta en los
cálculos; Ahora se agrega una fuerza de corte Fcorte, ejercida en el último eslabón
del mecanismo y un par ejercido en el par cinemático del elemento 2 ó BB1, que lo
conecta al eslabón fijo.
Utilizando, el principio de trabajo Virtual.
TrFW corte
A )72.3(
Donde:
REFxRAExRBAxr
)sin()sin( EFAE LLPr )73.3(
FUERZAS EXTERNAS CAPÍTULO 3
120
Caso I: Una sola coordenada generalizada
Se deriva (3.73) con respecto a la variable generalizada
d
dL
d
dL
d
drrEFAE )cos()cos(
Se toman los coeficientes de velocidad
KLKL
d
drrEFAE )cos()cos(
Por tanto
KLKLr EFAE )cos()cos(
Y se sustituye en (3.72)
})cos()cos({ TKLKLFW EFAEcorte
A )74.3(
La Ec. (3.74) se representa como
AA qQW )75.3(
Caso II: Tres coordenadas generalizadas
Se deriva (3.74) con respecto a las variables generalizadas.
)cos(
AELr
)cos(
EFLr
FUERZAS EXTERNAS CAPÍTULO 3
121
Por tanto:
)cos(AELr
)cos(EFLr
rrr )76.3(
Se sustituye (3.76) en (3.72)
TLLFW EFAEcorte )cos()cos( )77.3(
Se rescribe (3.73) en términos de las coordenadas generalizadas
T
LF
LF
W EFcorte
AEcorte
))cos((
))cos((
)78.3(
La Ec. (3.79) se representa como
AqQW )79.3(
“Forma General del principio de Hamilton”
2
1
0
t
t
CA dtWWL )80.3(
2
1
0
t
t
CA QQq
L
q
L
dt
d )80.3(
La ecuación (3.80), debe permanecer para toda q y 0)()( 21 tqtq
El término T
Q
CQ , sólo se toma en cuenta si existen coordenadas
dependientes.
Para mayor referencia de la deducción de la ecuación (3.80), revisar [3], [12]
FUERZAS EXTERNAS CAPÍTULO 3
122
Ecuación dinámica con Fuerzas Externas
“Parámetros Reducidos Eksergian”
AQdq
dVq
dq
qdqq
2)(
2
1)(
)81.3(
TKLKLFQ EFAEcorte
A )cos()cos(
)82.3(
En el Anexo I, se encuentra el programa que integra las fuerzas externas a la
formulación dinámica.
“Multiplicadores de Lagrange”
Utilizando coeficientes de velocidad
AT
QGC QNQNQM
)83.3(
En el Anexo J, se encuentra el programa que integra las fuerzas externas a la
formulación dinámica.
Utilizando ecuación cinemática
c
QqM
Q
T
Q
0 )66.3(
A
GC QNqNQ
)84.3(
En el Anexo K, se encuentra el programa que integra las fuerzas externas a la
formulación dinámica.
Siendo las Fuerzas Aplicadas ó Externas
T
LF
LF
Q EFcorte
AEcorte
A ))cos((
))cos((
)79.3(
FUERZAS EXTERNAS CAPÍTULO 3
123
3.10 CÁLCULO DE REACCIONES
La principal ventaja de la formulación dinámica en coordenadas dependientes
usando multiplicadores de Lagrange, más allá de la simplicidad del método, es
permitir el cálculo de fuerzas asociadas con las restricciones (Las cuales
dependen de los multiplicadores) con un esfuerzo adicional mínimo. [6]
Esta facilidad de obtener las fuerzas de reacciones, depende de la formulación
cinemática, en específico, es necesario que todos los pares cinemáticos se
encuentren representados explícitamente dentro de la formulación. Este es el caso
de utilizar coordenadas naturales, o coordenadas de punto de referencia, siendo
este el CM.
Sin embargo, cuando la formulación cinemática no incluye explícitamente todos
los pares cinemáticos, existe un menor número de multiplicadores de Lagrange
que pares cinemáticos, por lo que no resulta tan sencillo calcular las reacciones.
Por tanto, se utilizará un método vectorial para encontrar las reacciones; ya que la
determinación de las reacciones en los pares es esencialmente un problema
estático y tomando en cuenta que ya se han establecido las fuerzas de inercia en
un análisis dinámico previo, esta clase de problemas es referida como cineto-
estático.
Para obtener las reacciones, será necesario plantear un sistema de coordenadas
en el centro de masa de cada uno de los elementos que mantenga su orientación,
y desde ahí definir la posición de la aplicación de las fuerzas. Aunque se planteó
este método, no es el único, pues es posible también utilizar componentes de
fuerza tangencial y normal para obtener las reacciones.
La desventaja de este tipo de método, radica en que se tiene que realizar un
análisis extra, para obtener las reacciones, lo que se vuelve complicado al
momento de implementarlo en un método computacional.
CÁLCULO DE REACCIONES CAPÍTULO 3
124
Fig. 3.5 Reacciones en BB1
“Elemento 2, ó BB1”
Donde:
),( YX Sistema de coordenadas inercial
),( 22 VU Sistema de coordenadas colineal al elemento, ubicado en el par B.
),( 22 YX Sistema de coordenadas con la misma orientación que el inercial,
ubicado en el centro de masa del elemento “2” ó “BB1”.
)( 2,2 CMCM VU Sistema de coordenadas colineal al elemento, ubicado en el centro
de masa del elemento “2” ó “BB1”.
),( 22 vu Distancias medidas desde el sistema de coordenadas ),( 22 VU
BCL Distancia del punto B a C.
1BBW Peso del elemento “2” ó “BB1”, concentrado en el CM.
1CBBf Fuerza ejercida por el elemento “3” ó “C” sobre el elemento “2” ó
“BB1”.
11BBf Fuerza ejercida por el elemento “1” sobre el elemento “2” ó “BB1”
CÁLCULO DE REACCIONES CAPÍTULO 3
125
El objetivo consiste en obtener la suma de fuerzas y momentos desde el sistema
de coordenadas ),( 22 YX , utilizando los valores BCL , 2u y 2v
)( 111111
CMBBBBBBCBBBB RmWffF )85.3(
TIfRfRM BBCBBCCMBBBBBCMBB
111111 )86.3(
Donde:
CMBBR 1 Aceleración del CM del elemento BB1, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
BCMBBR 1 Posición medida desde el CM del elemento BB1 al Par B, utilizando
el sistema de coordenadas ),( 22 YX
CCMBBR 1 Posición medida desde el CM del elemento BB1 al Par C, utilizando
el sistema de coordenadas ),( 22 YX
La posición de los pares B y C, desde el sistema de coordenadas ),( 22 VU es:
),( 221 vuRBCMBB
),0( BCBC LR
1BCMBBR Posición medida desde el punto B al CM del elemento BB1,
utilizando el sistema de coordenadas ),( 22 VU .
BCR Posición medida desde el punto B al punto C, utilizando el sistema de
coordenadas ),( 22 VU .
La posición de los pares B y C, desde el sistema de coordenadas ),( 22 CMCM VU es:
),( 22)2,2(1 vuR VCMUCMBCMBB
),( 22)2,2(1 vLuR BCVCMUCMCCMBB
CÁLCULO DE REACCIONES CAPÍTULO 3
126
Fig. 3.6 Reacciones en C
Se obtiene la posición de B y C, desde el sistema de coordenadas ),( 22 YX al rotar
al sistema de coordenadas ),( 22 CMCM VU.
)2,2(11)cos()sin(
)sin()cos(VCMUCMBCMBBBCMBB RR
)87.3(
Se rescriben las ecuaciones (3.85) y (3.86) en componentes
)( 11111
CMXBBBBXCBBXBB RmffxF )88.3(
)( 111111
CMYBBBBBBYCBBYBB RmWffyF )89.3( )90.3(
TIfRfRfRfRM BBXCBBCYCMBBYCBBCXCMBBXBBYCMBBYBBXCMBB
11111111111 ))(())((
“Elemento 3, ó C”
El objetivo consiste en obtener la suma de fuerzas y momentos desde el sistema
de coordenadas ),( 33 YX
)(11
CCMCCCDDCBB RmWffF )91.3(
CCDDCMCNCCBBCMCC IfRfRM 11 )92.3(
CÁLCULO DE REACCIONES CAPÍTULO 3
127
Donde:
CCMR Aceleración del CM del elemento C, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
CMCCR Posición medida desde el CM del elemento C al par C, utilizando el
sistema de coordenadas ),( 33 YX.
CMCNCR Posición medida desde el CM del elemento C al punto de aplicación
de la fuerza normal al elemento C, ejercida por el elemento DD1
utilizando el sistema de coordenadas ),( 33 YX.
La posición del par C y el punto de aplicación de la fuerza normal al elemento C,
ejercida por el elemento DD1, desde el sistema de coordenadas ),( 33 VU son:
),( 33 vuRCCMC
),( CNCYCNCXCNC uuR
CCMCR Posición medida desde el punto C al CM del elemento C, utilizando el
sistema de coordenadas ),( 33 VU
CNCR Posición medida desde el punto C al punto de aplicación de la fuerza
normal al elemento C utilizando el sistema de coordenadas ),( 33 VU
La posición del par C y el punto de aplicación de la fuerza CDDf 1 , desde el sistema
de coordenadas ),( 33 CMCM VU son:
),( 33)3,3( vuR VCMUCMCMCC
),( 33)3,3( vuuuR CNCYCNCXVCMUCMCMCNC
Se obtiene la posición del par C y el punto de aplicación de la fuerza CDDf 1 desde
el sistema de coordenadas ),( 33 YX al rotar al sistema de coordenadas
),( 33 CMCM VU
)3,3()cos()sin(
)sin()cos(VCMUCMCMCCCMCC RR
)93.3(
CÁLCULO DE REACCIONES CAPÍTULO 3
128
Fig. 3.7 Reacciones en DD1
Se tiene, además
CBBCBB ff 11 )94.3(
Se rescriben las ecuaciones (3.91) y (3.92) en componentes
)(11
CCMXCCXDDXCBB RmffxF )95.3(
)(11
CCMYCCCYDDYCBB RmWffyF )96.3( )97.3(
CCXDDCMCNCYCYDDCMCNCXXCBBCMCCYYCBBCMCCX IfRfRfRfRM ))(())(())(())(( 1111
“Elemento 4, ó DD1”
El objetivo consiste en obtener la suma de fuerzas y momentos desde el sistema
de coordenadas ),( 44 YX
)( 1111111
CMDDDDDDCDDEFDDDD RmWfffF )98.3(
11111111 DDCDDNCCMDDEFDDECMDDDDACMDD IfRfRfRM )99.3(
CÁLCULO DE REACCIONES CAPITULO 3
129
Donde:
CMDDR 1 Aceleración del CM del elemento DD1, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
ACMDDR 1 Posición medida desde el CM del elemento DD1 al par A, utilizando
el sistema de coordenadas ),( 44 YX.
ECMDDR 1 Posición medida desde el CM del elemento DD1 al par E, utilizando
el sistema de coordenadas ),( 44 YX
NCCMDDR 1 Posición medida desde el CM del elemento DD1 al punto de
aplicación de la fuerza normal al elemento DD1, ejercida por el
elemento C utilizando el sistema de coordenadas ),( 44 YX.
La posición del par A, E y el punto de aplicación de la fuerza normal al elemento
DD1, ejercida por el elemento C, desde el sistema de coordenadas ),( 44 VU son:
),( 441 vuRACMDD
))(,0( 4vLR AEAE
),( CNCYACCNCXANC uLuR
1ACMDDR Posición medida desde el punto A al CM del elemento DD1,
utilizando el sistema de coordenadas ),( 44 VU
AER Posición medida desde el punto A al punto E, utilizando el sistema de
coordenadas ),( 44 VU
ANCR Posición medida desde el punto A al punto de aplicación de la fuerza
normal al elemento DD1 utilizando el sistema de coordenadas
),( 44 VU
La posición del par A, E y el punto de aplicación de la fuerza 1CDDf , desde el
sistema de coordenadas ),( 44 CMCM VU son:
),( 44)4,4(1 vuR VCMUCMACMDD
))(,( 44)4,4(1 vLuR AEVCMUCMECMDD
))(,( 44)4,4(1 vuLuuR CNCYACCNCXVCMUCMNCCMDD
CÁLCULO DE REACCIONES CAPITULO 3
130
Se obtiene la posición del par de revolución A, E y el punto de aplicación de la
fuerza 1CDDf desde el sistema de coordenadas ),( 44 YX al rotar al sistema de
coordenadas ),( 44 CMCM VU
)4,4(11)cos()sin(
)sin()cos(VCMUCMACMDDACMDD RR
)100.3(
)4,4(11)cos()sin(
)sin()cos(VCMUCMECMDDECMDD RR
)101.3(
)4,4(11)cos()sin(
)sin()cos(VCMUCMNCCMDDNCCMDD RR
)102.3(
Se tiene, además
11 CDDCDD ff )103.3(
Se rescriben las ecuaciones (3.98) y (3.99) en componentes
)( 111111
CMXDDDDCXDDXEFDDXDD RmfffxF )104.3(
)( 1111111
CMYDDDDDDCYDDYEFDDYDD RmWfffyF )105.3(
11111
1111
111111
))(())((
))(())((
))(())((
DDCXDDNCYCMDDCYDDNCXCMDD
XEFDDEYCMDDYEFDDEXCMDD
XDDAYCMDDYDDAXCMDD
IfRfR
fRfR
fRfRM
)106.3(
CÁLCULO DE REACCIONES CAPITULO 3
131
Fig. 3.8 Reacciones en EF
“Elemento 5, ó EF”
El objetivo consiste en obtener la suma de fuerzas y momentos desde el sistema
de coordenadas ),( 55 YX
)(1
EFCMEFEFFEFEFDD RmWffF )107.3(
EFFEFCMEFFEFDDCMEFE IfRfRM 1 )108.3(
Donde:
EFCMR Aceleración del CM del elemento EF, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
CMEFER Posición medida desde el CM del elemento EF al par E, utilizando el
sistema de coordenadas ),( 55 YX.
CMEFFR Posición medida desde el CM del elemento EF al par F, utilizando el
sistema de coordenadas ),( 55 YX
CÁLCULO DE REACCIONES CAPITULO 3
132
La posición del par F desde el sistema de coordenadas ),( 55 VU es:
),( 55 vuRECMEF
),0( EFEF LR
ECMEFR Posición medida desde el punto E al CM del elemento EF, utilizando
el sistema de coordenadas ),( 55 VU
EFR Posición medida desde el punto E al punto F, utilizando el sistema de
coordenadas ),( 55 VU
La posición del par E y F desde el sistema de coordenadas ),( 55 CMCM VU es:
),( 55)5,5( vuR VCMUCMCMEFE
)),( 55)5,5( vLuR EFVCMUCMCMEFF
Se obtiene la posición del par E y F desde el sistema de coordenadas ),( 55 YX al
rotar al sistema de coordenadas ),( 55 CMCM VU
)5,5()cos()sin(
)sin()cos(VCMUCMCMEFECMEFE RR
)109.3(
)5,5()cos()sin(
)sin()cos(VCMUCMCMEFFCMEFF RR
)110.3(
Se tiene, además
11 EFDDEFDD ff )111.3(
CÁLCULO DE REACCIONES CAPITULO 3
133
Fig. 3.9 Reacciones en F
Se rescriben las ecuaciones (3.108) y (3.109) en componentes
)(1
EFCMXEFFEFXXEFDD RmffxF )112.3(
)(1
EFCMYEFEFFEFYYEFDD RmWffyF )113.3(
EFFEFXCMEFFYFEFYCMEFFX
XEFDDCMEFEYYEFDDCMEFEX
IfRfR
fRfRM
))(())((
))(())(( 11
)114.3(
“Elemento 6, ó F”
El objetivo consiste en obtener la suma de fuerzas y momentos desde el sistema
de coordenadas ),( 66 YX
)(1
FCMFcorteFFFEFF RmfWffF )115.3(
01
corteCMFfcorteFCMFNFEFFCMFF fRfRfRM )116.3(
CÁLCULO DE REACCIONES CAPITULO 3
134
Donde:
FCMR Aceleración del CM del elemento F, que se refiere a la segunda
derivada con respecto al tiempo, de la posición del CM, desde el
sistema inercial.
CMFFR Posición medida desde el CM del elemento F al par F, utilizando el
sistema de coordenadas ),( 66 YX.
CMFNFR Posición medida desde el CM del elemento F al punto de aplicación
de la fuerza normal al elemento F, utilizando el sistema de
coordenadas ),( 66 YX
CMFfcorteR Posición medida desde el CM del elemento F al punto de aplicación
de la fuerza de corte, utilizando el sistema de coordenadas ),( 66 YX
La posición del par F y el punto de aplicación de la fuerza normal al elemento F,
desde el sistema de coordenadas ),( 66 VU son:
),( 66 vuRFCMF
),( 77 vuRFfcorte
FCMFR Posición medida desde el punto F al CM del elemento F, utilizando el
sistema de coordenadas ),( 66 VU
FfcorteR Posición medida desde el punto F al punto de aplicación de la fuerza
de corte, utilizando el sistema de coordenadas ),( 66 VU
CÁLCULO DE REACCIONES CAPITULO 3
135
La posición del par F, el punto de aplicación de la fuerza de corte y el punto de
aplicación de la fuerza normal a F, desde el sistema de coordenadas ),( 66 CMCM VU
son:
),( 66)6,6( vuR VCMUCMCMFF
)),( 6767)6,6( vvuuR VCMUCMCMFfcorte
)),()6,6( CMFNFYCMFNFXVCMUCMCMFNF vuR
No es necesaria ninguna transformación, por tanto:
)6,6( VCMUCMCMFFCMFF RR )117.3(
)6,6( VCMUCMCMFfcorteCMFfcorte RR )118.3(
)6,6( VCMUCMCMFNFCMFNF RR )119.3(
Se tiene, además
FEFEFF ff )120.3(
Se rescriben las ecuaciones (3.115) y (3.116) en componentes
)(1
FCMXFcorteFXFEFX RmfffxF )121.3(
)(1
FCMYFFFYFEFY RmWffyF )122.3(
0))(())(())((
))(())((
11
corteCMFfcorteYFXCMFNFYFYCMFNFX
FEFXCMFFYFEFYCMFFX
fRfRfR
fRfRM
)123.3(
CÁLCULO DE REACCIONES CAPITULO 3
136
Se resumen las ecuaciones de las reacciones.
Ecs. (3.88), (3.89) y (3.90)
)( 11111
CMXBBBBXCBBXBB RmffxF )88.3(
)( 111111
CMYBBBBBBYCBBYBB RmWffyF )89.3( )90.3(
TIfRfRfRfRM BBXCBBCYCMBBYCBBCXCMBBXBBYCMBBYBBXCMBB
11111111111 ))(())((
Incógnitas: XBBf 11 , YBBf 11 , XCBBf 1 , YCBBf 1
Ecs. (3.95), (3.96) y (3.97)
)(11
CCMXCCXDDXCBB RmffxF )95.3(
)(11
CCMYCCCYDDYCBB RmWffyF )96.3( )97.3(
CCXDDCMCNCYCYDDCMCNCXXCBBCMCCYYCBBCMCCX IfRfRfRfRM ))(())(())(())(( 1111
Incógnitas: XCBBf 1 , YCBBf 1 , CXDDf 1 , CYDDf 1 , CNCYu
Dato: 0CNCXu
Ecs. (3.104), (3.105) y (3.106)
)( 111111
CMXDDDDCXDDXEFDDXDD RmfffxF )104.3(
)( 1111111
CMYDDDDDDCYDDYEFDDYDD RmWfffyF )105.3(
11111
1111
111111
))(())((
))(())((
))(())((
DDCXDDNCYCMDDCYDDNCXCMDD
XEFDDEYCMDDYEFDDEXCMDD
XDDAYCMDDYDDAXCMDD
IfRfR
fRfR
fRfRM
)106.3(
Incógnitas: XDDf 11 , YDDf 11 , XEFDDf 1 , YEFDDf 1 , CXDDf 1 , CYDDf 1 , CNCYu
Dato: 0CNCXu
CÁLCULO DE REACCIONES CAPITULO 3
137
Ecs. (3.112), (3.113) y (3.114)
)(1
EFCMXEFFEFXXEFDD RmffxF )112.3(
)(1
EFCMYEFEFFEFYYEFDD RmWffyF )113.3(
EFFEFXCMEFFYFEFYCMEFFX
XEFDDCMEFEYYEFDDCMEFEX
IfRfR
fRfRM
))(())((
))(())(( 11
)114.3(
Incógnitas: XEFDDf 1 , YEFDDf 1 , FEFXf, FEFYf
Hasta este, punto, se tienen 13 ecuaciones con 13 incógnitas, que pueden
resolverse como ecuaciones simultáneas.
)(1
FCMXFcorteFXFEFX RmfffxF )121.3(
)(1
FCMYFFFYFEFY RmWffyF )122.3(
0))(())(())((
))(())((
11
corteCMFfcorteYFXCMFNFYFYCMFNFX
FEFXCMFFYFEFYCMFFX
fRfRfR
fRfRM
)123.3(
Finalmente se resuelven las ecuaciones (3.121), (3.122) y (3.123), para encontrar
la fuerza normal al elemento F.
Incógnitas:, FYf1 , CMFNFXu,
Dato: 01 FXf
)124.3(
En el Anexo L, se encuentra el programa que obtiene las fuerzas de reacción del
mecanismo de Whitworth
CÁLCULO DE REACCIONES CAPITULO 3
139
INTRODUCCIÓN CAPÍTULO 4
La síntesis de un mecanismo, puede
decirse que es la etapa más creativa
que tenemos que enfrentar. En parte
porque no existe una única solución,
y por otra parte, tampoco existe una
sola metodología.
La síntesis cinemática, se refiere
básicamente al diseño de
movimientos que un mecanismo debe
efectuar. Y éstos, pueden ser muy
sencillos resueltos de una manera
muy complicada o muy complejos,
resueltos de una manera muy
sencilla. Éstos últimos han
trascendido los tiempos y han sido
herencia de mucho esfuerzo y
creatividad.
Es por tal motivo que al idear un
mecanismo, es buena recomendación
tomarse el tiempo para pensar y
meditar muchas alternativas de cómo
resolver el problema, pues esto
puede facilitar su análisis y puesta en
marcha. Caso contrario cuando se
elige una solución rápida y
comprometedora.
Bien es cierto el comentario de un
profesor con un alto grado de
estudios en Matemáticas, a quien le
pregunté, como los grandes genios
lograron hacer tantos y tan buenos
trabajos, seguramente conocían
demasiadas Matemáticas. Sonriendo
contestó, que no es necesario
conocer tantas Matemáticas o haber
tenido tantos cursos, o incluso haber
estudiado en la mejor universidad, lo
importante es tener la idea de cómo
resolver el problema.
Existen muchos documentos, que
muestran como un mecanismo puede
resolver un cierto tipo de problema.
Éstos son los que generalmente son
enseñados en las aulas de clase. Así
también, se ha intentado generalizar
un método para enfrentar los
problemas. Sin embargo no existe un
estándar o un listado de pasos que
aseguren la solución, por otro lado la
imaginación no tiene límite.
Índice. 4.1 Máquina Herramienta: Cepillo
4.2 Especificaciones de diseño
4.3 Síntesis cinemática
4.4 Clasificación de la síntesis cinemática
4.5 Condiciones de diseño en la síntesis
cinemática
4.6 Síntesis cinemática del mecanismo de
Whitworth
4.6.1 Manivela-Biela-Corredera
4.6.2 Ventaja mecánica
4.6.3 Modelo cinemático
4.6.4 Inversión cinemática
4.6.5 Mecanismo de retorno rápido
4.6.6 Dimensionamiento del mecanismo de
retorno rápido
SÍNTESIS CINEMÁTICA
141
El cepillo para metales tuvo su origen en el año 1836 aproximadamente, y se creó
en base a la necesidad de obtener superficies planas, sin embargo puede generar
también superficies curvas combinando sus movimientos principales: Horizontal,
vertical y transversal. [1]
El cepillado es una operación mecánica relativamente sencilla de corte con
desprendimiento de viruta, que utiliza un buril como herramienta.
Existen distintos tipos de cepillos:
Cepillo de codo
Cepillo de mesa
Cepillo de fosa
Cepillo universal
Cepillo vertical
El cepillo de codo también conocido como limadora, es el más utilizado por ser de
los más pequeños ya que la máxima carrera de este cepillo es de 1.5 m
aproximadamente; En este tipo de máquina la herramienta se desplaza
longitudinalmente en un movimiento de vaivén y la pieza permanece fija en la
mesa.
El cepillo de mesa, es de mayor tamaño y su capacidad se mide en función de la
longitud de la mesa que fluctúa entre 1 y 3.5 metros aproximadamente. La mesa
que porta la pieza, se desplaza a lo largo de la base sobre unas guías en V. Las
herramientas que son 3 ó 4 van colocadas en la parte superior y a los lados de la
mesa y si se requiere pueden trabajar todas simultáneamente.
El cepillo de fosa es el cepillo más grande que se fabrica, la dimensión de su mesa
puede ser de 4 metros de ancho y hasta 10 metros de longitud. Las herramientas
que son del tipo universal van montadas en el travesaño que se desplaza a lo
largo de la mesa sobre dos guías situadas a los costados.
MÁQUINA HERRAMIENTA: CEPILLO CAPÍTULO 4
142
El cepillo universal no es en sí un tipo determinado, sino que a un cepillo se le
llama universal cuando sus herramientas pueden cortar material en las dos
carreras, avance y retroceso, por medio de un mecanismo de doble herramienta
por cada portaherramientas o bien que la herramienta gire 180° cada vez que se
cambia el sentido del movimiento, este tipo de porta herramientas lo tienen todos
los cepillos de fosa y los cepillos grandes del tipo de mesa.
Cepillo vertical conocido también como arboladora, o perfiladora vertical, como su
nombre lo indica, el movimiento principal del carro se desplaza recíprocamente en
posición vertical. Su mesa está colocada abajo del carro y perpendicularmente,
además de tener un giro de 360°, es circular y está graduada en grados por medio
de una escala vernier.[2]
Constitución de un cepillo de codo
1. Base. Soporta toda la máquina y va anclada al piso.
2. Bastidor. Es la estructura donde se montan todos los mecanismos de
transmisión, el carro, la mesa y el motor.
3. Mesa. Va montada en la parte frontal del cepillo, es soportada por el travesaño
que va sujeto a las guías verticales del bastidor y el tornillo que regula la
altura. La mesa tiene movimiento vertical, transversal y giratorio, cuenta con
ranuras para el montaje de accesorios de sujeción o directamente de las
piezas.
4. Carro. Conocido también como carnero, va montado en la parte superior del
bastidor en unas guías en cola de milano o en V lateral. Su lubricación debe
ser continua. En su extremo frontal lleva el cabezal porta herramientas. Esta
parte realiza la función principal de la máquina, con su movimiento de vaivén
proporcionado por un mecanismo de brazo oscilante o hidráulico.
5. Mecanismo de transmisión de movimiento automático a la mesa. Montado
en la parte izquierda de la máquina, que por medio de un excéntrico, trinquete
y corona realiza los avances automáticos de alimentación de la mesa.
6. Motor. Montado en la parte interna del bastidor, proporciona todos los
movimientos a la máquina.
7. Cabezal portaherramientas. Montado en el extremo frontal del carro, tiene un
movimiento de giro y desplazamiento para proporcionar profundidad de corte a
la herramienta. [2]
MÁQUINA HERRAMIENTA: CEPILLO CAPÍTULO 4
143
Para evitar que los filos de la herramienta se desportillen o rompan en el
movimiento de regreso, las herramientas se inclinan o se elevan mecánica o
hidráulicamente para alejarse de la pieza. A causa de la longitud de la pieza, es
esencial equipar a las herramientas con rompedores de viruta.
En los cepillos, las velocidades de corte pueden llegar a 120m/min (400 pies/min)
y las capacidades a 110 kW (150hP). Las velocidades recomendadas son de 3 a 6
m/min (10 a 20 pies/min) para las fundiciones de hierro y aceros inoxidables, y
hasta 90 m/min (300 pies/min) para aleaciones de aluminio y magnesio. Los
avances suelen estar entre 0.5 y 3 mm/pasada (0.02 a 0.125 pulg/pasada). Los
materiales más comunes de herramienta son los aceros para alta velocidad M2 y
M3 y los carburos C-2 y C-6 [1]
La velocidad de la limadora se determina por tres factores.
A. El material que se mecaniza: hierro fundido, acero de máquinas o aluminio
B. El material utilizado en la fabricación de la herramienta: acero rápido,
aleaciones especiales o carburo aglomerado.
C. La profundidad del corte. Las pasadas de desbaste se efectúan con más
lentitud que las de acabado. [3]
La acción de corte de la limadora es intermitente; la herramienta se mueve
lentamente en la carrera de corte (movimiento hacia delante) y retorna
rápidamente. Debe recordarse que las rpm de la rueda de manivela son
invariables una vez realizado el ajuste. La relación entre las carreras de avance y
de retroceso es aproximadamente 1:1.5 ó 2:3, variando ligeramente con la longitud
de carrera. Para obtener el número correcto de carreras por minuto, hay que
multiplicar la velocidad de corte en pies/minuto por 7 y dividir el producto por la
longitud de la carrera en pulgadas; o bien, hay que multiplicar la velocidad de corte
en m/min por 583 y dividir el producto por la longitud en m/min. Así, si N es el
número de carreras por minuto; V, la velocidad de corte del metal, y L, la longitud
de la carrera, se tendrá. [3]
)(
583*min)/(
lg)(
7*min)/(
mmL
mV
puL
piesVN
MÁQUINA HERRAMIENTA: CEPILLO CAPÍTULO 4
144
Que puede escribirse como: [2]
)(
)(
T
iC
TL
TVN
N. Número de carreras por minuto.
Vc Velocidad de corte en (metros/pies) por minuto
L Longitud de la carrera en (mm/pulgadas)
Ti Tiempo de la carrera de trabajo
Tt Tiempo total de las dos carreras.
Una relación de velocidades 1:1.5 significa que el retroceso es 1.5 veces mas
rápido que el tiempo de corte, o que el corte toma 1.5 veces más de tiempo que el
regreso. Esta relación puede también escribirse como 2:3, pues al dividir 3/2, nos
da la relación de 1.5.
Usando la nomenclatura 2:3, entendemos que el cepillo esta tomando 3/5 partes
del tiempo de carrera para corte y 2/5 partes del tiempo para el regreso [4]
6.05
3
T
i
T
T
Multiplicando por un factor de 12, para transformar pulgadas en pies, nos da un
factor de conversión de 7.2 en el sistema inglés, y por un factor de 1000, para
transformar mm en m, nos da un factor de conversión de 600 para el sistema
métrico
Sin embargo, los manuales de operación del cepillo de codo, utilizan como
factores de conversión: 7 para sistema inglés y 583 para sistema métrico.
La Tabla 4.1 Muestra la velocidad de corte para distintos materiales, basadas en
una alimentación de 0.012 pulgadas por carrera y una profundidad de corte de
0.125 pulgadas [4]
MÁQUINA HERRAMIENTA: CEPILLO CAPÍTULO 4
145
MÁQUINA HERRAMIENTA: CEPILLO CAPÍTULO 4
Hardness HBCutting
Speed fpm
100 to 125 110
125 to 175 110
175 to 220 90
120 to 170 100
170 to 200 85
200 to 240 75
240 to 300 65
160 to 200 90
200 to 240 75
240 to 300 60
300 to 375 30
150 to 175 100
175 to 225 90
225 to 325 55
325 to 375 40
375 to 425 25
175 to 225 60
225 to 325 50
110 to 140 120
140 to 190 100
190 to 220 75
220 to 260 50
260 to 320 30
100
150 to 200 110
200 to 250 40
150 to 200 85
200 to 250 75
250 to 350 30
150 to 200 60
200 to 250 50
160 to 220 60
120 to 180 75
150 to 200 60
180 to 250 60
220 to 280 30
High-Speed Steel M3 Type I, M4, M7, M30, M33,
M34, M35, M36, M41, M42, M43, M44, T4, T5, T8220 to 280 50
High-Speed Steel M15, T9, T15, M3 Type 2
RECOMMENDED CUTTING SPEEDS FOR SHAPING WITH HIGH-SPEED STEEL
Hot-Work Tool Steel H10, H11, H12, H13, H14, H16,
H19
Hot-Work Tool Steel H20, H21, H22, H23, H24, H25,
H41, H42, H43
Shock-Resisting Tool Steel S1, S2,S4,S5, S6, S7
Mold Steels P1, P2, P3, P4, P5, P6
Mold Steels P20, P21
High-Speed Steel M1, M2, M6, M10, T1, T2, T6, T7
140
Commercial Bronze, Phospor Bronze
Water-Hardening Tool Steel W1, W2, W4, W5
Cold-Work Tool Steel A7, D1, D2, D3, D4, D5, D7
Cold-Work Tool Steel A2, A3, A4, A5, A6, A8,
A10,O1, O2, O6, O7200 to 250 60
Alloy Steel
Maraging Steel
Gray Cast Iron
ASTM Class 20, ASTM Class 30, ASTM Class 40, ASTM
Class 50, and ASTM Class 60
Naval Brass, Red Brass, Yellow Brass, Nickel Silver,
Manganese bronze, Muntz Metal
MATERIAL
AISI 1012, AISI 1019, and AISI 1020 Steel
AISI 1030, AISI 1040, and AISI 1050 Steel
AISI 1060, AISI 1080, AISI 1090 and AISI 1095 Steel
146
Tabla 4.2 Muestra velocidades de materiales para desbaste y acabado.
En caso de maquinar plásticos, se debe tomar en cuenta:
Su expansión térmica es hasta 10 veces mayor que la de los metales
Disipa el calor muy lentamente, evitar sobrecalentamientos.
El reblandecimiento y fusión de los plásticos se da a temperaturas más bajas
que los metales.
Los plásticos son mucho más elásticos que los metales.
Se recomienda el uso de herramientas de carburo adecuadamente afiladas y
pulidas, para optimizar su propia vida útil y el acabado superficial de las piezas.
El ángulo de incidencia de las herramientas debe ser más agudo que cuando se
maquinan metales para minimizar la superficie de contacto entre éstas y la
pieza.
Asegúrese de que la herramienta tenga un adecuado ángulo de salida para
facilitar la expulsión de la rebaba.
Sujete la pieza, de tal forma que se restrinja su deflexión fuera del alcance de la
herramienta y evite el dañar la pieza.
Las tolerancias de maquinado aplicables a termoplásticos, en general son
considerablemente más amplias que las de los metales, debido a su mayor
coeficiente de dilatación térmica, absorción de humedad y a las deformaciones
producidas por la liberación de tensiones internas que se originan durante y
después de su maquinado. Como regla general para piezas torneadas o fresadas,
se pueden aplicar tolerancias de maquinado de 0.1 a 0.2 % en relación a su
medida nominal.
Los refrigerantes son generalmente innecesarios para la mayoría de las
operaciones, excepto para el taladrado, pero pueden usarse para obtener mejores
acabados superficiales y tolerancias más cerradas. Los refrigerantes sugeridos
son los solubles al agua y los no aromáticos. Durante el proceso de corte el
enfriamiento con aire comprimido es muy efectivo. [5]
MÁQUINA HERRAMIENTA: CEPILLO CAPÍTULO 4
pies/min m/min pies/min m/min
Hierro fundido 60 18 100 30
Acero 0,10 a 0,20 C 80 24 120 36
Acero 0,20 a 0,40 C 60 18 100 30
Acero de matrices 40 12 40 12
Bronce Duro 60 18 100 30
Latón 150 45
Alumnio 150 45
MaterialDesbastado Acabado
Velocidad Máxima
Velocidad Máxima
147
Longitud de carrera del carro 0’’ a 8’’ 200mm
Carreras por minuto Aprox. 35, 60, 100, 160
Máxima velocidad de corte Aprox. 107 pies/min
Carrera vertical de herramienta 3 ½’’
Movimiento de giro de la herramienta 360°
Tamaño del sujetador de herramienta 7/16’’ x 7/8’’
Longitud de la mesa 7’’
Ancho de la mesa 5 ¾’’
Altura de la mesa 7’’
Carrera horizontal de la mesa 9’’
Carrera vertical de la mesa 6’’
Distancia de la mesa al carro ½’’ a 6 ½’’
Alimentación 0.0025’’, 0.005’’, 0.0075’’, 0.010’’,
0.125’’ [6]
Relación de velocidad 1.5
Fuerza de Corte 400N
Ranuras de la mesa 5/16’’
ESPECIFICACIONES DE DISEÑO CAPÍTULO 4
149
Reuleaux (1875), sentó las bases de la cinemática moderna, otorgando una
identidad propia al concepto de síntesis de mecanismos.
Watt, patentó en 1769 la máquina de vapor de ciclo completo, a partir del diseño
de la máquina de vapor atmosférica de Newcome, fue el verdadero precursor de la
síntesis de mecanismos (Strandh, 1982). Al diseñar la máquina se enfrentó al
problema de lograr que el émbolo o pistón se moviera verticalmente en línea recta
sin romperse, pese a estar conectado a un balancín cuyo extremo se movía en
línea curva. Watt diseñó un sistema en el cual dos palancas articuladas guiaban al
vástago, formando un paralelogramo que se movía al funcionar la máquina,
resolviendo así el problema del movimiento rectilíneo de un punto del eslabón
acoplador del cuadrilátero articulado.
Chebychev, hizo importantes aportaciones a la síntesis de mecanismos, entre las
cuáles destacan el teorema de la triple generación de curvas del acoplador y la
teoría de aproximación polinomial de curvas, que empleó en la generación de una
amplia variedad de mecanismos con error mínimo.
Casi paralelamente en Alemania, Burmester elabora una colección de métodos
geométricos de síntesis de mecanismos más importantes utilizados en la época y
utiliza métodos de geometría proyectiva para resolver el problema de guiado de
biela con trayectoria rectilínea. También elabora una teoría para la síntesis
dimensional de mecanismos planos con posicionamiento de puntos sobre una
trayectoria curva, dando origen a lo que en la actualidad se conoce como síntesis
dimensional, o síntesis de Burmester.
Gruebler, aporta diversos teoremas para la determinación de la movilidad de los
mecanismos, originando de algún modo la síntesis de número.
Freudenstein (1955-1956), publica los primeros trabajos en síntesis cinemática de
mecanismos por computador, centrada en la resolución del problema de
generación de funciones en el cuadrilátero articulado, planteándolo como un
problema de síntesis con puntos de precisión
La mayoría de los trabajos publicados sobre síntesis cinemática no abordan el
problema general de la síntesis de mecanismos, sino que plantean la resolución
de problemas muy concretos, utilizando formulaciones especialmente adaptadas y
que son muy poco generalizables. [7]
SÍNTESIS CINEMÁTICA CAPÍTULO 4
151
Síntesis de tipo o de Reuleaux.
Se refiere a la clase de mecanismo seleccionado; podría ser un eslabonamiento,
un sistema de engranes, bandas y poleas o un sistema de levas. [8]
Trata de determinar la tipología de los eslabones a utilizar (barras, levas,
engranajes, etc.) y pares que los unen, en función de los criterios de equivalencia,
idoneidad y de diversas cualidades de los mecanismos a conseguir. [9]
Síntesis de número o de Grubbler
Se ocupa del número de eslabones y de articulaciones o pares que se requieren
para obtener una movilidad determinada. [8]
Estudia los grados de libertad de la cadena cinemática, inversiones, isomorfismos,
posibles configuraciones de un número de barras dado, de movilidad dada, etc. [9]
Las dos síntesis anteriores unidas se conocen como síntesis estructural.
Síntesis dimensional
Se refiere a la determinación de las dimensiones de los eslabones individuales. [8]
Una vez realizada las síntesis de tipo y de número, se inicia la síntesis
dimensional de la que se puede hacer la clasificación siguiente:
Síntesis dimensional o de Burmester
Aunque en principio se asignaba esta denominación a los trabajos tendientes a
obtener las dimensiones de las barras de un mecanismo, actualmente se
reserva a las síntesis geométrico-planas que elaboró Burmester.
Síntesis de generación de funciones o de coordinación de barra.
El objetivo se plantea como una relación entre varias posiciones de eslabones
de entrada y salida. Se suele referir a un número finito de posiciones. [9]
Una de las necesidades frecuentes en el diseño es la de hacer que un elemento
de salida gire, oscile, o tenga un movimiento alternativo, según una función del
tiempo, o bien, una función del movimiento de entrada especificada. [8]
CLASIFICACIÓN DE LA SÍNTESIS CINEMÁTICA CAPÍTULO 4
152
Síntesis de generación de trayectorias
Trata de situar algún o algunos puntos de los eslabones de un mecanismo a lo
largo de una trayectoria. [9]
Es aquella en la que un punto del acoplador debe generar una trayectoria que
tenga una forma prescrita. Un arco circular, elíptico o una recta [8]
Síntesis de puntos de precisión
En esta síntesis se pretende que se cumplan las exigencias de diseño en unos
puntos determinados. Se puede considerar una variante del anterior.
Síntesis de guiado de cuerpo rígido
El problema se plantea no como obtención de una serie de puntos, sino como
situación y orientación de uno de los eslabones del mecanismo. [9]
El interés reside en mover un objeto de una posición a otra. El problema puede
ser una traslación simple o una combinación de traslación y rotación. [8]
Síntesis de Chebyshev
Se mide la desviación entre la función generada por el mecanismo y la
perseguida a través de los polinomios de Chebyshev.
Síntesis por tanteo gráfico o método “overlay”
Consiste en la búsqueda de la solución mediante procesos de tanteo que se
ayudan de elementos auxiliares como gráficos. Su principal ventaja es la
sencillez.
Síntesis cinemáticas
En este tipo de síntesis, se incluyen exigencias de tipo cinemático, como posición,
valores de velocidad y aceleraciones. A este tipo de síntesis pertenecerían todas
las citadas anteriormente [9]
Síntesis analíticas, gráficas, grafo-analíticas
Se clasifica la síntesis según la herramienta de cálculo utilizada sea analítica,
gráfica o una mezcla de ambas.
CLASIFICACIÓN DE LA SÍNTESIS CINEMÁTICA CAPÍTULO 4
153
Síntesis planas y espaciales
Según sea el ámbito del movimiento del mecanismo al que se aplica la síntesis en
el plano o en el espacio
Síntesis exactas
Este tipo de síntesis supone la existencia de, al menos, una solución que haga
posible el cumplimiento de todas las exigencias de diseño.
Síntesis aproximadas
Cuando, a diferencia del caso anterior, no se dispone de una solución que cumpla
todas las exigencias de diseño, se trata de aproximar en lo posible los resultados a
los objetivos propuestos.
Síntesis óptima
Cuando en la síntesis exacta se tiene varias o infinitas soluciones o en la síntesis
aproximada no se tiene ninguna solución exacta, se puede, desde algún punto de
vista, fijar una función objetivo que en la síntesis óptima se puede minimizar o
maximizar utilizando técnicas de optimización.
Optimización dinámica
Reciben este nombre las síntesis en las que se engloban objetivos dinámicos
como minimización de fuerzas de inercia, de fuerzas de restricción, pares motores,
etc. [9]
CLASIFICACIÓN DE LA SÍNTESIS DE MECANISMOS CAPÍTULO 4
155
Como se mencionó anteriormente, existen diversas técnicas para la síntesis de
mecanismos. En [8], se plantea el desarrollo de muchas de ellas y aunque son
muy particulares, se rescatan ciertas condiciones que son muy útiles en el
desarrollo de la síntesis dimensional del mecanismo de Whitworth.
Posiciones de precisión: Espaciamiento de Chebychev
Si 2 es la posición angular del eslabón 2 en un eslabonamiento de cuatro barras,
y 4 es la posición angular del eslabón 4, entonces uno de los problemas de la
síntesis cinemática es encontrar las dimensiones del eslabonamiento de tal
manera que: )( 24 f
En donde f es cualquier relación funcional deseada.
Se especifican n valores para 2 , llamados puntos de precisión, y se trata de
encontrar un eslabonamiento que satisfaga la relación deseada para la función de
síntesis. Si el proceso tiene éxito, la relación funcional se satisface para estos
puntos; pero ocurrirán desviaciones en otros. Para muchas funciones, el error más
grande se puede mantener a un nivel inferior al 4%.
Entre los puntos se presentarán desviaciones conocidas con el nombre de errores
estructurales. Uno de los problemas del diseño de eslabonamiento, consiste en
seleccionar un conjunto de puntos de precisión para utilizarlos en la síntesis, de tal
modo que se minimice el error estructural.
Como primer tanteo, el mejor espaciamiento de estos puntos es el llamado
espaciamiento de Chebychev. Para n puntos en el intervalo 10 nxxx el
espaciamiento Chebychev, según Freudenstein y Sandor, es
n
jxxxxx nnj
2
12cos
2
1
2
10110
j=1,2,…, n
CONDICIONES DE DISEÑO EN LA SÍNTESIS CINEMÁTICA CAPÍTULO 4
156
En donde jx son los puntos de precisión. [8]
Síntesis de posición del mecanismo general de corredera y manivela.
El mecanismo centrado de corredera y manivela, tiene una carrera B1B2 igual al
doble del radio de la manivela, r2. B1 y B2 son llamadas también posiciones límite,
de la corredera.
En general, el mecanismo centrado de corredera y manivela debe tener a la biela
más grande que la manivela
Así mismo, un mecanismo corredera y manivela no centrada se denomina
mecanismo general o excéntrico de corredera y manivela. Se pueden obtener
ciertos efectos especiales, cambiando la distancia de excentricidad e. Por ejemplo,
la carrera B1B2 siempre es mayor que el doble del radio de la manivela.
Asimismo, el ángulo de la manivela requerido para ejecutar la carrera hacia
delante es diferente del que corresponde a la carrera de retroceso. Se puede
aplicar esta característica para sintetizar los mecanismos de retorno rápido, en los
que se desea una carrera de trabajo más lenta. [8]
Mecanismos de manivela-oscilador con ángulo óptimo de transmisión.
Brodell y Soni han desarrollado un método analítico para sintetizar el
eslabonamiento de manivela y oscilador en el que la razón de tiempos sea Q=1. El
diseño satisface también la condición.
maxmin 180
En donde es el ángulo de transmisión.
Estos investigadores afirman que el ángulo de transmisión debe ser mayor que
30° para lograr un movimiento de buena “calidad” e incluso mayor, cuando se
manejan velocidades elevadas.
La síntesis de un mecanismo de manivela y oscilador para el ángulo de
transmisión óptimo, cuando la razón de tiempos no es la unidad, es más difícil.
Hall, y también Soni, explican un método ordenado para lograr esto.
CONDICIONES DE DISEÑO EN LA SÍNTESIS CINEMÁTICA CAPÍTULO 4
157
Fig. 4.1 Posición de agarrotamiento
Ley de Grashof
Una de las consideraciones de mayor importancia cuando se diseña un
mecanismo que se impulsará con un motor, es asegurarse de que la manivela
pueda realizar una revolución completa. Cuando se trata de un eslabonamiento de
cuatro barras, existe una prueba muy sencilla para saber si se presenta este caso.
La ley de Grashof afirma que, para un eslabonamiento plano de cuatro barras, la
suma de las longitudes más corta y más larga de los eslabones no puede ser
mayor que la suma de las longitudes de los dos eslabones restantes, si se desea
que exista una rotación relativa continua entre dos elementos.
balongshort rrrr
shortr Longitud del eslabón más corto
longr Longitud del eslabón más largo
ba rr , Longitudes de los eslabones restantes.
Al cumplir esta condición, se evita el agarrotamiento.
Toggle Positions (Agarrotamiento)
Estas posiciones son indeseables pues evitan que el eslabonamiento se mueva
desde una posición deseada a otra. Sin embargo, en algunas circunstancias son
bastante útiles para generar un auto-bloqueo.
CONDICIONES DE DISEÑO EN LA SÍNTESIS CINEMÁTICA CAPÍTULO 4
159
Fig. 4.2 Mecanismo de retorno rápido de
Whitworth
Fig. 4.3 Mecanismo Manivela Biela
Corredera Fig. 4.4 Inversión del mecanismo
Manivela Biela Corredera
El mecanismo de Whitworth presentado, consta de dos mecanismos acoplados. El
primero es un mecanismo de manivela-biela-corredera (crank-coupler-slider) y el
segundo es una inversión de éste, cuya función consiste en proporcionar al
mecanismo dos diferentes velocidades, una de avance y otra de retroceso. Para
su estudio, se trabaja primero con el mecanismo de manivela-biela-corredera
siguiendo las especificaciones de diseño, para después acoplar el mecanismo que
definirá la distribución de tiempo de avance y retroceso.
El estudio presenta una síntesis del tipo: Síntesis de guiado de cuerpo rígido.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
161
Fig. 4.5 Mecanismo Manivela Biela
Corredera
El mecanismo de manivela biela corredera, es un mecanismo de un grado de
libertad que es aplicado en un sin número de máquinas, como son en
compresores, motores, máquinas herramienta, seguros de puertas, etc. Por lo que
las recomendaciones de síntesis se encuentran en libros o manuales de
mecánica.
En primer lugar, se toma en cuenta la distancia m y se plantean sus efectos. Si la
distancia m es igual a la distancia h, entonces se dice que el mecanismo está en
línea; causando que el tiempo de recorrido de avance sea igual al tiempo de
recorrido de retorno. Sin embargo, si son diferentes, los tiempos de recorridos de
avance y retorno serán diferentes; causando el efecto de retorno rápido.
Como el problema ha sido planteado para que un segundo mecanismo acoplado,
cause el efecto de retorno rápido, entonces: hm .
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
162
Fig. 4.6 Aceleración corredera R/L 0.2 Fig. 4.7 Aceleración corredera R/L 0.3
Fig. 4.8 Aceleración corredera R/L 0.7
En [8], se recomienda que la manivela sea la mitad de la longitud de la carrera.
Por tanto:
Carrera (Stroke) 8 plg
Manivela (Crank) 4 plg
En [11] Se recomienda que la longitud de la biela sea más grande que la
manivela, para producir aceleraciones suaves. ManivelaBiela
Rule of Thumb: ManivelaBiela 4
En working model, se modeló un mecanismo de Manivela-Biela con diferentes
relaciones de longitudes entre la Biela (L) y la manivela (R), con una velocidad de
entrada constante de 100°/s. Las siguientes gráficas muestran la aceleración de la
corredera. Es apreciable que una relación de longitudes (R/L) más pequeña,
causa curvas de aceleración más suaves.
Dimensiones, seleccionadas para el
mecanismo de Manivela-Biela-Corredera
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
Tabla 4.3 Dimensiones Manivela-Biela-Corredera
Carrera 8 plg 203.2mm
Manivela 4 plg 101.6mm
Biela 12 plg 304.8mm
R/L 0.3
m h
Manivela-Biela-Corredera
163
Fig. 4.9 Ángulo de Transmisión
La ventaja mecánica de un eslabonamiento es la razón del momento de torsión de
salida ejercido por el eslabón impulsado, al momento de torsión de entrada que se
necesita en el impulsor.
En el eslabonamiento de 4 barras, la ventaja mecánica es directamente
proporcional al seno del ángulo comprendido entre el acoplador y el seguidor, e
inversamente proporcional al seno del ángulo formado por el acoplador y el
impulsor. Por supuesto, estos dos ángulos y, por ende, la ventaja mecánica
cambian en forma continua conforme se mueve el eslabonamiento.
El ángulo entre el acoplador y el seguidor se llama ángulo de transmisión.
Conforme este disminuye, la ventaja mecánica se reduce e incluso una cantidad
pequeña de fricción hará que el mecanismo se cierre o se trabe. Una regla
práctica común es que el eslabonamiento de cuatro barras no se debe usar en la
región en la que el ángulo de transmisión sea menor que, 45 o 50°. [8]
Ángulo mínimo de transmisión para las longitudes:
Manivela 4 plg
Biela 12 plg
5424.72
Entre más larga es la biela, el ángulo de transmisión aumenta.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
165
Posición
)sin()sin( LR (4.1)
)cos()cos( LRx (4.2)
Derivando con respecto al tiempo 4.1
)cos()cos(
L
R (4.3)
Rescribiendo la ecuación 4.1
)(sin)(sin 22
2
L
R (4.4)
)(cos1 2
Resolviendo para cos( )
2/1
2
2
)(sin1)cos(
L
R (4.5)
Siendo
, la ecuación 4.3 y 4.5 se pueden combinar para formar:
2/122
)(sin/1
)cos()/(
LR
LR (4.6)
Derivando la ecuación 4.2 con respecto al tiempo
)sin()sin(
L
R
L
x (4.7)
Sustituyendo la ecuación 4.1 en 4.7, nos da la velocidad lineal de la corredera.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
166
)sin(1
L
R
L
x (4.8)
Derivando la ecuación 4.3 con respecto al tiempo.
)sin()cos()cos()sin( 2
2
L
R
L
R (4.9)
Si
es constante, entonces 0
. Los valores de )cos( de la ecuación 4.5,
)sin( de la ecuación 4.1 y
de la ecuación 4.6, se sustituyen en 4.9, para dar la
aceleración angular de la biela.
2/322
22
)(sin)/(1
1)/()sin()/(
LR
LRLR
(4.10)
Derivando la ecuación 4.7, con respecto al tiempo
)cos()()sin()cos()sin( 2
2
L
R
L
R
L
x (4.11)
Sustituyendo el valor de
de la ecuación 4.6, sin(α) de la ecuación 4.4, cos(α) de
la ecuación 4.5 y
de la ecuación 4.10 en 4.11, nos da la aceleración de la
corredera.
)cos()sin()cos(2
2
L
R
L
x (4.12)
90
90
Para algunas relaciones de longitud (R/L), existen tablas que permiten visualizar el
comportamiento del mecanismo manivela-biela-corredera. [12]
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
167
Tabla 4.4 (R/L)=0.3
ɣ, deg α, deg α'/w x'/wL α''/w^2 x''/w^2L
0 0.000 0.3000 -0.000 0.0000 0.3900
5 1498 0.2990 -0.0340 -0.0238 0.3876
10 2986 0.2958 -0.0675 -0.0476 0.3804
15 4453 0.2907 -0.1002 -0.0713 0.3685
20 5889 0.2834 -0.1317 -0.0949 0.3520
25 7283 0.2741 -0.1615 -0.1182 0.3314
30 8626 0.2628 -0.1894 -0.1412 0.3069
35 9908 0.2495 -0.2150 -0.1636 0.2789
40 11118 0.2342 -0.2380 -0.1857 0.2478
45 12247 0.2171 -0.2581 -0.2068 0.2143
50 13286 0.1981 -0.2753 -0.2269 0.1789
55 14225 0.1775 -0.2894 -0.2455 0.1423
60 15058 0.1553 -0.3002 -0.2626 0.1051
65 15776 0.1317 -0.3077 -0.2776 0.0680
70 16374 0.1069 -0.3120 -0.2905 0.0317
75 16844 0.0811 -0.3133 -0.3008 -0.0032
80 17184 0.0545 -0.3116 -0.3083 -0.0361
85 17389 0.0274 -0.3070 -0.3129 -0.0667
90 17457 0.0000 -0.3000 -0.3145 -0.0943
95 17389 -0.0274 -0.2907 -0.3129 -0.1189
100 17184 -0.0545 -0.2793 -0.3083 -0.1403
105 16844 -0.0811 -0.2663 -0.3008 -0.1585
110 16374 -0.1069 -0.2518 -0.2905 -0.1735
115 15776 -0.1317 -0.2361 -0.2776 -0.1856
120 15058 -0.1553 -0.2194 -0.2626 -0.1949
125 14225 -0.1775 -0.2021 -0.2455 -0.2019
130 13286 -0.1981 -0.1843 -0.2269 -0.2069
135 12247 -0.2171 -0.1661 -0.2068 -0.2099
140 11118 -0.2342 -0.1477 -0.1857 -0.2118
145 9908 -0.2495 -0.1291 -0.1638 -0.2126
150 8626 -0.2628 -0.1106 -0.1412 -0.2127
155 7283 -0.2741 -0.0920 -0.1182 -0.2124
160 5889 -0.2834 -0.0735 -0.09449 -0.2117
165 4453 -0.2907 -0.0551 -0.0713 -0.2111
170 2986 -0.2958 -0.0367 -0.0476 -0.2105
175 1493 -0.2990 -0.0183 -0.0238 -0.2101
180 0.000 -0.300 -0.0000 -0.0000 -0.2100
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
169
Fig. 4.10 Mecanismo Biela-Manivela
Inversiones
Inversión #1 Inversión #2 Inversión #3 Inversión #4
Un conjunto de eslabones conectados, en los cuales no se ha seleccionado un
eslabón de referencia, es llamado cadena cinemática. Cuando se eligen diferentes
eslabones como referencias para una cadena cinemática dada, los movimientos
relativos entre los distintos eslabones no se alteran; pero sus movimientos
absolutos, que se miden desde el eslabón de referencia, pueden cambiar
drásticamente. [8]
La inversión cinemática se refiere a elegir como referencia diferentes eslabones de
una cadena cinemática.
Existen tantas inversiones, como eslabones que se tengan en el mecanismo. Así
un mecanismo de n eslabones, tendrá n inversiones posibles. El mecanismo de
biela manivela corredera, al tener 4 eslabones, tiene también cuatro inversiones.
Inversión #1
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
170
Fig. 4.11 Inversión #2 Mecanismo de
Manivela-Biela-Corredera
Inversión #1:
Esta inversión cinemática es la más común, puesto que su aplicación más
significativa está presente en el movimiento repetitivo de un pistón en el motor de
un auto.
El eslabón 4 se mueve traslacionalmente sobre el eslabón de referencia 1, como
un pistón guiado por el cigüeñal en una cámara de combustión.
Inversión #2:
Se toma el eslabón 2 como referencia, y el eslabón 4 presenta un movimiento
complejo de rotación-traslación. Es la inversión empleada en los mecanismos de
retorno rápido.
Inversión #3:
Se toma al eslabón 3 como referencia, provocando que el eslabón 4 tenga un
movimiento de rotación puro.
Inversión #4:
En esta última inversión se toma como referencia al eslabón 4, y se ocupa en
mecanismos que operan manualmente, como en bombas de aceite.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
171
En muchas aplicaciones, los mecanismos se usan para realizar operaciones
repetitivas tales como empujar, sujetar ó doblar. En estas operaciones repetitivas,
existe por lo común una parte del ciclo en la que el mecanismo se somete a una
carga, llamada carrera de avance o de trabajo y una parte del ciclo conocida como
carrera de retorno en la que el mecanismo no efectúa un trabajo sino que se limita
a devolverse para repetir la operación. [8]
En tales casos, conviene diseñar el mecanismo de tal manera que la carrera de
retorno se realice más rápido que la carrera de avance, es decir, usar una fracción
mayor del ciclo para ejecutar el trabajo que para el retorno.
Una medida apropiada para describir esta relación de velocidades, se define
como:
retornodecarreradetiempo
avancedecarreradetiempoQ
____
____
13.4
Para encontrar la relación de velocidades, se supone que el motor impulsor opera
a velocidad constante. Entonces el primer paso es determinar las dos posiciones
de la manivela, que marcan el principio y el fin de carrera de trabajo. A
continuación, después de observar la dirección de rotación de la manivela, se
mide el ángulo de la manivela que se recorre durante la carrera de avance α y el
ángulo restante de la manivela β, de la carrera de retorno. Luego, si el periodo del
motor es т, entonces:
Tiempo de la carrera de avance=
2
Tiempo de la carrera de retorno=
2
Por tanto:
Q
)14.4(
Nótese que la razón de tiempos de un mecanismo de retorno rápido no depende
de la cantidad de trabajo realizado o incluso de la velocidad del motor impulsado,
sino que es una propiedad geométrica del propio mecanismo.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
172
Fig. 4.12 Ángulo de cambio de velocidad
La relación de velocidades en el mecanismo de Whitworth que se requiere es:
5.1Q
2180
2180
Q (4.15)
90
905.1
Al despejar
5.22
Entonces, el mecanismo planteado tiene que recorrer 8 plg (203.2 mm) de avance,
en el mismo lapso de tiempo que el eslabón BC recorre 2251802 de su
trayectoria.
De la misma forma, el mecanismo tiene que recorrer 8 plg (203.2 mm) de
retroceso, en el mismo lapso de tiempo que el eslabón BC recorre 1352180
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
173
Fig. 4.13 Posiciones límite de eslabón AD
Fig. 4.14 Trayectoria BC inscrita en AD
Es necesario plantear que los cambios de dirección del efector final, también
indiquen el cambio de velocidad entre el avance y el retroceso. Para tal fin, se
plantea que el eslabón AD, tenga la posición de 90 y 270° desde un sistema de
coordenadas local como se muestra; además de proponer a la variable p=0
(distancia horizontal entre los pares A y B)
La trayectoria generada por el movimiento del elemento BC, siempre debe estar
inscrita en la trayectoria AD, pues en caso contrario no es posible construir el
mecanismo.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
174
Fig. 4.15 Ángulo
Fig. 4.16 Trayectoria BC Inicio
Para obtener las ecuaciones necesarias para definir las dimensiones, se comienza
trazando dos líneas que parten del punto B y forman un ángulo con la
horizontal.
Se dibuja la trayectoria del eslabón BC. Y se traza una línea horizontal en las
intersecciones con las líneas dibujadas anteriormente. Además se traza una línea
vertical que parte del punto B, hasta la línea horizontal.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
175
Fig. 4.17 Trayectoria AD
Finalmente, se crea un círculo con base en la intersección de las líneas punteadas
y de un radio tal que toque a la trayectoria BC, en su punto más alejado, con
centro en A.
Se definen las siguientes ecuaciones
BCL
h)sin( (4.16)
ADBC LLh (4.17)
De la ecuación (4.17), se nota que la longitud mínima AD es:
ADBC LLh (4.18)
Y que para el radio BCL , existe solamente una h que cumple con las condiciones
establecidas; esto es con la condición del ángulo , y que los cambios de
dirección también indiquen el tipo de recorrido, de avance o retroceso.
En este caso, sólo es necesario definir la longitud BCL , para conocer las
dimensiones mínimas requeridas para definir el mecanismo.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
176
Fig. 4.18 Trayectoria AD Inicio
En el caso de que se tuviera la longitud ADL y se quisiera definir las dimensiones
del mecanismo, entonces se comienza con la trayectoria conocida y una línea
horizontal que cruce por su centro.
Se combinan las ecuaciones (4.16) y (4.18), para obtener el valor de h máximo.
1)sin(
1max
ADLh
Partiendo del punto A, se dibuja una línea vertical con altura h, y se define el punto
B. Se traza una horizontal en el punto B, y se generan dos líneas con ángulo .
Finalmente se crea un círculo que parte desde el punto B y termina en la
intersección de la línea AD con las líneas con ángulo
Es importante notar que se definió la maxh , por tanto, si se tiene como parámetro la
longitud ADL , es posible elegir una h, mientras se cumpla la condición: max0 hh .
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
177
Fig. 4.19 Mecanismo retorno rápido de Whitworth
A continuación se muestran los resultados de la aceleración del eslabón F, la
corredera, al variar la dimensión de h para una longitud ADL establecida. Así
como aquellos que se obtienen al variar ADL con BCL y h conocidas.
Longitud ADL conocida, variación de h y BCL . Simulación con velocidad de entrada
constante.
En la simulación 1 y 2, se esperaba encontrar una variación en la aceleración del
eslabón F; Sin embargo mientras que la condición max0 hh , se cumpla para
una ADL dada, la cinemática del mecanismo no se altera.
De la misma manera, para una BCL dada, la cinemática del mecanismo no se
altera mientras se cumpla la condición ADBC LLh , como se muestra en la
simulación 3.
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
178
Fig. 4.20 Simulación 1
Simulación1
Datos: mmLAD 6.101"4 , mmh 94.27"1.1max , svelocidad /100
Variable: mmLBC 9.72"874.2
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
179
Fig. 4.21 Simulación 2
Simulación2
Datos: "5.0h mmLAD 6.101"4 svelocidad /100
Variable: mmLBC 19.33"307.1
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
180
Fig. 4.22 Simulación 3
Simulación3
Datos: mmLBC 19.33"307.1 , mmh 7.12"5.0 , svelocidad /100
Variable: mmLAD 8.50"2
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
181
Fig. 4.23 Dimensionamiento del Mecanismo de
retorno rápido
Se dimensionan los eslabones con medidas conocidas, aunque se sacrifique
ligeramente la proporcionalidad de tiempos de avance y retroceso.
Se elige la distancia entre centros, mmh 4.25"1 , para barrenar con broca de 1/2
“.
Con la ecuación 4.16, se encuentra la mmLBC 29.66"61.2 , pero no es una
medida comercial, por lo que se opta por mmLBC 67.66"625.2 que equivale a
una longitud de 2 5/8”=66.67mm.
Ahora, utilizando nuevamente la ecuación (4.16), encontramos 3337.22 , el
cual varía ligeramente del objetivo.
Con la condición mínima de la ecuación 4.18, se obtiene la mmLAD 07.92"625.3 ,
equivalente a 3 5/8”. Pudiendo alargar su longitud a 4”=101.6
SÍNTESIS CINEMÁTICA DEL MECANISMO DE WHITWORTH CAPÍTULO 4
h 1plg 25.4mm
LBC 2 5/8 plg 66.67mm
LAD 4 plg 101.6mm
ɣ 22.33°
Inversión #2 Manivela-Biela Corredera
183
INTRODUCCIÓN CAPÍTULO 5
Es curioso saber que uno de los
métodos para facilitar el control en
una máquina es el balanceo de sus
masas. Debido a que es notorio que
al tener una vida equilibrada facilita
su conducción.
Es importante notar que un ligero
cambio en algún elemento cambia
por completo el comportamiento de
una máquina. Por tanto, siempre hay
que ser cuidadosos en qué tipo de
cambio queremos agregar. Es decir,
si descompensamos la máquina ya
sea por peso o posición causará un
daño en corto o largo plazo, que
reducirá el tiempo de vida, no sólo de
la máquina en sí, si no de aquellas a
su alrededor. En cambio, la manera
en que se balancean las máquinas es
agregar masas en cierta posición, con
el objetivo de minimizar o anular por
completo los efectos de su propio
movimiento.
Los algoritmos de control tratan de
seguir en cada instante los
movimientos de la máquina,
retroalimentando su posición,
velocidad o aceleración y ajustando
los valores para acercarse al
deseado. Este tipo de algoritmos
generalmente se basan en el modelo,
que aunque complicado en la
mayoría de las veces puede ser
simplificado al tener un buen
balanceo de sus componentes. Este
tipo de compromisos trae muchos
beneficios, como son: un menor
trabajo en operaciones y ciclos
máquina, así como facilitar el diseño
e implementación del algoritmo.
En otras palabras, el tener una vida
equilibrada nos beneficia en nuestro
proceder diario, nos libera de tomar
decisiones comprometidas, nos da
una mejor calidad de tiempo y de
recursos. Por otro lado al tomar
decisiones que desbalanceen nuestro
vivir, no sólo afectará nuestra
condición, sino de todos aquellos que
nos rodean.
Índice.
5.1 Diseño mecatrónico
5.2 Diseño para control
5.3 Balanceo en los mecanismos
5.4 Fuerzas y momentos de inercia
5.5 Fuerza de inercia en un rotor
5.6 Fuerzas y momentos de sacudimiento
en un rotor
5.7 Balanceo en un rotor
5.8 Fuerzas y momentos de sacudimiento
en un mecanismo
5.9 Balanceo en un mecanismo
5.10 Balanceo en un mecanismo manivela
Biela Corredera
DISEÑO PARA CONTROL
185
La compañía “Yasakawa Electric” dio a conocer la palabra “Mechatronics” en
1969, definiéndola como: “La palabra mecatrónica está compuesta por “meca” de
mecanismo y “trónica” de electrónica. En otras palabras, se refiere a las
tecnologías y productos desarrollados que incorporarán dispositivos electrónicos
con mayor frecuencia en mecanismos, tan íntimamente y orgánicamente, que
harán imposible distinguir el comienzo de una y el fin de la otra.”
En 1996, Harashima, Tomizuka y Fukuda definieron “Mecatrónica” como:
“Integración sinérgica de la Ingeniería mecánica con electrónica y control
computacional inteligente en el diseño y manufactura de productos y procesos
industriales.”
Así mismo, D.G. Alciatore y M. B. Histand en 1998, propusieron una nueva
definición: “Campo de estudio que involucra el análisis, el diseño, la síntesis y
selección de sistemas que combinan componentes electrónicos y mecánicos con
controles modernos y microprocesadores”
El concepto de “Sinergia”, se define como la habilidad de un grupo de superar aún
a su mejor individuo. Por tanto, la mecatrónica es un enfoque de diseño que utiliza
sinérgicamente la mecánica, electrónica, la teoría de control, la ciencia
computacional, y la tecnología de la información en el desarrollo de sistemas y
productos electromecánicos.
De acuerdo con la sociedad Japonesa para la promoción de máquinas
industriales, en los años 70’s categorizó los sistemas y productos mecatrónicos en
cuatro clases principales.
Clase I: Productos primordialmente mecánicos que incorporan electrónica para
mejorar su funcionalidad. E.g. Máquinas de control numéricos.
Clase II: Clásicos sistemas mecánicos con actualizaciones internas importantes,
incluyendo electrónica, pero sin cambios en la interfaz con el usuario. E.g. La
máquina de coser.
Clase III: Sistemas cuya funcionalidad es similar a los sistemas mecánicos, pero
sus mecanismos internos son remplazados por electrónica. E.g. El reloj digital.
DISEÑO MECATRÓNICO CAPÍTULO 5
186
Clase IV: Productos diseñados con integración sinérgica de la mecánica y
electrónica. Eg. Hornos automáticos.
En el desarrollo clásico de un sistema electromecánico, los componentes
mecánicos y eléctricos son diseñados primero, o seleccionados de forma
separada para luego ser integrados con algún otro hardware o software. Sin
embargo en el enfoque mecátronico todo el sistema electromecánico es diseñado
simultáneamente en una forma integral por un equipo multidisciplinario de
profesionales.
Debido a que un sistema mecatrónico usualmente consiste de varios tipos de
elementos interconectados, hay una conversión de energía, especialmente entre
la energía mecánica y eléctrica. En un sistema electromecánico hay una
interacción o acoplamiento entre la dinámica eléctrica y la mecánica, en la cual
cada una tiene efecto sobre la otra. El acoplamiento dinámico entre varios
componentes de un sistema muestra que es más prudente diseñar sistemas como
un todo, en lugar de diseñar los elementos eléctricos y mecánicos por separado.
Los siguientes problemas pueden ocurrir cuando se diseña en forma separada los
componentes, para después interconectarlos.
1. Las características de operación originales tienden a cambiar.
2. La perfecta compatibilidad de dos componentes diseñados
independientemente es prácticamente imposible.
3. Algunas de las variables externas en los componentes, se vuelven internas
y se esconden como resultado de la interconexión. Lo que genera
problemas potenciales que no pueden ser explícitamente monitoreados. [1]
La Mecatrónica es más una nueva manera de pensar que una disciplina
completamente nueva; ya que todavía necesita de un conocimiento avanzado de
especialistas de distintas disciplinas que integran un equipo de diseño
mecatrónico. La Mecatrónica, entonces es una filosofía de diseño. [2]
Formas de integración
El esquema tradicional de un sistema mecánico-electrónico, consiste en añadir
sensores, actuadores y controladores analógicos o digitales disponibles, a algún
componente mecánico. La limitante de este esquema se muestra en la falta de
sensores y actuadores no adecuados, se necesitan grandes espacios y un
procesamiento relativamente lento de datos.
DISEÑO MECATRÓNICO CAPÍTULO 5
187
La integración dentro de un sistema mecatrónico, puede llevarse a cabo a través
de la integración de componentes y la integración del procesamiento de la
información.
Integración por componentes (Hardware):
Este tipo de integración es el resultado de diseñar un sistema mecatrónico como
un sistema completo, en donde los sensores, actuadores y micro controladores
son tomados en cuenta dentro del proceso de diseño mecánico.
Integración del proceso de información (Software)
Esta integración está basada en funciones de control avanzadas. Esto significa un
procesamiento de señales, incluyendo la solución de tareas con diagnósticos de
falla, optimización, y un proceso general de administración de la información. Las
soluciones resultan ser algoritmos en tiempo real que se adaptan a las
propiedades de los procesos mecánicos, expresados en modelos matemáticos en
forma de características estáticas o ecuaciones diferenciales. Por tanto, un
conocimiento basado en el modelo es necesario; de esta forma los componentes
mecánicos son gobernados en varias formas a través del procesamiento de
información con propiedades inteligentes, posiblemente incluyendo aprendizaje,
formando un proceso adaptativo. [3]
DISEÑO MECATRÓNICO CAPÍTULO 5
189
En 1999, una nueva metodología de diseño mecatrónico fue expuesta en el
trabajo de W.J Zhang, Q. Li, y L.S. Guo, en su trabajo: “Integrated Design of
Mechanical Structure and Control Algorithm for a Programmable Four-Bar
Linkage”.
Este trabajo sugiere una re-distribución de masa de los eslabones de un
mecanismo de 4 barras. Se trata de balancear la fuerza y momento de
sacudimiento “shaking” del mecanismo, con el objetivo de obtener un modelo
dinámico del sistema mucho más simple que facilitará el diseño de un esquema de
control. Se utilizó un control convencional PD (Proporcional-Derivativo) obteniendo
un buen desempeño en el “Tracking Motion” y el comportamiento vibracional del
sistema.
La idea básica de “Tracking motion”, consiste en que los cuadros o “frames” de un
video pueden ser analizados de tal manera que se puede seguir la posición de un
objeto a tráves del tiempo. En otras palabras, “Tracking Motion” se refiere a
analizar ó seguir la posición de un objeto cuadro por cuadro con respecto al
tiempo.
La idea de aplicar el enfoque de “Tracking Motion” a los mecanismos “cerrados”,
que por lo general son sintetizados para realizar un movimiento específico como la
generación de trayectorias o como guías de objetos sólidos, proviene del
problema que se tiene con los mecanismos “abiertos”, para obtener un control
preciso de su efector final, además de no tener mucha rigidez. Estos nuevos
mecanismos “cerrados”, tienen como propósito el poder ser guiados en su
movimiento y velocidad. En otras palabras poder controlar su posición y velocidad
“cuadro por cuadro”.
La dinámica de este tipo de eslabonamiento “cerrado” es generalmente no lineal y
muy compleja debida a la asimetría de la estructura, lo que hace muy compleja la
implementación de un esquema de control.
Se han propuesto varios esquemas de control adaptativos para resolver el
problema. Sin embargo, también se han encontrado buenos resultados al utilizar
una re-distribución de masa con el objetivo de eliminar el término gravitacional en
el modelo dinámico del sistema, simplificando los esquemas de control. A ésta
metodología se le llama: Diseño para el control, “Design for Control” [4].
DESIGN FOR CONTROL CAPÍTULO 5
190
La principal idea de la metodología del diseño mecatrónico es crear un ambiente
de diseño integrado, que permita simultáneamente el diseño de la estructura
mecánica y el algoritmo de control para obtener una sinergia de ellos, y así tener
un mejor resultado.
La esencia del “Diseño para el control”, que es una metodología de diseño
mecatrónico, es diseñar y entender la estructura mecánica de una máquina
considerando facilitar el diseño de un algoritmo de control.
La distribución de masa es determinada con el principio del balanceo de la fuerza
y momento de sacudimiento “Shaking force/moment”. Es conocido que estos dos
fenómenos son dañinos a la estructura donde va montado el mecanismo. Por
tanto, al minimizar la fuerza y momento de sacudimiento simplificamos el modelo
dinámico del sistema y su comportamiento vibratorio.
DESIGN FOR CONTROL CAPÍTULO 5
191
Fig. 5.1 Balanceo estático
El balancear las máquinas, principalmente aquellas que manejan altas
velocidades, trae una reducción de las cargas dinámicas variables que se
presentan en los soportes, además reduce el ruido, el desgaste, la fatiga y mejora
el desempeño de la máquina. Por otro lado, como se vio anteriormente se utiliza
para simplificar el modelo dinámico, ayudando en la implementación de un
algoritmo de control. [5]
Las fuerzas de inercia provocan el sacudimiento de la bancada o soporte de los
mecanismos. Estas fuerzas se pueden minimizar balanceando las fuerzas de
inercia opuestas entre sí de manera que se transmita muy poca o ninguna fuerza a
los soportes de la máquina. Por tanto, el balanceo es la técnica de corregir o
eliminar fuerzas o momentos de inercia indeseables. [6]
El balanceo se puede clasificar en dos tipos: el balanceo dinámico y estático.
El balanceo estático, es un balanceo de fuerzas debidas a la acción de la
gravedad; un rotor rígido, con la flecha tendida sobre vías paralelas horizontales y
bajo la influencia de pesos externos, estará balanceado si bajo la acción de la
gravedad el rotor no gira independientemente de su posición angular. El requisito
para un balanceo estático es que el centro de gravedad del sistema de masas esté
en el eje O-O de rotación. [7]
BALANCEO EN LOS MECANISMOS CAPÍTULO 5
192
El desbalanceo dinámico se debe a las fuerzas de inercia que ocurren durante el
movimiento. Un rotor estáticamente balanceado, no esta balanceado
dinámicamente, debido a los momentos de inercia. Por otro lado, si el rotor está
balanceado dinámicamente también lo esta estáticamente.
El grado al que un rotor se debe balancear dinámicamente depende de la
velocidad a la que va a operar. A pequeñas velocidades es tolerable un pequeño
desbalanceo de masa debido a que la fuerza de inercia que representa el
desbalanceo puede ser pequeña, pero ya que la fuerza desbalanceada aumenta
conforme al cuadrado de la velocidad, el desbalanceo transmitido a los cojinetes
puede ser grande a alta velocidad. [7]
Cualquier eslabón que se encuentre en rotación pura, teóricamente, es
perfectamente balanceable estática y dinámicamente [8]
Existen dos tipos de problemas en el estudio del balanceo. El balanceo de rotores
y el balanceo de masas reciprocantes.
Existen máquinas para determinar el balanceo dinámico, en rotores con engranes
ventiladores o con piezas más grandes como llantas. Estás máquinas pueden
indicar tanto la magnitud como la ubicación del desbalanceo.
La idea de balancear masas reciprocantes, es dejar al centro de masa del sistema
estático; para tal fin se agregan masas que sirven de contrapesos. Entonces el
problema radica en encontrar la ubicación y la magnitud de esas masas. Las
propuestas para resolver el problema de balanceo para masas reciprocantes,
incluyen el balanceo completo, sólo el balanceo del momento, el balanceo parcial
de la fuerza y/o el balanceo parcial del momento.
“Balanceo Completo”
El objetivo de un completo balanceo de la fuerza de sacudimiento, es causar que
la red de fuerzas de sacudimiento en la estructura de soporte del mecanismo se
nulifique. Por tanto, el centro de masa total del mecanismo se mantenga
estacionario.
BALANCEO EN LOS MECANISMOS CAPÍTULO 5
193
Entre las técnicas que se han empleado para lograr este objetivo están las
siguientes:
a) Método de vectores linealmente independientes.
b) Método de balanceo estático.
c) Método de los vectores principales y extensiones.
d) Métodos de leva y mecanismos duplicados.
Método de vectores linealmente independientes.
El balanceo de la fuerza de sacudimiento, se logra al desarrollar un conjunto de
vectores linealmente independientes y dependientes del tiempo. Estos vectores
definen la distribución de la masa y la localización de los centros de masa, de tal
manera que el centro de masa del sistema completo se mantenga estático. Por
tanto, la suma de vectores de las fuerzas transmitidas a la estructura de soporte,
sea cero.
En otras palabras, el método planteado distribuye la masa de los eslabones para
que los términos dependientes del tiempo de las ecuaciones de movimiento del
centro de masa sean cero. Esto es posible sólo si se puede obtener una ecuación
de posición la cual brinde vectores dependientes del tiempo que son linealmente
independientes. [9]
El método de los vectores linealmente independientes, hace que el centro de
masa de un mecanismo sea estacionario, provocando que se anulen los
coeficientes de los términos dependientes del tiempo de la ecuación que describe
la trayectoria del centro total de masa. [6]
Método del balanceo estático
El método remplaza las masas concentradas de los eslabones por sistemas
estáticamente equivalentes de masas. Al añadir contrapesos a los eslabones, los
centros de masa de los eslabones se modifican de tal manera que son llevados a
puntos estacionarios. El centro de masa del sistema entonces, se establece al
encontrar el centro de masa resultante de estas masas estacionarias. [9]
El método del balanceo estático, en el que las masas concentradas de los
eslabones se sustituyen con sistemas de masas que son estáticamente
equivalentes. [6]
BALANCEO EN LOS MECANISMOS CAPÍTULO 5
194
Método de vectores principales y extensiones
Este enfoque comienza al describir el movimiento del centro de masa
analíticamente y después determinar los parámetros que influyen su trayectoria
resultante. El método de los vectores principales describe la posición del centro de
masa total del sistema por medio de vectores direccionados a lo largo de cada uno
de los eslabones. En base a las magnitudes de estos vectores principales, se
pueden añadir eslabones binarios en forma de paralelogramo al mecanismo
original. [9]
El método de los vectores principales, obtiene una expresión analítica para el
centro de masa y luego se manipula para saber cómo se puede influir en su
trayectoria. [6]
Métodos de leva y mecanismos duplicados
Es posible encontrar mecanismos con levas o duplicados para asegurar que el
centro de masa total permanezca estacionario. Estos mecanismos son muy
particulares para cada solución. [9]
Este método se basa en masas impulsadas por levas para mantener estacionario
el centro total de masa.
La adición de un mecanismo duplicado axialmente mediante el cual se hace
estacionario el nuevo centro total combinado. [6]
BALANCEO EN LOS MECANISMOS CAPÍTULO 5
195
Centro de Masa
Al resolver problemas de Ingeniería, se encuentra con frecuencia que las fuerzas
se distribuyen de alguna manera sobre una línea, un área o un volumen. Por lo
general no es muy difícil encontrar la resultante de estas fuerzas distribuidas. Para
tener el mismo efecto, esta resultante debe actuar en el centroide del sistema; de
donde, el centroide de un sistema es un punto en el que se puede considerar que
un sistema de fuerzas distribuidas está concentrado, con el mismo efecto
exactamente. [6]
Momento de Inercia
Otro problema que se presenta a menudo cuando las fuerzas están distribuidas
sobre un área, es el que consiste en calcular su momento en torno a un eje
especificado. Un análisis matemático de este tipo de problema siempre conduce a
una integral. 2)tan( ciadis x diferencial de Área. Esta integral se conoce con el
nombre de momento de inercia del área. Algunas autoridades en la materia
prefieren denominar a esta integral segundo momento del área, afirmando que un
área no puede poseer inercia.
El momento de inercia de un volumen en cambio, es un momento de inercia
verdadero porque un volumen tiene masa. Sin embargo, para distinguirlo del
correspondiente a un área se denomina muy a menudo momento de inercia de
masa.
El momento de inercia refleja la distribución de masa de un cuerpo o de un
sistema de partículas en rotación, respecto a un eje de giro. El momento de inercia
sólo depende de la geometría del cuerpo y de la posición del eje de giro; pero no
depende de las fuerzas que intervienen en el movimiento. [10]
El momento de inercia desempeña un papel análogo al de la masa inercial en el
caso del movimiento rectilíneo y uniforme.
FUERZAS Y MOMENTOS DE INERCIA CAPÍTULO 5
196
Principio de D’Alembert
La suma vectorial de todas las fuerzas externas y las fuerzas de inercia que
actúan sobre un cuerpo rígido es cero. La suma vectorial de todos los momentos
externos y todos los momentos de torsión de inercia que actúan sobre un cuerpo
rígido también es cero por separado.
Fuerzas de Inercia
Para entender el propósito de las fuerzas de inercia y el principio de D’Alembert,
se considera un cuerpo sólido que se encuentra bajo la acción de distintas fuerzas
F1, F2 y F3. Además que la resultante de dichas fuerzas, no pasa por el centro de
masa del cuerpo “G”, sino que se encuentra a una distancia h de él.
En el estudio de la mecánica, se demuestra que el efecto de este sistema de
fuerzas no balanceado es producir aceleraciones lineales y angulares cuyos
valores están dados por:
GmAF (5.1)
IM (5.2)
En donde GA , es la aceleración lineal que tiene el centro de masa del cuerpo y
tiene la misma dirección que la resultante de la suma de fuerzas que actúan en él.
Así mismo, es la aceleración angular del cuerpo. F , es la suma de fuerzas
externas que actúan en el cuerpo y GM es la suma de los momentos externos
junto con los momentos de las fuerzas externas, tomados en torno a G en el plano
del movimiento.
Puesto que en el estudio dinámico de un cuerpo, generalmente los vectores de
aceleración son conocidos. Las ecuaciones (5.1) y (5.2) pueden tomar la siguiente
forma para obtener las fuerzas necesarias para producir dichas aceleraciones.
0GmAF (5.3)
0 IMG (5.4)
FUERZAS Y MOMENTOS DE INERCIA CAPÍTULO 5
197
La ecuación (5.3), afirma que la suma vectorial de todas las fuerzas externas que
actúan sobre un cuerpo, más la fuerza ficticia GmA , es cero. La fuerza ficticia
GmA , recibe el nombre de fuerza de inercia y tiene la misma línea de acción que
GA pero en sentido opuesto.
Del mismo modo, el momento ficticio de la ecuación (5.4) “ I ”, es llamado
momento de inercia. Este momento de torsión, tiene el sentido opuesto al del
vector de aceleración angular .
Las ecuaciones (5.3) y (5.4) son muy útiles cuando se estudia la dinámica de la
maquinaria, porque permiten agregar fuerzas de inercia y momentos de torsión al
sistema extremo de fuerzas y resolver el problema resultante aplicando los
métodos de la estática. [6]
FUERZAS Y MOMENTOS DE INERCIA CAPÍTULO 5
199
Fig. 5.2 Fuerza centrípeta
Fig. 5.3 Fuerza centrífuga
La fuerza centrípeta actúa sobre un objeto en movimiento sobre una trayectoria
curvilínea y que está dirigida hacia el centro de curvatura de la trayectoria.
La fuerza centrípeta se define como:
)( 2RwmFCENTRÍPETA
(5.5)
Del estudio de la mecánica se recordará que la fuerza ficticia de inercia es opuesta
en sentido a la aceleración centrípeta, de donde toma el nombre de fuerza
centrífuga. [7]
La fuerza centrífuga se define como:
)( 2RwmFCENTRIFUGA (5.6)
FUERZA INERCIA EN UN ROTOR CAPÍTULO 5
201
Fig. 5.4 Fuerzas de inercia en un rotor
Fig. 5.5 Momentos de inercia en un rotor
Las fuerzas de sacudimiento en un rotor, tienen su origen en las fuerzas de inercia
que actúan. En un rotor rígido formado por un sistema de tres masas que giran en
un plano transversal alrededor del eje O-O, la sumatoria de fuerzas de inercia que
actúan sobre el rotor se define como:
)( 2RwmF (5.7)
De igual forma, la sumatoria de momentos de inercia que actúan sobre el rotor se
define como:
)( 2mRwaM (5.8)
FUERZAS Y MOMENTOS DE SACUDIMIENTO EN UN ROTOR CAPÍTULO 5
203
Fig. 5.6 Balanceo en un rotor con masas en un solo plano
El objetivo de balancear un rotor es el de minimizar las fuerzas de sacudimiento
causadas por las fuerzas de inercia. Y se logra agregando una masa determinada
en una posición determinada de manera que se transmita muy poca o ninguna
fuerza a los soportes del rotor.
En la siguiente figura se presenta un rotor con 3 masas, cada masa con una
fuerza de inercia centrífuga. Para poder balancear el rotor, es necesario agregar
una masa de balanceo, de tal manera que la sumatoria de fuerzas sea igual a 0.
Para constante, la fuerza de inercia de cualquier masa dada M es igual a 2mRF con dirección y sentido radialmente hacia fuera. Para tener balanceo
la suma vectorial de las fuerzas de inercia del sistema es igual a cero. [7]
02
22
WR
gR
g
WmRF
Por tanto
0)(WR (5.9)
0332211 eeRWRWRWRW
BALANCEO EN UN ROTOR CAPÍTULO 5
204
Fig. 5.7 Balanceo en un rotor con masas. Caso general
El caso más general de distribución de masas rotatorias en un rotor rígido es aquél
en el que las masas se encuentran en varios planos transversales y axiales. [7]
El balanceo de las fuerzas de inercia se logra satisfaciendo la condición
0INERCIAF . Sin embargo, también se requiere el balanceo de los momentos de
dichas fuerzas de inercia. 0INERCIAM
La resultante R de las tres masas desbalanceadas se obtiene de un polígono
vectorial. Aunque a pudiera parecer que el balanceo podría lograr el balanceo con
una sola masa agregada, la condición del balance de momentos muestra que se
requiere un mínimo de dos masas de balanceo. En caso contrario existirá un par
desbalanceado debido a que las fuerzas de inercia de las tres masas no son
colineales.
El balanceo también se puede lograr proporcionando un contrapeso opuesto a
cada masa, o sea un total de tres contrapesos, con la ventaja de que la flexión de
la flecha se reduce casi hasta cero.
Se elige arbitrariamente el plano transversal A-A, con respecto a quien se tomarán
los momentos. Y el Plano B-B, como aquél en donde se desea que esté una masa
de balanceo.
BALANCEO EN UN ROTOR CAPÍTULO 5
205
Fig. 5.8 Centro de masa en un rotor balanceado
Fig. 5.9 Rotor desbalanceado Fig. 5.10 Rotor balanceado
Aun cuando los vectores que señalan los momentos de inercia siguen la regla de
la mano derecha, se representaron en el mismo plano que las fuerzas de inercia.
En el polígono de momentos se parte de los vectores conocidos, generados por
las masas 2m y 3m . El vector que cierra el polígono determina el momento de la bm
Como la distancia ba es conocida, entonces obtenemos el valor de bm .
0)( WRaM AAINERCIA (5.10)
Entonces, se toma como referencia ahora el plano B-B y se supone una masa en
el plano A-A. Siguiendo el mismo principio es posible encontrar el valor de am . [7]
0)( WRbM BBINERCIA (5.11)
Un ejemplo muy sencillo que muestra el propósito del balanceo en un rotor, se
puede representar utilizando un software de simulación.
BALANCEO EN UN ROTOR CAPÍTULO 5
207
Fig. 5.11 Fuerzas y Momentos de
Inercia en un mecanismo de 4 barras
Cuando las fuerzas debidas a la inercia de los eslabones en movimiento y otros
elementos de la misma varían en magnitud o dirección tienden a sacudir o a hacer
vibrar la máquina, por tanto estos efectos reciben el nombre de fuerzas de
sacudimiento.
Si consideramos un eslabonamiento de cuatro barras, suponiendo a los eslabones
2, 3 y 4 elementos móviles y el eslabón 1 es fijo, las fuerzas de inercia asociadas
con los elementos de movimiento son. 22 GAm , 33 GAm , 44 GAm . Obteniendo un
análisis de cuerpo libre de los elementos móviles. [6]
0)()()( 4433221412 GGG AmAmAmFFF (5.12)
Utilizando SF como la fuerza resultante de sacudimiento, se tiene.
4121 FFFS (5.13)
)( 443322 GGGS AmAmAmF (5.14)
En donde:
12F , es la fuerza que ejerce el marco sobre el elemento 2.
14F , es la fuerza que ejerce el marco sobre el elemento 4
21F , es la fuerza que ejerce el elemento 2 sobre el marco
41F , es la fuerza que ejerce el elemento 4 sobre el marco
FUERZAS Y MOMENTOS DE SACUDIMIENTO EN UN MECANISMO CAPÍTULO 5
208
Para determinar el momento de sacudimiento. Ec. (5.15)
0)()()( 1244332244243332222 MIIIAmRAmRAmRM GOGGGGGO
Entonces Ec.(5.16)
443322442433322221 ( IIIAmRAmRAmRMM GOGGGGGS
En donde:
2OM , Momento medido desde el origen 2O
2GR , Vector de posición del origen 2O , al centro de masa 2G
3GR , Vector de posición del origen 2O , al centro de masa 3G
24OGR , Vector de posición del origen 2O , al centro de masa 4G
2I , Segundo momento de Inercia del eslabón 2
3I , Segundo momento de Inercia del eslabón 3
4I , Segundo momento de Inercia del eslabón 4
2 , Velocidad angular del eslabón 2
3 , Velocidad angular del eslabón 3
4 , Velocidad angular del eslabón 4
FUERZAS Y MOMENTOS DE SACUDIMIENTO EN UN MECANISMO CAPÍTULO 5
209
Como se ha presentado, la resultante de todas las fuerzas que actúan en un
cuerpo debido a las fuerzas de inercia es conocida como fuerzas de desbalanceo
o de sacudimiento “shaking”.
Se utiliza el término de balanceo pasivo para describir la atenuación de las fuerzas
y momentos de sacudimiento al añadir o quitar masa de varias porciones de los
eslabones de movimiento. Este tipo de balanceo es por mucho la solución más
simple y menos costosa del problema.
Es importante tener en mente que aun cuando las fuerzas de inercia en un
mecanismo estén balanceadas, aún existen momentos de inercia presentes.
Aunque en muchas aplicaciones el balanceo de las fuerzas de inercia solamente
es aceptable, se debe reconocer que la suma de los contrapesos tiende a
incrementar el momento de inercia, las fuerzas en los cojinetes y el torque
requerido.
Para evitar un gran incremento en las reacciones de los cojinetes, puede que sea
deseable reducir el tamaño de los contrapesos, aunque sólo se tenga un balanceo
parcial de la fuerza. [11]
Si se imagina una máquina como si estuviera compuesta de varios mecanismos,
se podría considerar el balanceo de la misma, balanceando cada mecanismo por
separado. Sin embargo, pudiera ser que esto no conduzca al mejor balanceo para
la máquina, debido a que la adición de un gran número de contrapesos puede
hacer que el momento de torsión de inercia sea completamente inaceptable. Es
más, el desbalanceo de un mecanismo puede contrarrestar el balanceo de otro,
eliminando en primera instancia la necesidad de algunos contrapesos. [6]
Sin embargo, para tratar con el mecanismo de Whitworth planteado, se analizará
primeramente el balanceo del mecanismo Biela-manivela-corredera y como afecta
dicho balanceo en las ecuaciones dinámicas de éste. Entonces se planteará un
método de balanceo para el mecanismo completo.
BALANCEO EN UN MECANISMO CAPÍTULO 5
211
Fig. 5.12 Mecanismo Biela-Manivela-Corredera
Con el objeto de balancear las fuerzas de inercia en un mecanismo Manivela-
Biela-Corredera, se añaden masas de balanceo. Tomando en cuenta que resulta a
veces impráctico balancear completamente el mecanismo debido a los efectos que
puede tener en el torque, en los cojinetes y en los momentos de inercia.
En el mecanismo se presentan las fuerzas derivadas del movimiento, pues aunque
las fuerzas estáticas siguen existiendo, estas son pequeñas en comparación con
las primeras.
NOTA:
90
90
Constante
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
212
El eslabón AE, “4” del mecanismo general, mantiene una velocidad angular
constante, sin embargo el eslabón EF, “5” del mecanismo general, presenta dos
movimientos: Traslación y rotación. Para dar una aproximación de balanceo al
mecanismo, el eslabón EF se modela como una barra que tiene dos masas
concentradas en cada lado. Para mantener la misma dinámica se agregan las
siguientes ecuaciones:
EFFBielaEBiela mmm (5.17)
fmem FBielaEBiela (5.18)
EFGFBielaEBiela IIfmem 5
22 (5.19)
Estas ecuaciones representan las 3 condiciones que deben cumplirse para realizar
la aproximación de balanceo.
La suma de las masas concentradas EBielam y FBielam deben ser igual a la masa
total de la biela.
El centro de gravedad debe encontrarse en 5G
Los momentos de inercia de las masas concentradas en 5G , deben ser igual al
momento EFI
Donde EFG II 5 , es el segundo momento de inercia del eslabón EF.
Así mismo se derivan las siguientes ecuaciones:
L
fm
fe
fmm EFEF
EBiela
(5.20)
L
em
fe
emm EFEF
FBiela
(5.21)
L, indica la longitud total de la biela.
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
213
Fig. 5.13 Masas Equivalentes
Fig. 5.14 Masa de Balanceo
El mecanismo con las masas equivalentes se muestra a continuación.
Como el eslabón AE gira a velocidad constante, la fuerza dinámica en el par A
causada por las dos masas AEm , EBielam es sólo la componente normal de la
aceleración. Por tanto, la fuerza dinámica 2amRm AEEBiela puede ser
balanceada simplemente al añadir una masa de balanceo Balanceom , en una
dirección opuesta de la manivela.
BalanceoBalanceoAEAEEBiela LmamLm (5.22)
FFBielaFTotal mmm (5.23)
NOTA: La FTotalm causará una fuerza en dirección del eje del pistón. Esta
fuerza es la que se debe determinar para balancear el mecanismo
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
214
Se definen las ecuaciones de posición del pistón, para después derivarlas 2 veces
y obtener la aceleración necesaria para determinar la fuerza FTotalm
)coscos( EFAEAFX RRR (5.24)
sinsin EFAE LL (5.25)
Donde: LLEF
Ahora, si tomamos la identidad.
2
2
2 sin1sin1cos
EF
AE
L
L (5.26)
Esta expresión se sustituye en (5.24), y se deriva 2 veces para obtener la
aceleración
AFXR .
Sin embargo, el resultado es muy complicado, y dado el hecho de que se
comenzó con la premisa de obtener una aproximación al balanceo del mecanismo
mediante masas concentradas en cada lado de la biela. Entonces también
aproximaremos la ecuación (5.26).
...128
5
16821)1(
432
ssss
s Para 12 s
Siendo
2
2
2 sinsin
EF
AE
R
Rs
La cual cumple con la serie, puesto que EFAE RR y 1sin
La serie se puede detener en el segundo término, pues desde el tercero los
valores son muy pequeños en comparación con sus antecesores.
2
2
sin11cos
EF
AE
R
Rs (5.27)
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
215
Fig. 5.15 Diagrama de cuerpo libre y aceleraciones
Se usa la siguiente identidad
2cos2
1
2
1sin 2
Que se sustituye en (5.27) y ambas en (5.24).
)2cos44
cos(
22
EF
AE
EF
AEEFAEAFX
L
L
L
LLLR (5.28)
La cual se deriva dos veces, para obtener la aceleración
iL
LLR
EF
AEAEAFX )2cos(cos2
(5.29)
NOTA: En el estudio se descartan las fuerzas estáticas (Pesos) y se asume que
las fuerzas debidas a la aceleración normal de la manivela y la porción de la biela
EBielam han sido balanceadas al agregar una masa Balanceom a una distancia BalanceoR
del par A. Además se agrega un Par AT , que mantiene a la velocidad angular
constante.
Al agregar la masa Balanceom se atenúa la fuerza de sacudimiento. Sin embargo
debido a que sólo funciona en el movimiento de rotación y no el reciprocante, el
mecanismo está parcialmente balanceado. La única masa que falta balancear es
la masa FTotalm .
A continuación se presentan los diagramas de cuerpo libre y de aceleración de
masas.
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
216
Al hacer la sumatoria de momentos desde el par A, se obtiene:
x
TR A (5.30)
Y debido a que no hay aceleración en “y”
x
TRF A1 (5.31)
Las aceleraciones de las masas AEm , EBielam y Balanceom no se muestran, ya que se
cancelan cuando se aplica la segunda ley de Newton. Sin embargo, es importante
notar que estas fuerzas se encuentran en el mecanismo.
Al hacer la sumatoria de fuerzas en dirección x, se obtiene:
xX maF
AFXFTotalR RmF
)2cos(cos2 EF
AEAEFTotalR
L
LLmF (5.32)
La fuerza RF , es la fuerza que aplica el perno del par A a la manivela. De la misma
forma la manivela aplica una fuerza al perno del par A que es de la misma
magnitud pero de sentido contrario.
)2cos(cos2 EF
AEAEFTotalRS
L
LLmFF (5.32)
Esta fuerza es propiamente la fuerza que transmite el mecanismo a la base,
también llamada “Fuerza de sacudimiento”.
La magnitud de la fuerza como su dirección, cambian con respecto al ángulo ,
pero la línea de acción permanece en el eje del pistón.
En este ejemplo, no se muestra el balanceo de la masa reciprocante FTotalm , sin
embargo, se muestra que la fuerza de sacudimiento generada se restringe en la
línea de acción del eje del pistón.
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
217
Fig. 5.16 Mecanismo MBC Simulación
Fig. 5.17 Fuerzas de Sacudimiento MBC
Simulación
A continuación se ejemplifica las fuerzas de sacudimiento mediante una
simulación en Working Model.
La gráfica de las reacciones está comparada con los grados que gira el
mecanismo teniendo una velocidad 100 constante.
Datos:
kgmAE 1
kgmEF 1
kgmF 0
mLAE 1
mLEF 4
kgmBALANCEO 1
g=0
Las reacciones de este mecanismo en el par A.
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
218
Fig. 5.18 Mecanismo MBC Simulación
Balanceado
Fig. 5.19 Fuerzas de Sacudimiento MBC
Simulación Balanceado
Obtenemos la distancia a la masa de balanceo desde el par A
EF
EFEFEFEBiela
L
fm
L
fm
fe
fmm
EF
EFEFEFFBiela
L
em
L
em
fe
emm
BALANCEOBALANCEOAEAEEBiela LmamLm
Por tanto:
kgmEBiela 5.0
kgmFBiela 5.0
mLBALANCEO 1
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
219
Fig. 5.20 Mecanismo Biela-Manivela-Corredera
con Manivela-Rueda
El objetivo ahora, consiste en agregar una rueda en lugar de la manivela y utilizar
el mismo método de balanceo.
Nota: El Centro de masa de la manivela se ubica en el par A.
90
90
Constante
Las ecuaciones (5.17) a (5.32) son las mismas excepto que el valor de 0a
La ecuación (5.22) muestra el cambio de utilizar una rueda en lugar de una barra.
BalanceoBalanceoAEAEEBiela LmamLm (5.22)
BalanceoBalanceoAEEBiela LmLm (5.33)
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
220
Fig. 5.21 Mecanismo MBC Simulación
Balanceado Manivela Rueda
Fig. 5.22 Fuerzas de Sacudimiento MBC
Simulación Balanceado Manivela Rueda
Utilizando los mismos datos del ejemplo anterior, se obtienen las fuerzas de
sacudimiento generadas por las masas del mecanismo.
Datos
kgmAE 1
kgmEF 1
kgmF 0
mLAE 1
mLEF 4
kgmBALANCEO 1
g=0
Ecuaciones
EF
EFEFEFEBiela
L
fm
L
fm
fe
fmm
EF
EFEFEFFBiela
L
em
L
em
fe
emm
BALANCEOBALANCEOAEEBiela LmLm
Por tanto:
kgmEBiela 5.0
kgmFBiela 5.0
mLBALANCEO 5.0
BALANCEO EN UN MECANISMO MANIVELA BIELA CORREDERA CAPÍTULO 5
xxxvii
CONCLUSIONES
1. Se han desarrollado distintos trabajos que engloban la
conceptualización de cómo formular el modelo matemático de un
mecanismo de lazo cerrado, e incluso de la forma en cómo construir
dicho modelo en un programa de computadora.
2. Los modelos en coordenadas naturales y coordenadas de punto de
referencia con su origen en el centro de masa de los eslabones,
ofrecen la posibilidad de englobar en una representación sencilla la
cinemática, dinámica (Fuerzas externas y de reacción) de los
mecanismos.
3. Se ha formuladoun modelo matemático que se asemeje al modelo
utilizado en mecanismos de lazo abierto como los robots, permite
probar con algoritmos de control bien estudiados en los mecanismos de
lazo cerrado. Sin embargo, hay que tomar en consideración que para
asemejar los modelos es necesario utilizar multiplicadores de Lagrange;
ya que las ecuaciones para los mecanismos de lazo cerrado presentan
coordenadas dependientes debido a que un solo actuador genera
movimiento en muchos eslabones.
4. Los métodos planteados en el mecanismo de retorno rápido de
Whitworth pueden generalizarse para mecanismos de cuatro, seis
barras, así como a distintas configuraciones de pares cinemáticos.
5. Los trabajos que se enuncian como referencia, muestran sus resultados
en mecanismos con muchos parámetros idealizados, esto es, simplifican
las variables para obtener un modelo sencillo que facilite la
comprobación de los algoritmos de control. Este no es el caso de este
trabajo, por lo tanto las ecuaciones muestran eslabones cuyo centro de
masa no necesariamente se encuentra en la línea que une a los pares
cinemáticos. Esta característica ocasiona ecuaciones más complicadas
y laboriosas.
CONCLUSIONES
xxxviii
Por tanto se propone el balanceo de los mecanismos como una forma
de simplificar el modelo sin idealizar el sistema.
6. El balanceo de los mecanismos es un tema muy extenso y no existe una
metodología a seguir de forma generalizada, como existe en el
balanceo de ejes. De manera que solo se han realizado estudios de
balanceo en mecanismos muy específicos, siendo el mecanismo de
manivela-biela y pistón el más mencionado. El propósito de balancear
el mecanismo es fijar el centro de masa general del mecanismo, lo que
elimina o disminuye los efectos de algunas variables en el modelo.
7. En este trabajó se proponen dimensiones de un mecanismo de retorno
rápido que opere como máquina herramienta, por consiguiente se
agregan características de corte, velocidad de maquinado, avances,
materiales, etc. El dimensionamiento se basa en las curvas de
aceleración de los eslabones y la proporción de velocidades del
retorno rápido.
CONCLUSIONES
xxxix
TRABAJO FUTURO
Los alcances de este trabajo contemplan únicamente el estudio
cinemático y dinámico de mecanismos de lazo cerrado. Así como diversas
metodologías de modelado e implementación en software. También, la
síntesis dimensional de un mecanismo de retorno rápido y la propuesta de
simplificar el modelo encontrado en base al balanceo de los eslabones.
Con el fin de poder aplicar algoritmos de control originalmente planteados
para mecanismos de lazo abierto.
Tomando como base la información presentada en este trabajo, se
proponen como trabajos futuros a esta investigación los siguientes temas.
Balanceo de los mecanismos
El balanceo de los mecanismos es un tema de investigación muy extenso,
ya que los modelos generalmente dependen de la topología de cada
mecanismo. Ahora, el mecanismo de retorno rápido planteado consiste en
dos configuraciones o inversiones del mecanismo manivela-biela-
corredera. Por una parte la inversión utilizada como pistón es de las más
estudiadas, por otro lado la segunda inversión, que es la encargada de la
variación de velocidades de la ida y retorno del mecanismo, presenta una
aceleración de coriolis, lo que genera un reto en su balanceo.
Modelado de eslabones flexibles
En este trabajo, se presentan los métodos utilizados para formular las
ecuaciones cinemáticas y dinámicas de los mecanismos de lazo cerrado,
partiendo de la idealización de eslabones indeformables. El estudio de
eslabones flexibles lleva a una metodología más cercana a la realidad.
Siendo una de cualidades, una mejor descripción de los mecanismos que
se someten a altas velocidades. Además que el modelo permite el análisis
por elementos finitos del mecanismo, lo que ayuda a determinar de forma
más exacta los esfuerzos y deformaciones que sufre cada uno de los
eslabones en movimiento.
TRABAJO FUTURO
xl
Manufactura de los mecanismos
Las dimensiones obtenidas en este trabajo, sirven como base para un
estudio detallado de la manufactura necesaria y correcta de los
mecanismos. Es decir, debido a que el enfoque involucra el control del
mecanismo, es necesario proponer e implementar materiales adecuados
para un correcto desempeño. Un ejemplo sería el usar en una máquina de
fresado un tornillo acme y un tornillo de bolas, ambos cumplirían el mismo
fin de mover la mesa de la máquina pero con diferentes precisiones;
Siendo el segundo más fácil de controlar ya que presenta menos
perturbaciones.
Optimización dimensional de los mecanismos
El modelo matemático planteado, sirve como referencia para aplicar
metodologías de optimización cinemática y dinámica de los mecanismos.
Como referencia, se encuentran los trabajos de García de Jalón y Ahmed
A. Shabana.
Mecánica Computacional
El trabajo presenta la metodología para obtener la formulación
matemática de los mecanismos de lazo cerrado, está metodología es
aplicable a implementarse en software para el análisis de movimiento de
diversos mecanismos. Así como, existe un software capaz de generar
información de esfuerzos, deformaciones, transferencia de calor, etc.
Implementar la metodología planteada para realizar análisis de
mecanismos por medio de software.
Implementación de control
Todas las ecuaciones necesarias para describir la cinemática y dinámica
del mecanismo de retorno rápido, se encuentran explicadas y validadas
por algoritmos en matlab y simulaciones en Working model en este trabajo.
De manera que pueden tomarse como base para probar nuevos
algoritmos de control, o plantear algoritmos ya existentes y comparar los
resultados con las mejoras añadidas del diseño mecánico.
TRABAJO FUTURO
BIBLIOGRAFÍA CAPÍTULO 1
BIBLIOGRAFÍA: CAPÍTULO 1
1. International Symposium on History of Machines and Mechanisms, Chapter 1, History of Dynamics of Machines and Mechanisms from Leonardo to Timoshenko by Francis C. Moon, Chapter 3, Some Origins of TMM Arisen from Pseudo-Aristotle and Hero of Alexandria by Agamenon R.E. Oliveira.
2. Una mecánica sin Talachas by Fermin Viniegra Heberlein. 3. http://www.pittdixon.go-plus.net/whitworth/whitworth.htm, Sir Joseph
Whitworth 4. http://www.wikipedia.org/ 5. Handbook of Automation, Chapter 4, Christopher Bissell. 6. Estabilidad de las ecuaciones diferenciales ordinarias y de las ecuaciones
funcionales, Abel R. Castro Figueroa 7. Criterio de Estabilidad de Nyquist- Aplicación al análisis de la Estabilidad de
Sistemas de Control continuos, lineales e invariantes en el tiempo, UTN/FRBA
8. Poincaré, creador de los métodos todavía modernos en las ecuaciones diferenciales y en la mecánica celeste, Amadeu Delshams.
9. Mechatronics Handbook (2002), Robert H. Bishop, Chapters 1 and 10. http://www.meca.cinvestav.mx/quees.html 11. http://www.graphit.hu/NX/prospektus/CAD/NX-Mechatronics-Concept
Designer.pdf 12. Motion profile planning of repetitive point to point control for maximum energy
conversion efficiency under acceleration conditions, Mechatronics Vol.6, pp. 649-663,1996
13. Inverse Dynamics of a toggle mechanism, Computer & Structures Vol.63, No I, pp. 91-99, 1997
14. Modeling, simulation and control of a four-bar mechanism with a Brushless Servo Motor, Mechatronics Vol.7, No.4, pp.369-383,1997
15. Comparison of Sliding-Mode and Fuzzy Neural Network Control for Motor-Toggle Servomechanism, IEEE/ASME Transactions on Mechatronics, Vol.3, No.4, 1998
16. Slider-crank mechanism control using adaptive computed torque technique, IEEE Proc. Control Theory Appl. Vol.145, No.3, 1998.
17. Fuzzy sliding mode controlled slider-crank mechanism using a PM synchronous servo motor drive, International Journal of Mechanical Sciences 41, 1999.
18. Integrated Design of Mechanical Structure and control Algorithm for a Programmable Four-Bar Linkage, IEEE/ASME Transactions on mechatronics, Vol.4, No.4, 1999.
19. Modeling and set point control of closed chain mechanisms: Theory and Experiment, IEEE Transactions on control systems technology Vol.8, No.5, 2000.
BIBLIOGRAFÍA CAPÍTULO 1
20. Fuzzy control of a dc motor driven four-bar mechanism, mechatronics 15
(2005)
BIBLIOGRAFÍA CAPÍTULO 2
BIBLIOGRAFÍA: CAPÍTULO 2
1. Una mecánica sin Talachas, Fermín Viniegra Heberlein. Año y editorial 2. Computational Dynamics Second Edition, Ahmed A. Shabana 3. Design of Machinery, Robert Norton 2nd Edition 4. Kinematic and Dynamic Simulation of Multibody Systems, Garcia de Jalon,
Bayo. 5. Force/Motion Control of Constrained Robots Using Sliding Mode, IEEE
transactions on automatic control, Vol. 37, No 5, May 1992. 6. Síntesis Dimensional optima de una variante del mecanismo de retorno
rápido de Whitworth, Universidad Pública de Navarra. 7. http://es.scribd.com/doc/56605020/10/Coordenadas-naturales-caso-plano,
Apuntes Mecanismos Nuevas Metodologías de análisis cinemático de mecanismos planos y espaciales, Profesor: Alejandro Gutiérrez S.
8. móviles, Aníbal Ollero Baturone, 2001, Editorial Alfa Omega.
BIBLIOGRAFÍA CAPÍTULO 3
BIBLIOGRAFÍA: CAPÍTULO 3
1. Mecánica para ingeniería: Dinámica 5ta Edición Bedford Fowler
2. Mecánica para Ingenieros Dinámica 3ra Edición J.L Meriam \ L.G. Kraige
3. Teoria y problemas de Dinámica de Lagrange: “Serie de compendios
schaum. McGraw Hill
4. An Introduction to Dynamics of Rigid-Body Systems, Institute of Mechanical
Engineering and Aalborg University, Michael Damsgaard
5. Mecánica Lagrangiana Teoría y Practica, Libro de Alqua, Álvaro Hacar
González versión 0.10.1
6. Kinematic and Dynamic Simulation of Multibody Systems. Bayo
7. Linear Time Dynamics using Lagrange Multipliers, David Baraff, Robotics
Institute Carnegie Mellon University
9. Método de síntesis dimensional óptima de sistemas multicuerpo con
restricciones dinámicas. Aplicación al diseño de mecanismos planos,
Universidad de la RIOJA, José Antonio Gómez Cristobal. Tesis Doctoral,
2003
10. Force/Motion Control of Constrained Robots Using Sliding Mode, IEEE
transactions on automatic control, Vol. 37, No. 5, May 1992
11. Apuntes de Mecánica Clásica, Fernando O. Minotti, 2do cuatrimestre de
2010
12. Applying Experienced Self-Tuning PID controllers to Positiouan in Control of
slider Crank Mechanisms, Chih-Cheng Kao, Department of electrical
engineering Kao Yuan Institute of technology.
13. Mecánica sin talachas
BIBLIOGRAFÍA: CAPÍTULO 4
1. Manufactura, Ingeniería y tecnología, 4ta Edición, Kalpakjian, Schmid
2. Tecnología Mecánica 1, Máquinas Herramientas de Leonel Chacón
Anchondo
3. Teoría del taller, escuela del trabajo henry ford 5ta Edición
4. Machine shop practice, Volumen 2, Karl Hans Moltrecht.
http://books.google.com.mx/books?id=dhX93Mxkxn4C&pg=PA11&lpg=PA11&dq=strokes+p
er+minute+shaper&source=bl&ots=eh1B81n5si&sig=yv1f1KIadBpoxCF1dE9vhklfrZA&hl=es&
sa=X&ei=NuBjT9uGNKWg2AXH1ei0CA&ved=0CB0Q6AEwAA#v=onepage&q=strokes%20per
%20minute%20shaper&f=false[
5. Nylamid Quadrant: Maquinado
6. Boxford 8 inch Shaper
7. Método de síntesis dimensional óptima de sistemas multicuerpo con
restricciones dinámicas. Aplicación al diseño de mecanismos planos. Tesis
Doctoral, José Antonio Gómez Cristobal. Universidad de la Rioja.
8. Teoría de máquinas y mecanismos. Joseph Edward Shigley
9. Síntesis cinemática y dinámica de mecanismos. Manipulador Paralelo 6-RKS,
Isidro Zabalza Villava, Departamento de ingeniería mecánica energética y de
materiales.
10. Quick-return mechanism design and analysis projects. Ron P. Podhorodeski,
Scott B. Nokleby and Jonathan D. Wittchen. Robotics and Mechanisms
Laboratory, Department of Mechanical Engineering, University of Victoria
11. http://homepages.udayton.edu/~dmyszka1/MCT313/Dsgn.pdf
12. Illustrated sourcebook of Mechanical Components, Robert O. Parmley, P.E.
BIBLIOGRAFÍA CAPÍTULO 4
BIBLIOGRAFÍA: CAPÍTULO 5
1. Mechatronics in Medicine A Biomedical Engineering Approach, Siamak
Najarian, Javad Dargahi, Goldis Darbemamieh, Siamak Hajizadeh Farkoush.
Mc Graw Hill, 2012.
2. The Role of Control in Mechatronics, Job van Amerongen. Cornelis J.
Drebbel Insitute for Systems Engineering and Control Laboratory, Faculty of
Electrical Engineering University of Twente.
3. Mechatronic Design Approach, Rolf Isermann, Darmstadt University of
Technology.
4. Integrated Design of Mechanical Structure and Control Algorithm for a
Programmable Four-Bar Linkage. W.J. Zhang, Q. Li, and L.S. Guo,
IEEE/ASME Transactions on mecatronics, VOL 4, No. 4, DECEMBER 1999
5. Shaking Force and Shaking Moment Balancing of Mechanisms: A Historical
Review with new examples, Vigen H. Arakelian Professor, INSA-Rennes,
Department “GMA” and M. R. Smith Department of Mechanical, Materials and
manufacturing Engineering, University of Newcastle. Journal of Mechanical
Design March 2005, Vol. 127
6. Teoría de máquinas y mecanismos. Joseph Shigley
7. Mecanismos y dinámica de maquinaria, Mabie Reinholtz.
8. Design of Machinery. Robert Norton 2nd Edition
9. Advanced Mechanism Design: Analysis and Synthesis. Volume 2. George N.
Sandor / Arthur G. Erdman
10. Wikipedia. Momento de Inercia
11. KINEMATICS & DYNAMICS OF PLANAR MACHINERY. Burton Paul
12. Mec E 362 Mechanics of Machines, 7 Balancing Reciprocating Masses,
Alberta University Canada
BIBLIOGRAFÍA CAPÍTULO 5
ANEXOS ANEXO A
En este ANEXO se incluyen 2 archivos:
Solucion Coord Naturales.m (MATLAB) Cinematica Whitworth.wm2d (Working Model) Utilizando las coordenadas naturales se muestran las ecuaciones que definen la posición de cada uno de los pares cinemáticos del mecanismo de Whitworth.
Solucion Coord Naturales.m
clear all %clears all variables and functions clc %clears the command window and homes the cursor close all %closes all the open figure windows
contador=0; inc=10;
for t=0:inc:360 contador=contador+1; Theta=t*pi/180;
%Magnitudes de los eslabones LBB1=10; LEF=30; LCB1=2; LED1=2; LAD=20; LAD1=10; LDD1=(LAD+LAD1);
%Magnitudes de las variables de diseño m=-5; p=0; h=-2;
%Magnitudes de Constantes KA=LCB1/LBB1; KB=(LDD1-LED1)/(LAD1-LED1); KC=LED1/LAD1;
%Ecuaciones de restricción xB=0; yB=0;
ANEXO A
ANEXOS ANEXO A
%xB1=LBB1*sin(Theta);
%yB1=LBB1*cos(Theta);
eqn_f1A='xB1solB1=-LBB1*sin(Theta)'; eqn_f1='(xB1solB1-xB)^2+(yB1solB1-yB)^2=LBB1^2'; solB1=solve(eqn_f1A,eqn_f1,'xB1solB1,yB1solB1');
xB1_A=eval(solB1.xB1solB1(1)); xB1_B=eval(solB1.xB1solB1(2)); yB1_A=eval(solB1.yB1solB1(1)); yB1_B=eval(solB1.yB1solB1(2));
if Theta <= pi/2 || Theta>=3*pi/2 yB1=yB1_A;xB1=xB1_A; else yB1=yB1_B;xB1=xB1_B; end
eqn_f4='(xB1-xCsolC)-KA*(xB1-xB)=0'; eqn_f5='(yB1-yCsolC)-KA*(yB1-yB)=0'; solC=solve(eqn_f4,eqn_f5,'xCsolC,yCsolC'); xC=eval(solC.xCsolC); yC=eval(solC.yCsolC);
%eqn_f12='xAsol-p=0'; %eqn_f13='yAsol-h=0'; xA=p; yA=h;
eqn_f3='(xDsolD-xA)^2+(yDsolD-yA)^2=LAD^2'; eqn_f10='((xDsolD-xC)*(yDsolD-yA))-((xDsolD-xA)*(yDsolD-yC))=0'; solD=solve(eqn_f3,eqn_f10,'xDsolD,yDsolD'); xD_A=eval(solD.xDsolD(1)); xD_B=eval(solD.xDsolD(2)); yD_A=eval(solD.yDsolD(1)); yD_B=eval(solD.yDsolD(2));
xD=xD_B; yD=yD_B;
eqn_f6='(xD-xEsolE)-KB*(xA-xEsolE)=0'; eqn_f7='(yD-yEsolE)-KB*(yA-yEsolE)=0'; solE=solve(eqn_f6,eqn_f7,'xEsolE,yEsolE'); xE=eval(solE.xEsolE); yE=eval(solE.yEsolE);
eqn_f8='(xE-xD1solD1)-KC*(xA-xD1solD1)=0'; eqn_f9='(yE-yD1solD1)-KC*(yA-yD1solD1)=0'; solD1=solve(eqn_f8,eqn_f9,'xD1solD1,yD1solD1'); xD1=eval(solD1.xD1solD1); yD1=eval(solD1.yD1solD1);
ANEXOS ANEXO A
eqn_f2='(xE-xFsolF)^2+(yE-yFsolF)^2=LEF^2';
eqn_f11='yFsolF-m=0';
solF=solve(eqn_f2,eqn_f11,'xFsolF,yFsolF'); xF_A=eval(solF.xFsolF(1)); xF_B=eval(solF.xFsolF(2)); yF_A=eval(solF.yFsolF(1)); yF_B=eval(solF.yFsolF(2));
xF=-xF_B; yF=yF_B;
% fprintf('Theta = %g (mm) \n', Theta); % fprintf('xB1 = %g (mm) \n', xB1); % fprintf('yB1 = %g (mm) \n', yB1); % fprintf('xC = %g (mm) \n', xC); % fprintf('yC = %g (mm) \n', yC); % fprintf('xA = %g (mm) \n', xA); % fprintf('yA = %g (mm) \n', yA); % fprintf('xD = %g (mm) \n', xD); % fprintf('yD = %g (mm) \n', yD); % fprintf('xE = %g (mm) \n', xE); % fprintf('yE = %g (mm) \n', yE); % fprintf('xD1 = %g (mm) \n', xD1); % fprintf('yD1 = %g (mm) \n', yD1); % fprintf('xF = %g (mm) \n', xF); % fprintf('yF = %g (mm) \n', yF); % fprintf(' ');
axis([-20 40 -20 20]); plot([xB1,xB],[yB1,yB],'k-o','LineWidth',1.5) hold on axis([-20 40 -20 20]); plot([xC,xB],[yC,yB],'r-o','LineWidth',1.5) hold on axis([-20 40 -20 20]); plot([xA,xB],[yA,yB],'g-o','LineWidth',1.5) hold on axis([-20 40 -20 20]); plot([xD,xA],[yD,yA],'k-o','LineWidth',1.5) hold on axis([-20 40 -20 20]); plot([xA,xE],[yA,yE],'r-o','LineWidth',1.5) hold on axis([-20 40 -20 20]); plot([xA,xD1],[yA,yD1],'k-o','LineWidth',1.5) hold on axis([-20 40 -20 20]); plot([xE,xF],[yE,yF],'k-o','LineWidth',1.5) hold on axis([-20 40 -20 20]); plot([20,40],[-5,-5],'b-o','LineWidth',1.5) hold off
ANEXOS ANEXO A
%Representa la nueva posición
%axes(handle(1)); %representacion(q,draw);
%Graficos %almacen(contador,1,:)=q(3:1:5);
pause(0.1);
end close all;
%Magnitudes de Constantes
% KA=LCB1/LBB1; % KB=(LDD1-LED1)/(LAD1-LED1); % KC=LED1/LAD1;
%Ecuaciones
% f1A=xB1-LBB1*sin[Theta]=0; % f1=(xB1-xB)^2+(yB1-yB)^2-LBB1^2=0; % f2=(xE-xF)^2+(yE-yF)^2-LEF^2=0; % f3=(xD-xA)^2+(yD-yA)^2-LAD^2=0; % f4=(xB1-xC)-KA*(xB1-xB)=0; % f5=(yB1-yC)-KA*(yB1-yB)=0; % f6=(xD-xE)-KB*(xA-xE)=0; % f7=(yD-yE)-KB*(yA-yE)=0; % f8=(xE-xD1)-KC*(xA-xD1)=0; % f9=(yE-yD1)-KC*(yA-yD1)=0; % f10=((xD-xC)*(yD-yA))-((xD-xA)*(yD-yC))=0; % f11=yF-m=0; % f12=xA-p=0; % f13=yA-h=0;
ANEXOS ANEXO B
En este ANEXO se incluyen 2 archivos:
Cinematica_Matlab_4.m (MATLAB) Cinematica Whitworth.wm2d (Working Model) Utilizando las coordenadas de punto de referencia se muestran las ecuaciones que definen la posición, velocidad y aceleración de cada uno de los pares cinemáticos del mecanismo de Whitworth.
Cinemática_Matlab_4.m
% Este programa, muestra la cinemática de un mecanismo de whitworth de % retorno rápido, utilizando la matriz Jacobiano, para la obtención de la % velocidad y aceleracion. % Nota: Estas ecuaciones, tienen 4 incógnitas dependientes de Theta.
clear all %clears al variables and functions clc %clears the command window and homes the curso close all %closes all the open figure windows
% La variable contador, es importante en el ciclo for, para ubicar en que % ciclo, se presentan los datos. Se utilizo principalmente para que % pudieramos comparar los resultados con el programa en Mathematica.
% La variable inc, nos dice como se va a incrementar la variable de
entrada % Theta.
contador=0; inc=10;
% Los siguientes vectores, se definen, puesto que van a guardar cada uno
de % las variables deseadas para gráficar.
ThetaData=(0:inc:360); PhiData=(0:inc:360); BetaData=(0:inc:360); RBFxData=(0:inc:360); LACData=(0:inc:360);
ANEXO B
ANEXOS ANEXO B
PhiDataP=(0:inc:360); BetaDataP=(0:inc:360); RBFxDataP=(0:inc:360); LACDataP=(0:inc:360);
PhiDataPP=(0:inc:360); BetaDataPP=(0:inc:360); RBFxDataPP=(0:inc:360); LACDataPP=(0:inc:360);
for t=0:inc:360 contador=contador+1; Theta=t*pi/180;
% Magnitudes de los eslabones
LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
% Magnitudes de las variables de diseño P =- 3; H = -3; m = 2;
% Velocidad ángular de entrada ThetaP=100*pi/180;
% Aceleracion ángular de entrada ThetaPP=0*pi/180;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta.
Phi=atan((LBC*sin(Theta)+P)/((LBC*cos(Theta))-H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))-H)<0 Phi=pi+Phi;
end
ANEXOS ANEXO B
if -(-LBC*sin(Theta)-P)<0 && ((LBC*cos(Theta))-H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && t>300 Phi=2*pi+Phi; % Phi=-(2*pi-Phi); end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && t<180 Phi=-(2*pi-Phi); % Phi=2*pi+Phi;
end
% Beta=-acos((LAE*cos(Phi)+(-H-m))/(LEF)); Beta=acos((LAE*cos(Phi)+(-H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180
LAC=abs(((LBC*cos(Theta)-H)/cos(Phi))); else LAC=abs((((LBC*sin(Theta)+P)/sin(Phi)))); end
%LACH, Se toma, para ajustar el jacobiano con respecto a la variable de %diseño H
if Phi*180/pi == 180
LACH=LAC;
elseif Phi*180/pi == 360
LACH=LAC-H;
else LACH=LAC; end
ANEXOS ANEXO B
%Definimos el Jacobiano
J=[-LACH*cos(Phi),-sin(Phi),0,0; -LACH*sin(Phi),cos(Phi),0,0; LAE*cos(Phi),0,LEF*cos(Beta),-1; LAE*sin(Phi),0,-LEF*sin(Beta),0];
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(P+LAE*sin(Phi)+LEF*sin(Beta));
%*********************************************************** %***************** VELOCIDAD ************************** %***********************************************************
%Determinación de la Velocidad Ec. J*[PhiP,BetaP]+PHIT=0;
%Definimos la matriz PHIT
Inversa=inv(J);
PHIT=[LBC*cos(Theta)*ThetaP;LBC*sin(Theta)*ThetaP;0;0];
%qp=[PhiP,BetaP]=inv(J)*PHIT; qp=-inv(J)*PHIT;
PhiP=qp(1); LACP=qp(2); BetaP=qp(3); RBFxP=qp(4);
ANEXOS ANEXO B
%Definimos las velocidades de los eslabones
RBB1xP=-LBB1*cos(Theta)*ThetaP; RBB1yP=-(LBB1)*sin(Theta)*ThetaP; RBCxP=-(LBB1-LCB1)*cos(Theta)*ThetaP; RBCyP=-(LBB1-LCB1)*sin(Theta)*ThetaP; RACxP=-LACP*sin(Phi)-(LAC*cos(Phi)*PhiP); RACyP=LACP*cos(Phi)-(LAC*sin(Phi)*PhiP); RADxP=-LAD*cos(Phi)*PhiP; RADyP=-LAD*sin(Phi)*PhiP; RAD1xP=LAD1*cos(Phi)*PhiP; RAD1yP=LAD1*sin(Phi)*PhiP; RAExP=LAE*cos(Phi)*PhiP; RAEyP=LAE*sin(Phi)*PhiP; REFxP=LEF*cos(Beta)*BetaP; REFyP=-LEF*sin(Beta)*BetaP; % RBFxP=+LAE*cos(Phi)*PhiP+LEF*cos(Beta)*BetaP;
%*********************************************************** %***************** ACELERACION ************************ %***********************************************************
%Determinación de la Aceleracion Ec.
J*[PhiPP,BetaPP]+JP*[PhiP,BetaP]+PHITP=0;
%Definimos la matriz PHITP PHITP=[LBC*cos(Theta)*ThetaPP-
LBC*sin(Theta)*ThetaP^2;LBC*sin(Theta)*ThetaPP+LBC*cos(Theta)*ThetaP^2;0;
0];
%Definimos la matriz JP JP=[(LAC*sin(Phi)*PhiP)-LACP*cos(Phi),-cos(Phi)*PhiP,0,0; -LAC*cos(Phi)*PhiP-LACP*sin(Phi),-sin(Phi)*PhiP,0,0; -LAE*sin(Phi)*PhiP,0,-LEF*sin(Beta)*BetaP,0; LAE*cos(Phi)*PhiP,0,-LEF*cos(Beta)*BetaP,0];
qpp=-inv(J)*(JP*[PhiP;LACP;BetaP;RBFxP]+PHITP);
%qpp=-inv(J)*(JP*[PhiP;BetaP]+PHITP);
PhiPP=qpp(1); LACPP=qpp(2); BetaPP=qpp(3); RBFxPP=qpp(4);
ANEXOS ANEXO B
%Definimos las aceleraciones de los eslabones
RBB1xPP=-(LBB1*cos(Theta)*ThetaPP)+(LBB1*sin(Theta)*ThetaP^2); RBB1yPP=(-(LBB1)*sin(Theta)*ThetaPP)-(LBB1*cos(Theta)*ThetaP^2); RBCxPP=(-(LBB1-LCB1)*cos(Theta)*ThetaPP)+(LBC*sin(Theta)*ThetaP^2); RBCyPP=(-(LBB1-LCB1)*sin(Theta)*ThetaPP)-(LBC*cos(Theta)*ThetaP^2); RACxPP=-(LACPP*sin(Phi))-(LACP*cos(Phi)*PhiP)-(LACP*cos(Phi)*PhiP)-
(LAC*cos(Phi)*PhiPP)+(LAC*sin(Phi)*PhiP^2); RACyPP=(LACPP*cos(Phi))-(LACP*sin(Phi)*PhiP)-(LACP*sin(Phi)*PhiP)-
(LAC*sin(Phi)*PhiPP)-(LAC*cos(Phi)*PhiP^2); RADxPP=-(LAD*cos(Phi)*PhiPP)+(LAD*sin(Phi)*PhiP^2); RADyPP=(-LAD*sin(Phi)*PhiPP)-(LAD*cos(Phi)*PhiP^2); RAD1xPP=(LAD1*cos(Phi)*PhiPP)-(LAD1*sin(Phi)*PhiP^2); RAD1yPP=(LAD1*sin(Phi)*PhiPP)+(LAD1*cos(Phi)*PhiP^2); RAExPP=(LAE*cos(Phi)*PhiPP)-(LAE*sin(Phi)*PhiP^2); RAEyPP=(LAE*sin(Phi)*PhiPP)+(LAE*cos(Phi)*PhiP^2); REFxPP=(LEF*cos(Beta)*BetaPP)-(LEF*sin(Beta)*BetaP^2); REFyPP=(-LEF*sin(Beta)*BetaPP)-(LEF*cos(Beta)*BetaP^2);
% RBFxPP=(LAE*cos(Phi)*PhiPP)-
(LAE*sin(Phi)*PhiP^2)+(LEF*cos(Beta)*BetaPP)-(LEF*sin(Beta)*BetaP^2);
%*********************************************************** %***************** IMPRESIONES ************************ %***********************************************************
fprintf('i= %g \n',contador); fprintf('Theta(Deg)= %g \n',t); fprintf('Phi= %g \n',Phi*180/pi); fprintf('Beta= %g \n',Beta*180/pi); % fprintf('LAC= %g \n',LAC); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('PhiP= %g \n',PhiP*180/pi); % fprintf('BetaP= %g \n',BetaP*180/pi); % fprintf('LACP= %g \n',LACP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('PhiPP= %g \n',PhiPP); % fprintf('BetaPP= %g \n',BetaPP); fprintf('\n\n');
%*********************************************************** %************ RECOPILACIÓN DE DATOS ******************** %***********************************************************
ThetaData(t+1)=(Theta)*180/pi; PhiData(t+1)=(Phi)*180/pi; BetaData(t+1)=(Beta)*180/pi; RBFxData(t+1)=RBFx; LACData(t+1)=LAC+PhiData(t+1);
PhiDataP(t+1)=(PhiP)*180/pi; BetaDataP(t+1)=(BetaP)*180/pi; RBFxDataP(t+1)=RBFxP;
ANEXOS ANEXO B
LACDataP(t+1)=LACP+PhiDataP(t+1); PhiDataPP(t+1)=(PhiPP)*180/pi; BetaDataPP(t+1)=(BetaPP)*180/pi; RBFxDataPP(t+1)=RBFxPP; LACDataPP(t+1)=LACPP+PhiDataPP(t+1);
%*********************************************************** %************ MECANISMO EN MOVIMIENTO ****************** %***********************************************************
axis([-50 50 -50 50]); plot([0,RBB1x],[0,RBB1y],'k-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBCx],[0,RBCy],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([P,RACx+P],[H,RACy+H],'b-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([P,RADx+P],[H,RADy+H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([P,RAD1x+P],[H,RAD1y+H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([+P,RAEx+P],[H,RAEy+H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([P+RAEx,P+ REFx+RAEx],[RAEy+H,REFy+RAEy+H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBFx],[0,-m],'k-o','LineWidth',1.5) hold on hold off
% Este pause, se pone, para visualizar el mecanismo en movimiento.
pause(0.1);
end close all;
ANEXOS ANEXO B
%*********************************************************** %************ GRAFICAS DE LAS VARIABLES ****************** %************ CON RESPECTO A THETA ****************** %***********************************************************
for i=0:inc:360
axis([-10 400 -300 300]); grid on;
% plot(ThetaData(i+1),PhiData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),LACData(i+1),'b-o','LineWidth',0.5) % % plot(ThetaData(i+1),PhiDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),LACDataP(i+1),'b-o','LineWidth',0.5) % % plot(ThetaData(i+1),PhiDataPP(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataPP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataPP(i+1),'b-o','LineWidth',0.5) plot(ThetaData(i+1),LACDataPP(i+1),'b-o','LineWidth',0.5)
hold on
end
ANEXOS ANEXO C
En este ANEXO se incluyen 2 archivos:
Cinematica_Matlab_2.m (MATLAB) Cinematica Whitworth.wm2d (Working Model) Utilizando las coordenadas de punto de referencia se muestran las ecuaciones que definen la posición, velocidad y aceleración de cada uno de los pares cinemáticos del mecanismo de Whitworth.
Cinemática_Matlab_2.m
% Este programa, muestra la cinemática de un mecanismo de whitworth de % retorno rápido, utilizando la matriz Jacobiano, para la obtención de la % velocidad y aceleracion. % Nota: Estas ecuaciones, tienen 2 incógnitas dependientes de Theta.
clear all %clears all variables and functions clc %clears the command window and homes the cursor close all %closes all the open figure windows
% La variable contador, es importante en el ciclo for, para ubicar en que % ciclo, se presentan los datos. Se utilizo principalmente para que % pudieramos comparar los resultados con el programa en Mathematica.
% La variable inc, nos dice como se va a incrementar la variable de
entrada % Theta.
contador=0; inc=10;
% Los siguientes vectores, se definen, puesto que van a guardar cada uno
de % las variables deseadas para gráficar.
ThetaData=(0:inc:360); PhiData=(0:inc:360); BetaData=(0:inc:360); RBFxData=(0:inc:360); LACData=(0:inc:360);
PhiDataP=(0:inc:360); BetaDataP=(0:inc:360); RBFxDataP=(0:inc:360); LACDataP=(0:inc:360);
ANEXO C
ANEXOS ANEXO C
PhiDataPP=(0:inc:360); BetaDataPP=(0:inc:360); RBFxDataPP=(0:inc:360); LACDataPP=(0:inc:360);
for t=0:inc:360 contador=contador+1; Theta=t*pi/180;
%Magnitudes de los eslabones
LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
%Magnitudes de las variables de diseño P = 0; H = 3; m = 2;
%Velocidad ángular de entrada ThetaP=100*pi/180;
% Aceleracion ángular de entrada ThetaPP=0*pi/180;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
ANEXOS ANEXO C
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && t>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && t<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
%Definimos el Jacobiano
J=[-LBC*cos(Phi-Theta)-H*cos(Phi)+P*sin(Phi),0; LAE*sin(Phi),-LEF*sin(Beta)];
ANEXOS ANEXO C
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=-LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
%*********************************************************** %***************** VELOCIDAD ************************** %***********************************************************
%Determinación de la Velocidad Ec. J*[PhiP,BetaP]+PHIT=0;
%Definimos la matriz PHIT
PHIT=[LBC*cos(Phi-Theta)*ThetaP;0];
%qp=[PhiP,BetaP]=inv(J)*PHIT; Inversa=inv(J);
qp=-inv(J)*PHIT; PhiP=qp(1); BetaP=qp(2); % PhiP=((LBC*cos(Phi-Theta))*ThetaP)/((LBC*cos(Phi-Theta))+H*cos(Phi)-
P*sin(Phi)); % BetaP=(LAE*sin(Phi)*PhiP)/(LEF*sin(Beta));
ANEXOS ANEXO C
%Velocidad de los eslabones
% Calculamos LACP, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LACP=((-
LBC*sin(Theta)*ThetaP)/cos(Phi))+(((LBC*cos(Theta)+H)*sin(Phi)*PhiP)/((co
s(Phi))^2)); else
LACP=((LBC*cos(Theta)*ThetaP)/sin(Phi))-(((LBC*sin(Theta)-
P)*cos(Phi)*PhiP)/((sin(Phi))^2)); end
RBB1xP=LBB1*cos(Theta)*ThetaP; RBB1yP=-(LBB1)*sin(Theta)*ThetaP; RBCxP=(LBB1-LCB1)*cos(Theta)*ThetaP; RBCyP=-(LBB1-LCB1)*sin(Theta)*ThetaP; RACxP=LACP*sin(Phi)+(LAC*cos(Phi)*PhiP); RACyP=LACP*cos(Phi)-(LAC*sin(Phi)*PhiP); RADxP=LAD*cos(Phi)*PhiP; RADyP=-LAD*sin(Phi)*PhiP; RAD1xP=-LAD1*cos(Phi)*PhiP; RAD1yP=LAD1*sin(Phi)*PhiP; RAExP=-LAE*cos(Phi)*PhiP; RAEyP=LAE*sin(Phi)*PhiP; REFxP=-LEF*cos(Beta)*BetaP; REFyP=-LEF*sin(Beta)*BetaP; RBFxP=LAE*cos(Phi)*PhiP-LEF*cos(Beta)*BetaP;
%*********************************************************** %***************** ACELERACION ************************ %***********************************************************
%Determinación de la Aceleracion Ec.
J*[PhiPP,BetaPP]+JP*[PhiP,BetaP]+PHITP=0;
%Definimos la matriz PHITP PHITP=[(LBC*cos(Phi-Theta)*ThetaPP)-LBC*sin(Phi-Theta)*(PhiP-
ThetaP)*ThetaP;0];
%Definimos la matriz JP JP=[(LBC*sin(Phi-Theta)*(PhiP-
ThetaP))+(H*sin(Phi)*PhiP)+P*cos(Phi)*PhiP,0; LAE*cos(Phi)*PhiP,-LEF*cos(Beta)*BetaP];
qpp=-inv(J)*(JP*[PhiP;BetaP]+PHITP); PhiPP=qpp(1); BetaPP=qpp(2);
ANEXOS ANEXO C
%Aceleracion de los eslabones
%Calculamos LACPP, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LACPPA1=((-LBC*cos(Theta)*(ThetaP^2))-
(LBC*sin(Theta)*ThetaPP))/cos(Phi); LACPPA2=(LBC*sin(Theta)*sin(Phi)*ThetaP*PhiP)/((cos(Phi))^2); LACPPA3=((LBC*sin(Theta)*ThetaP)*(sin(Phi)*PhiP))/((cos(Phi))^2); LACPPA4=((LBC*cos(Theta)+H)*sin(Phi)*PhiPP)/((cos(Phi))^2); LACPPA5=((LBC*cos(Theta)+H)*cos(Phi)*PhiP^2)/((cos(Phi))^2); LACPPA6=(2*(LBC*cos(Theta)+H)*((sin(Phi))^2)*PhiP^2)/((cos(Phi))^3);
LACPP=LACPPA1-LACPPA2-LACPPA3+LACPPA4+LACPPA5+LACPPA6;
else
%LACP=((LBC*cos(Theta)*ThetaP)/sin(Phi))-(((LBC*sin(Theta)-
P)*cos(Phi)*PhiP)/((sin(Phi))^2));
LACPPB1=((LBC*cos(Theta)*ThetaPP)-
(LBC*sin(Theta)*ThetaP^2))/sin(Phi); LACPPB2=(LBC*cos(Theta)*cos(Phi)*ThetaP*PhiP)/((sin(Phi))^2); LACPPB3=(LBC*cos(Theta)*cos(Phi)*ThetaP*PhiP)/((sin(Phi))^2); LACPPB4=((LBC*sin(Theta)-P)*cos(Phi)*PhiPP)/((sin(Phi))^2); LACPPB5=((LBC*sin(Theta)-P)*sin(Phi)*PhiP^2)/((sin(Phi))^2); LACPPB6=(2*(LBC*sin(Theta)-P)*((cos(Phi))^2)*PhiP^2)/((sin(Phi))^3);
LACPP=LACPPB1-LACPPB2-LACPPB3-LACPPB4+LACPPB5+LACPPB6;
end
%Definimos las aceleraciones de los eslabones
RBB1xPP=(LBB1*cos(Theta)*ThetaPP)-(LBB1*sin(Theta)*ThetaP^2); RBB1yPP=(-(LBB1)*sin(Theta)*ThetaPP)-(LBB1*cos(Theta)*ThetaP^2); RBCxPP=((LBB1-LCB1)*cos(Theta)*ThetaPP)-(LBC*sin(Theta)*ThetaP^2); RBCyPP=(-(LBB1-LCB1)*sin(Theta)*ThetaPP)-(LBC*cos(Theta)*ThetaP^2); RACxPP=(LACPP*sin(Phi))+(LACP*cos(Phi)*PhiP)+(LACP*cos(Phi)*PhiP)+(LAC*co
s(Phi)*PhiPP)-(LAC*sin(Phi)*PhiP^2); RACyPP=(LACPP*cos(Phi))-(LACP*sin(Phi)*PhiP)-(LACP*sin(Phi)*PhiP)-
(LAC*sin(Phi)*PhiPP)-(LAC*cos(Phi)*PhiP^2); RADxPP=(LAD*cos(Phi)*PhiPP)-(LAD*sin(Phi)*PhiP^2); RADyPP=(-LAD*sin(Phi)*PhiPP)-(LAD*cos(Phi)*PhiP^2); RAD1xPP=(-LAD1*cos(Phi)*PhiPP)+(LAD1*sin(Phi)*PhiP^2); RAD1yPP=(LAD1*sin(Phi)*PhiPP)+(LAD1*cos(Phi)*PhiP^2); RAExPP=(-LAE*cos(Phi)*PhiPP)+(LAE*sin(Phi)*PhiP^2); RAEyPP=(LAE*sin(Phi)*PhiPP)+(LAE*cos(Phi)*PhiP^2); REFxPP=(-LEF*cos(Beta)*BetaPP)+(LEF*sin(Beta)*BetaP^2); REFyPP=(-LEF*sin(Beta)*BetaPP)-(LEF*cos(Beta)*BetaP^2);
ANEXOS ANEXO C
RBFxPP=(LAE*cos(Phi)*PhiPP)-(LAE*sin(Phi)*PhiP^2)-
(LEF*cos(Beta)*BetaPP)+(LEF*sin(Beta)*BetaP^2);
%*********************************************************** %***************** IMPRESIONES ************************ %***********************************************************
fprintf('i= %g \n',contador); fprintf('Theta(Deg)= %g \n',t); fprintf('Phi= %g \n',Phi*180/pi); fprintf('Beta= %g \n',Beta*180/pi); fprintf('LAC= %g \n',LAC); fprintf('RBFx= %g \n',RBFx); fprintf('ThetaP= %g \n',ThetaP); fprintf('PhiP= %g \n',PhiP); % fprintf('BetaP= %g \n',BetaP*180/pi); % fprintf('RBFxP= %g \n',RBFxP); fprintf('LACP= %g \n',LACP); % fprintf('Beta= %g \n',Beta*180/pi); % fprintf('LAC= %g \n',LAC); fprintf('ThetaPP= %g \n',ThetaPP); fprintf('PhiPP= %g \n',PhiPP); fprintf('LACPP= %g \n',LACPP); % fprintf('BetaP= %g \n',BetaP*180/pi); % fprintf('LACP= %g \n',LACP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('PhiPP= %g \n',PhiPP); % fprintf('BetaPP= %g \n',BetaPP); fprintf('\n\n');
%*********************************************************** %************ RECOPILACIÓN DE DATOS ******************** %***********************************************************
ThetaData(t+1)=(Theta)*180/pi; PhiData(t+1)=(Phi)*180/pi; BetaData(t+1)=(Beta)*180/pi; RBFxData(t+1)=RBFx; LACData(t+1)=LAC+PhiData(t+1);
PhiDataP(t+1)=(PhiP)*180/pi; BetaDataP(t+1)=(BetaP)*180/pi; RBFxDataP(t+1)=RBFxP; LACDataP(t+1)=LACP+PhiDataP(t+1);
PhiDataPP(t+1)=(PhiPP)*180/pi; BetaDataPP(t+1)=(BetaPP)*180/pi; RBFxDataPP(t+1)=RBFxPP; LACDataPP(t+1)=LACPP+PhiDataPP(t+1);
ANEXOS ANEXO C
%*********************************************************** %************ MECANISMO EN MOVIMIENTO ****************** %***********************************************************
axis([-50 50 -50 50]); plot([0,RBB1x],[0,RBB1y],'k-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBCx],[0,RBCy],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RACx-P],[-H,RACy-H],'b-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RADx-P],[-H,RADy-H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RAD1x-P],[-H,RAD1y-H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RAEx-P],[-H,RAEy-H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P+RAEx,-P+ REFx+RAEx],[RAEy-H,REFy+RAEy-H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBFx],[0,-m],'k-o','LineWidth',1.5) hold on
hold off
% Este pause, se pone, para visualizar el mecanismo en movimiento.
pause(0.1);
end close all;
%*********************************************************** %************ GRAFICAS DE LAS VARIABLES ****************** %************ CON RESPECTO A THETA ****************** %***********************************************************
for i=0:inc:360 % fprintf('i= %g \n',i); % fprintf('ThetaData(i)= %g \n',ThetaData(i+1)); % fprintf('PhiData(i)= %g \n',PhiData(i+1)); % fprintf('BetaData(i)= %g \n',BetaData(i+1)); % fprintf('\n \n');
axis([-10 400 0 170]); grid on;
ANEXOS ANEXO C
% plot(ThetaData(i+1),PhiData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),LACData(i+1),'b-o','LineWidth',0.5)
plot(ThetaData(i+1),PhiDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),LACDataP(i+1),'b-o','LineWidth',0.5)
% plot(ThetaData(i+1),PhiDataPP(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataPP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),LACDataPP(i+1),'b-o','LineWidth',0.5)
hold on
end
ANEXOS ANEXO D
En este ANEXO se incluyen 2 archivos:
Cinematica_CG_4.m (MATLAB) Cinematica CG.wm2d (Working Model) Utilizando las coordenadas de punto de referencia se muestran las ecuaciones que definen la posición, velocidad y aceleración del centro de gravedad de cada uno de los eslabones del mecanismo de Whitworth.
Cinemática_CG_4.m
% Este programa, muestra la cinemática de un mecanismo de whitworth de % retorno rápido, utilizando la matriz Jacobiano, para la obtención de la % velocidad y aceleracion. % Nota: Estas ecuaciones, tienen 4 incógnitas dependientes de Theta.
clear all %clears al variables and functions clc %clears the command window and homes the curso close all %closes all the open figure windows
% La variable contador, es importante en el ciclo for, para ubicar en que % ciclo, se presentan los datos. Se utilizo principalmente para que % pudieramos comparar los resultados con el programa en Mathematica.
% La variable inc, nos dice como se va a incrementar la variable de
entrada % Theta.
contador=0; inc=10;
% Los siguientes vectores, se definen, puesto que van a guardar cada uno
de % las variables deseadas para gráficar.
ThetaData=(0:inc:360); PhiData=(0:inc:360); BetaData=(0:inc:360); RBFxData=(0:inc:360); LACData=(0:inc:360);
ANEXO D
ANEXOS ANEXO D
PhiDataP=(0:inc:360); BetaDataP=(0:inc:360); RBFxDataP=(0:inc:360); LACDataP=(0:inc:360);
PhiDataPP=(0:inc:360); BetaDataPP=(0:inc:360); RBFxDataPP=(0:inc:360); LACDataPP=(0:inc:360);
RBB1CMxData=(0:inc:360); RBB1CMyData=(0:inc:360); RBB1CMxDataP=(0:inc:360); RBB1CMyDataP=(0:inc:360); RBB1CMxDataPP=(0:inc:360); RBB1CMyDataPP=(0:inc:360);
RDD1CMxData=(0:inc:360); RDD1CMyData=(0:inc:360); RDD1CMxDataP=(0:inc:360); RDD1CMyDataP=(0:inc:360); RDD1CMxDataPP=(0:inc:360); RDD1CMyDataPP=(0:inc:360);
REFCMxData=(0:inc:360); REFCMyData=(0:inc:360); REFCMxDataP=(0:inc:360); REFCMyDataP=(0:inc:360); REFCMxDataPP=(0:inc:360); REFCMyDataPP=(0:inc:360);
RFCMxData=(0:inc:360); RFCMyData=(0:inc:360); RFCMxDataP=(0:inc:360); RFCMyDataP=(0:inc:360); RFCMxDataPP=(0:inc:360); RFCMyDataPP=(0:inc:360);
RCCMxData=(0:inc:360); RCCMyData=(0:inc:360); RCCMxDataP=(0:inc:360); RCCMyDataP=(0:inc:360); RCCMxDataPP=(0:inc:360); RCCMyDataPP=(0:inc:360);
ANEXOS ANEXO D
for t=0:inc:360 contador=contador+1; Theta=t*pi/180;
% Magnitudes de los eslabones
LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
% Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
% Velocidad ángular de entrada ThetaP=100*pi/180;
% Aceleracion ángular de entrada ThetaPP=0*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
ANEXOS ANEXO D
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && t>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && t<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
ANEXOS ANEXO D
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
LACH=LAC;
%Definimos el Jacobiano
J=[-LACH*cos(Phi),-sin(Phi),0,0; -LACH*sin(Phi),cos(Phi),0,0; LAE*cos(Phi),0,-LEF*cos(Beta),-1; LAE*sin(Phi),0,-LEF*sin(Beta),0];
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=-LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2));
ANEXOS ANEXO D
% Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[RAEx;RAEy]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2)); % Posición del CM_ELmF desde el sistema de coordenadas (X,Y) RBF=[RBFx;-m]; RFCM=RBF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) RAC=[RACx;RACy]; RCCM=RBA+RAC+Mtz_TDD1*UV_ELmC; RCCMx=RCCM((1)); RCCMy=RCCM((2));
%*********************************************************** %***************** VELOCIDAD ************************** %***********************************************************
%Determinación de la Velocidad Ec. J*[PhiP,BetaP]+PHIT=0;
%Definimos la matriz PHIT
Inversa=inv(J);
PHIT=[LBC*cos(Theta)*ThetaP;LBC*sin(Theta)*ThetaP;0;0];
%qp=[PhiP,BetaP]=inv(J)*PHIT; qp=-inv(J)*PHIT;
PhiP=qp(1); LACP=qp(2); BetaP=qp(3); RBFxP=qp(4);
%Definimos las velocidades de los eslabones
RBB1xP=-LBB1*cos(Theta)*ThetaP; RBB1yP=-(LBB1)*sin(Theta)*ThetaP; RBCxP=-(LBB1-LCB1)*cos(Theta)*ThetaP; RBCyP=-(LBB1-LCB1)*sin(Theta)*ThetaP; RACxP=-LACP*sin(Phi)-(LAC*cos(Phi)*PhiP); RACyP=LACP*cos(Phi)-(LAC*sin(Phi)*PhiP); RADxP=-LAD*cos(Phi)*PhiP; RADyP=-LAD*sin(Phi)*PhiP; RAD1xP=LAD1*cos(Phi)*PhiP; RAD1yP=LAD1*sin(Phi)*PhiP; RAExP=LAE*cos(Phi)*PhiP; RAEyP=LAE*sin(Phi)*PhiP; REFxP=-LEF*cos(Beta)*BetaP; REFyP=-LEF*sin(Beta)*BetaP; % RBFxP=+LAE*cos(Phi)*PhiP-LEF*cos(Beta)*BetaP;
ANEXOS ANEXO D
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*PhiP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2)); % Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) RAEP=[RAExP;RAEyP] REFCMP=RAEP+Mtz_TEFP*UV_ELmEF*BetaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RBFP=[RBFxP;0]; RFCMP=RBFP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) RACP=[RACxP;RACyP]; RCCMP=RACP+Mtz_TDD1P*UV_ELmC; RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
%*********************************************************** %***************** ACELERACION ************************ %***********************************************************
%Determinación de la Aceleracion Ec.
J*[PhiPP,BetaPP]+JP*[PhiP,BetaP]+PHITP=0;
%Definimos la matriz PHITP PHITP=[LBC*cos(Theta)*ThetaPP-
LBC*sin(Theta)*ThetaP^2;LBC*sin(Theta)*ThetaPP+LBC*cos(Theta)*ThetaP^2;0;
0];
%Definimos la matriz JP JP=[(LACH*sin(Phi)*PhiP)-LACP*cos(Phi),-cos(Phi)*PhiP,0,0; -LACH*cos(Phi)*PhiP-LACP*sin(Phi),-sin(Phi)*PhiP,0,0; -LAE*sin(Phi)*PhiP,0,LEF*sin(Beta)*BetaP,0; LAE*cos(Phi)*PhiP,0,-LEF*cos(Beta)*BetaP,0];
ANEXOS ANEXO D
qpp=-inv(J)*(JP*[PhiP;LACP;BetaP;RBFxP]+PHITP);
%qpp=-inv(J)*(JP*[PhiP;BetaP]+PHITP);
PhiPP=qpp(1); LACPP=qpp(2); BetaPP=qpp(3); RBFxPP=qpp(4);
%Definimos las aceleraciones de los eslabones
RBB1xPP=-(LBB1*cos(Theta)*ThetaPP)+(LBB1*sin(Theta)*ThetaP^2); RBB1yPP=(-(LBB1)*sin(Theta)*ThetaPP)-(LBB1*cos(Theta)*ThetaP^2); RBCxPP=(-(LBB1-LCB1)*cos(Theta)*ThetaPP)+(LBC*sin(Theta)*ThetaP^2); RBCyPP=(-(LBB1-LCB1)*sin(Theta)*ThetaPP)-(LBC*cos(Theta)*ThetaP^2); RACxPP=-(LACPP*sin(Phi))-(LACP*cos(Phi)*PhiP)-(LACP*cos(Phi)*PhiP)-
(LAC*cos(Phi)*PhiPP)+(LAC*sin(Phi)*PhiP^2); RACyPP=(LACPP*cos(Phi))-(LACP*sin(Phi)*PhiP)-(LACP*sin(Phi)*PhiP)-
(LAC*sin(Phi)*PhiPP)-(LAC*cos(Phi)*PhiP^2); RADxPP=-(LAD*cos(Phi)*PhiPP)+(LAD*sin(Phi)*PhiP^2); RADyPP=(-LAD*sin(Phi)*PhiPP)-(LAD*cos(Phi)*PhiP^2); RAD1xPP=(LAD1*cos(Phi)*PhiPP)-(LAD1*sin(Phi)*PhiP^2); RAD1yPP=(LAD1*sin(Phi)*PhiPP)+(LAD1*cos(Phi)*PhiP^2); RAExPP=(LAE*cos(Phi)*PhiPP)-(LAE*sin(Phi)*PhiP^2); RAEyPP=(LAE*sin(Phi)*PhiPP)+(LAE*cos(Phi)*PhiP^2); REFxPP=(-LEF*cos(Beta)*BetaPP)+(LEF*sin(Beta)*BetaP^2); REFyPP=(-LEF*sin(Beta)*BetaPP)-(LEF*cos(Beta)*BetaP^2); % RBFxPP=(LAE*cos(Phi)*PhiPP)-(LAE*sin(Phi)*PhiP^2)-
(LEF*cos(Beta)*BetaPP)+(LEF*sin(Beta)*BetaP^2);
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*PhiPP-Mtz_TDD1*UV_ELmDD1*PhiP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) RAEPP=[RAExPP;RAEyPP]; REFCMPP=RAEPP+Mtz_TEFP*UV_ELmEF*BetaPP-Mtz_TEF*UV_ELmEF*BetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RBFPP=[RBFxPP;0]; RFCMPP=RBFPP; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) RACPP=[RACxPP;RACyPP]; RCCMPP=RACPP+Mtz_TDD1P*UV_ELmC*PhiPP-Mtz_TDD1*UV_ELmC*PhiP^2; RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
ANEXOS ANEXO D
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=(LBC/LACH)*cos(Phi-Theta);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 KLAC=((LACH*sin(Phi)*KPhi)-(LBC*sin(Theta)))/(cos(Phi)); else KLAC=((-LACH*cos(Phi)*KPhi)+(LBC*cos(Theta)))/(sin(Phi)); end
KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta)); KRBFx=(LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta);
%Solución mediante, Jacobiano % J*Kq+Kphi=0; Kq=-inv(J)Kphi
InversaJ=inv(J); KPHIT=[LBC*cos(Theta);LBC*sin(Theta);0;0]; Kq=-inv(J)*KPHIT;
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
LPhi=((-LBC/LACH)*sin(Phi-Theta)*(PhiP-ThetaP))-((LACP*KPhi)/LACH);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LLAC=((LACH*sin(Phi)*LPhi)+((LACP*sin(Phi)+LACH*cos(Phi)*PhiP)*KPhi)+(sin
(Phi)*PhiP*KLAC)+(-LBC*cos(Theta)*ThetaP))/cos(Phi); else LLAC=((-LACH*cos(Phi)*LPhi)+((-
LACP*cos(Phi)+LACH*sin(Phi)*PhiP)*KPhi)+(-cos(Phi)*PhiP*KLAC)+(-
LBC*sin(Theta)*ThetaP))/sin(Phi); end
LBeta=((LAE*sin(Phi)*LPhi)+(LAE*cos(Phi)*PhiP*KPhi)+(-
LEF*cos(Beta)*BetaP*KBeta))/(LEF*sin(Beta)); LRBFx=(LAE*cos(Phi)*LPhi)+(-LEF*cos(Beta)*LBeta)+(-
LAE*sin(Phi)*PhiP*KPhi)+(LEF*sin(Beta)*BetaP*KBeta);
ANEXOS ANEXO D
%Solución matricial mediante, Jacobiano %$JLq+JPKq+KPHITP=0; Lq=-inv(J)*(JPKq+KPHITP)
KPHITP=[-LBC*sin(Theta)*ThetaP;LBC*cos(Theta)*ThetaP;0;0]; Lq=-inv(J)*((JP*Kq)+(KPHITP));
%*********************************************************** %************** OBTENCIÓN DE THETAPP Pos1***************** %*********************************************************** % (((J*Lq)+KPHIT)*ThetaPP)+(((JP*Kq)+KPHITP)*ThetaP)=0; % Sigue estando confuso.
% ThtINVEL1=((JP*Kq)+KPHITP)*ThetaP; % ThtINVEL2=((J*Lq)+KPHIT ); % % ThetaPPINV1=-ThtINVEL1((1))/ThtINVEL2((1)); % ThetaPPINV2=-ThtINVEL1((2))/ThtINVEL2((2)); % ThetaPPINV3=-ThtINVEL1((3))/ThtINVEL2((3)); % ThetaPPINV4=-ThtINVEL1((4))/ThtINVEL2((4));
% ThetaPPINV=[ThetaPPINV1;ThetaPPINV2;ThetaPPINV3;ThetaPPINV4];
%*********************************************************** %************** OBTENCIÓN DE THETAPP Pos2***************** %*********************************************************** % ((J*Kq)+KPHIT)*ThetaPP+((JP*Kq)+(J*Lq)+KPHITP)*ThetaP=0; % Sigue estando confuso.
% ThtINVEL1=((JP*Kq)+(J*Lq)+KPHITP)*ThetaP; % ThtINVEL2=((J*Kq)+KPHIT); % % ThetaPPINV1=-ThtINVEL1((1))/ThtINVEL2((1)); % ThetaPPINV2=-ThtINVEL1((2))/ThtINVEL2((2)); % ThetaPPINV3=-ThtINVEL1((3))/ThtINVEL2((3)); % ThetaPPINV4=-ThtINVEL1((4))/ThtINVEL2((4)); % % ThetaPPINV=[ThetaPPINV1;ThetaPPINV2;ThetaPPINV3;ThetaPPINV4];
%*********************************************************** %************ Definición de QP y QPP ******************** %*********************************************************** % QP=[PhiP,LACP,BetaP,RBFxP]; % QPP=[PhiPP,LACPP,BetaPP,RBFxPP];
QP=Kq*ThetaP; QPP=Kq*ThetaPP+Lq*ThetaP;
ANEXOS ANEXO D
%*********************************************************** %******** OBTENCIÓN DE THETAP MEDIANTE QP ************* %*********************************************************** % ThetaPINV=(Kq'/QP')';
ThtP1=QP((1))/Kq((1)); ThtP2=QP((2))/Kq((2)); ThtP3=QP((3))/Kq((3)); ThtP4=QP((4))/Kq((4)); ThtP=[ThtP1;ThtP2;ThtP3;ThtP4]; % ThetaPINV=(QP/Kq);
%*********************************************************** %******* OBTENCIÓN DE THETAP MEDIANTE QPP ************* %*********************************************************** % QPP=Kq*ThetaPP+Lq*ThetaP;
ThtPP1=(QPP((1))-Lq((1))*ThetaP)/Kq((1)); ThtPP2=(QPP((2))-Lq((2))*ThetaP)/Kq((2)); ThtPP3=(QPP((3))-Lq((3))*ThetaP)/Kq((3)); ThtPP4=(QPP((4))-Lq((4))*ThetaP)/Kq((4)); ThtPP=[ThtPP1;ThtPP2;ThtPP3;ThtPP4];
%*********************************************************** %***************** IMPRESIONES ************************ %***********************************************************
fprintf('i= %g \n',contador); fprintf('Theta(Deg)= %g \n',t); % fprintf('Phi= %g \n',Phi*180/pi); % fprintf('Beta= %g \n',Beta*180/pi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('PhiP= %g \n',PhiP); % fprintf('LACP= %g \n',LACP); % fprintf('BetaP= %g \n',BetaP); % fprintf('RBFxP= %g \n',RBFxP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('PhiPP= %g \n',PhiPP); % fprintf('LACPP= %g \n',LACPP); % fprintf('BetaPP= %g \n',BetaPP); % fprintf('RBFxPP= %g \n',RBFxPP); % fprintf('KPhi= %g \n',KPhi); % fprintf('KLAC= %g \n',KLAC); % fprintf('KBeta= %g \n',KBeta); % fprintf('KRBFx= %g \n',KRBFx); % fprintf('LPhi= %g \n',LPhi); % fprintf('LLAC= %g \n',LLAC); % fprintf('LBeta= %g \n',LBeta); % fprintf('LRBFx= %g \n',LRBFx); % fprintf('ThtP= %g \n',ThtP); % fprintf('ThtPP= %g \n',ThtPP); % fprintf('RBB1CMx= %g \n',RBB1CMx);
ANEXOS ANEXO D
% fprintf('RBB1CMy= %g \n',RBB1CMy); % fprintf('RDD1CMx= %g \n',RDD1CMx); % fprintf('RDD1CMy= %g \n',RDD1CMy); % fprintf('RCCMx= %g \n',RCCMx); % fprintf('RCCMy= %g \n',RCCMy); fprintf('REFCMxP= %g \n',REFCMxP); fprintf('REFCMyP= %g \n',REFCMyP); fprintf('\n\n');
%*********************************************************** %************ RECOPILACIÓN DE DATOS ******************** %***********************************************************
ThetaData(t+1)=(Theta)*180/pi; PhiData(t+1)=(Phi)*180/pi; BetaData(t+1)=(Beta)*180/pi; RBFxData(t+1)=RBFx; LACData(t+1)=LAC+PhiData(t+1);
PhiDataP(t+1)=(PhiP)*180/pi; BetaDataP(t+1)=(BetaP)*180/pi; RBFxDataP(t+1)=RBFxP; LACDataP(t+1)=LACP+PhiDataP(t+1);
PhiDataPP(t+1)=(PhiPP)*180/pi; BetaDataPP(t+1)=(BetaPP)*180/pi; RBFxDataPP(t+1)=RBFxPP; LACDataPP(t+1)=LACPP+PhiDataPP(t+1);
RBB1CMxData(t+1)=RBB1CMx; RBB1CMyData(t+1)=RBB1CMy; RBB1CMxDataP(t+1)=RBB1CMxP; RBB1CMyDataP(t+1)=RBB1CMyP; RBB1CMxDataPP(t+1)=RBB1CMxPP; RBB1CMyDataPP(t+1)=RBB1CMyPP;
RDD1CMxData(t+1)=RDD1CMx; RDD1CMyData(t+1)=RDD1CMy; RDD1CMxDataP(t+1)=RDD1CMxP; RDD1CMyDataP(t+1)=RDD1CMyP; RDD1CMxDataPP(t+1)=RDD1CMxPP; RDD1CMyDataPP(t+1)=RDD1CMyPP;
REFCMxData(t+1)=REFCMx; REFCMyData(t+1)=REFCMy; REFCMxDataP(t+1)=REFCMxP; REFCMyDataP(t+1)=REFCMyP; REFCMxDataPP(t+1)=REFCMxPP; REFCMyDataPP(t+1)=REFCMyPP;
ANEXOS ANEXO D
RFCMxData(t+1)=RFCMx; RFCMyData(t+1)=RFCMy; RFCMxDataP(t+1)=RFCMxP; RFCMyDataP(t+1)=RFCMyP; RFCMxDataPP(t+1)=RFCMxPP; RFCMyDataPP(t+1)=RFCMyPP;
RCCMxData(t+1)=RCCMx; RCCMyData(t+1)=RCCMy; RCCMxDataP(t+1)=RCCMxP; RCCMyDataP(t+1)=RCCMyP; RCCMxDataPP(t+1)=RCCMxPP; RCCMyDataPP(t+1)=RCCMyPP;
%*********************************************************** %************ MECANISMO EN MOVIMIENTO ****************** %***********************************************************
axis([-50 50 -50 50]); plot([0,RBB1x],[0,RBB1y],'k-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBCx],[0,RBCy],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RACx-P],[-H,RACy-H],'b-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RADx-P],[-H,RADy-H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RAD1x-P],[-H,RAD1y-H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RAEx-P],[-H,RAEy-H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P+RAEx,-P+ REFx+RAEx],[RAEy-H,REFy+RAEy-H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBFx],[0,-m],'k-o','LineWidth',1.5) hold on hold off
% Este pause, se pone, para visualizar el mecanismo en movimiento.
pause(0.1);
end close all;
ANEXOS ANEXO D
%*********************************************************** %************ GRAFICAS DE LAS VARIABLES ****************** %************ CON RESPECTO A THETA ****************** %***********************************************************
for i=0:inc:360
axis([0 400 -60 60]); grid on;
% plot(ThetaData(i+1),PhiData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),LACData(i+1),'b-o','LineWidth',0.5) % % plot(ThetaData(i+1),PhiDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),LACDataP(i+1),'b-o','LineWidth',0.5) % % plot(ThetaData(i+1),PhiDataPP(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataPP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),LACDataPP(i+1),'b-o','LineWidth',0.5)
% plot(ThetaData(i+1),RBB1CMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMyDataPP(i+1),'r-o','LineWidth',0.5)
% plot(ThetaData(i+1),RDD1CMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMyDataPP(i+1),'r-o','LineWidth',0.5)
plot(ThetaData(i+1),REFCMxData(i+1),'b-o','LineWidth',0.5) plot(ThetaData(i+1),REFCMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMyDataPP(i+1),'r-o','LineWidth',0.5)
ANEXOS ANEXO D
% plot(ThetaData(i+1),RFCMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMyDataPP(i+1),'r-o','LineWidth',0.5)
% plot(ThetaData(i+1),RCCMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMyDataPP(i+1),'r-o','LineWidth',0.5)
hold on
end
ANEXOS ANEXO E
En este ANEXO se incluyen 2 archivos:
Cinematica_CG_2.m (MATLAB) Cinematica CG.wm2d (Working Model) Utilizando las coordenadas de punto de referencia se muestran las ecuaciones que definen la posición, velocidad y aceleración del centro de gravedad de cada uno de los eslabones del mecanismo de Whitworth.
Cinemática_CG_2.m
% Este programa, muestra la cinemática de un mecanismo de whitworth de % retorno rápido, utilizando la matriz Jacobiano, para la obtención de la % velocidad y aceleracion. % Nota: Estas ecuaciones, tienen 2 incógnitas dependientes de Theta.
clear all %clears all variables and functions clc %clears the command window and homes the cursor close all %closes all the open figure windows
% La variable contador, es importante en el ciclo for, para ubicar en que % ciclo, se presentan los datos. Se utilizo principalmente para que % pudieramos comparar los resultados con el programa en Mathematica.
% La variable inc, nos dice como se va a incrementar la variable de
entrada % Theta.
contador=0; inc=10;
% Los siguientes vectores, se definen, puesto que van a guardar cada uno
de % las variables deseadas para gráficar.
ThetaData=(0:inc:360); PhiData=(0:inc:360); BetaData=(0:inc:360); RBFxData=(0:inc:360); LACData=(0:inc:360);
PhiDataP=(0:inc:360); BetaDataP=(0:inc:360); RBFxDataP=(0:inc:360); LACDataP=(0:inc:360);
ANEXO E
ANEXOS ANEXO E
PhiDataPP=(0:inc:360); BetaDataPP=(0:inc:360); RBFxDataPP=(0:inc:360); LACDataPP=(0:inc:360);
RBB1CMxData=(0:inc:360); RBB1CMyData=(0:inc:360); RBB1CMxDataP=(0:inc:360); RBB1CMyDataP=(0:inc:360); RBB1CMxDataPP=(0:inc:360); RBB1CMyDataPP=(0:inc:360);
RDD1CMxData=(0:inc:360); RDD1CMyData=(0:inc:360); RDD1CMxDataP=(0:inc:360); RDD1CMyDataP=(0:inc:360); RDD1CMxDataPP=(0:inc:360); RDD1CMyDataPP=(0:inc:360);
REFCMxData=(0:inc:360); REFCMyData=(0:inc:360); REFCMxDataP=(0:inc:360); REFCMyDataP=(0:inc:360); REFCMxDataPP=(0:inc:360); REFCMyDataPP=(0:inc:360);
RFCMxData=(0:inc:360); RFCMyData=(0:inc:360); RFCMxDataP=(0:inc:360); RFCMyDataP=(0:inc:360); RFCMxDataPP=(0:inc:360); RFCMyDataPP=(0:inc:360);
RCCMxData=(0:inc:360); RCCMyData=(0:inc:360); RCCMxDataP=(0:inc:360); RCCMyDataP=(0:inc:360); RCCMxDataPP=(0:inc:360); RCCMyDataPP=(0:inc:360);
ANEXOS ANEXO E
for t=0:inc:360 contador=contador+1; Theta=t*pi/180;
%Magnitudes de los eslabones
LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
%Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
%Velocidad ángular de entrada ThetaP=100*pi/180;
% Aceleracion ángular de entrada ThetaPP=0*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; % Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC];
ANEXOS ANEXO E
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && t>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && t<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
ANEXOS ANEXO E
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir %NOTA: Para calcular la componente y, es necesario restar H
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
%Definimos el Jacobiano
J=[-LBC*cos(Phi-Theta)-H*cos(Phi)+P*sin(Phi),0; LAE*sin(Phi),-LEF*sin(Beta)];
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=-LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[RAEx;RAEy]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2));
ANEXOS ANEXO E
% Posición del CM_ELmF desde el sistema de coordenadas (X,Y) RBF=[RBFx;-m]; RFCM=RBF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) RAC=[RACx;RACy]; RCCM=RBA+RAC+Mtz_TDD1*UV_ELmC; RCCMx=RCCM((1)); RCCMy=RCCM((2));
%*********************************************************** %***************** VELOCIDAD ************************** %***********************************************************
%Determinación de la Velocidad Ec. J*[PhiP,BetaP]+PHIT=0;
%Definimos la matriz PHIT
PHIT=[LBC*cos(Phi-Theta)*ThetaP;0];
%qp=[PhiP,BetaP]=inv(J)*PHIT; Inversa=inv(J);
qp=-inv(J)*PHIT; PhiP=qp(1); BetaP=qp(2);
%Velocidad de los eslabones
% Calculamos LACP, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LACP=((-
LBC*sin(Theta)*ThetaP)/cos(Phi))+(((LBC*cos(Theta)+H)*sin(Phi)*PhiP)/((co
s(Phi))^2)); else
LACP=((LBC*cos(Theta)*ThetaP)/sin(Phi))-(((LBC*sin(Theta)-
P)*cos(Phi)*PhiP)/((sin(Phi))^2)); end
RBB1xP=-LBB1*cos(Theta)*ThetaP; RBB1yP=-(LBB1)*sin(Theta)*ThetaP; RBCxP=-(LBB1-LCB1)*cos(Theta)*ThetaP; RBCyP=-(LBB1-LCB1)*sin(Theta)*ThetaP; RACxP=-LACP*sin(Phi)-(LAC*cos(Phi)*PhiP); RACyP=LACP*cos(Phi)-(LAC*sin(Phi)*PhiP); RADxP=-LAD*cos(Phi)*PhiP; RADyP=-LAD*sin(Phi)*PhiP; RAD1xP=LAD1*cos(Phi)*PhiP;
ANEXOS ANEXO E
RAD1yP=LAD1*sin(Phi)*PhiP; RAExP=LAE*cos(Phi)*PhiP; RAEyP=LAE*sin(Phi)*PhiP; REFxP=-LEF*cos(Beta)*BetaP; REFyP=-LEF*sin(Beta)*BetaP; RBFxP=LAE*cos(Phi)*PhiP-LEF*cos(Beta)*BetaP;
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*PhiP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2)); % Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) RAEP=[RAExP;RAEyP]; REFCMP=RAEP+Mtz_TEFP*UV_ELmEF*BetaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RBFP=[RBFxP;0]; RFCMP=RBFP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) RACP=[RACxP;RACyP]; RCCMP=RACP+Mtz_TDD1P*UV_ELmC; RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
%*********************************************************** %***************** ACELERACION ************************ %***********************************************************
%Determinación de la Aceleracion Ec.
J*[PhiPP,BetaPP]+JP*[PhiP,BetaP]+PHITP=0;
%Definimos la matriz PHITP
PHITP=[(LBC*cos(Phi-Theta)*ThetaPP)-LBC*sin(Phi-Theta)*(PhiP-
ThetaP)*ThetaP;0];
ANEXOS ANEXO E
%Definimos la matriz JP
JP=[(LBC*sin(Phi-Theta)*(PhiP-
ThetaP))+(H*sin(Phi)*PhiP)+P*cos(Phi)*PhiP,0; LAE*cos(Phi)*PhiP,-LEF*cos(Beta)*BetaP];
% JP=[(-(LBC*sin(Theta)+P)*cos(Phi)*PhiP)-
(LBC*cos(Theta)*ThetaP*sin(Phi))+((LBC*cos(Theta)+H)*sin(Phi)*PhiP)+(LBC*
sin(Theta)*ThetaP*cos(Phi)),0; % (LAE*cos(Phi)*PhiP),-LEF*cos(Beta)*BetaP];
qpp=-inv(J)*(JP*[PhiP;BetaP]+PHITP); PhiPP=qpp(1); BetaPP=qpp(2);
%Aceleracion de los eslabones
%Calculamos LACPP, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LACPPA1=((-LBC*cos(Theta)*(ThetaP^2))-
(LBC*sin(Theta)*ThetaPP))/cos(Phi); LACPPA2=(LBC*sin(Theta)*sin(Phi)*ThetaP*PhiP)/((cos(Phi))^2); LACPPA3=((LBC*sin(Theta)*ThetaP)*(sin(Phi)*PhiP))/((cos(Phi))^2); LACPPA4=((LBC*cos(Theta)+H)*sin(Phi)*PhiPP)/((cos(Phi))^2); LACPPA5=((LBC*cos(Theta)+H)*cos(Phi)*PhiP^2)/((cos(Phi))^2); LACPPA6=(2*(LBC*cos(Theta)+H)*((sin(Phi))^2)*PhiP^2)/((cos(Phi))^3);
LACPP=LACPPA1-LACPPA2-LACPPA3+LACPPA4+LACPPA5+LACPPA6;
else
LACPPB1=((LBC*cos(Theta)*ThetaPP)-
(LBC*sin(Theta)*ThetaP^2))/sin(Phi); LACPPB2=(LBC*cos(Theta)*cos(Phi)*ThetaP*PhiP)/((sin(Phi))^2); LACPPB3=(LBC*cos(Theta)*cos(Phi)*ThetaP*PhiP)/((sin(Phi))^2); LACPPB4=((LBC*sin(Theta)-P)*cos(Phi)*PhiPP)/((sin(Phi))^2); LACPPB5=((LBC*sin(Theta)-P)*sin(Phi)*PhiP^2)/((sin(Phi))^2); LACPPB6=(2*(LBC*sin(Theta)-P)*((cos(Phi))^2)*PhiP^2)/((sin(Phi))^3);
LACPP=LACPPB1-LACPPB2-LACPPB3-LACPPB4+LACPPB5+LACPPB6;
end
ANEXOS ANEXO E
%Definimos las aceleraciones de los eslabones
RBB1xPP=-(LBB1*cos(Theta)*ThetaPP)+(LBB1*sin(Theta)*ThetaP^2); RBB1yPP=(-(LBB1)*sin(Theta)*ThetaPP)-(LBB1*cos(Theta)*ThetaP^2); RBCxPP=(-(LBB1-LCB1)*cos(Theta)*ThetaPP)+(LBC*sin(Theta)*ThetaP^2); RBCyPP=(-(LBB1-LCB1)*sin(Theta)*ThetaPP)-(LBC*cos(Theta)*ThetaP^2); RACxPP=-(LACPP*sin(Phi))-(LACP*cos(Phi)*PhiP)-(LACP*cos(Phi)*PhiP)-
(LAC*cos(Phi)*PhiPP)+(LAC*sin(Phi)*PhiP^2); RACyPP=(LACPP*cos(Phi))-(LACP*sin(Phi)*PhiP)-(LACP*sin(Phi)*PhiP)-
(LAC*sin(Phi)*PhiPP)-(LAC*cos(Phi)*PhiP^2); RADxPP=-(LAD*cos(Phi)*PhiPP)+(LAD*sin(Phi)*PhiP^2); RADyPP=(-LAD*sin(Phi)*PhiPP)-(LAD*cos(Phi)*PhiP^2); RAD1xPP=(LAD1*cos(Phi)*PhiPP)-(LAD1*sin(Phi)*PhiP^2); RAD1yPP=(LAD1*sin(Phi)*PhiPP)+(LAD1*cos(Phi)*PhiP^2); RAExPP=(LAE*cos(Phi)*PhiPP)-(LAE*sin(Phi)*PhiP^2); RAEyPP=(LAE*sin(Phi)*PhiPP)+(LAE*cos(Phi)*PhiP^2); REFxPP=(-LEF*cos(Beta)*BetaPP)+(LEF*sin(Beta)*BetaP^2); REFyPP=(-LEF*sin(Beta)*BetaPP)-(LEF*cos(Beta)*BetaP^2); RBFxPP=(LAE*cos(Phi)*PhiPP)-(LAE*sin(Phi)*PhiP^2)-
(LEF*cos(Beta)*BetaPP)+(LEF*sin(Beta)*BetaP^2);
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*PhiPP-Mtz_TDD1*UV_ELmDD1*PhiP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) RAEPP=[RAExPP;RAEyPP]; REFCMPP=RAEPP+Mtz_TEFP*UV_ELmEF*BetaPP-Mtz_TEF*UV_ELmEF*BetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RBFPP=[RBFxPP;0]; RFCMPP=RBFPP; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) RACPP=[RACxPP;RACyPP]; RCCMPP=RACPP+Mtz_TDD1P*UV_ELmC*PhiPP-Mtz_TDD1*UV_ELmC*PhiP^2; RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
ANEXOS ANEXO E
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
%NOTA: tuve que cambiar el signo de KPhi. Tenemos que revisar las %ecuaciones
KPhi=(LBC*cos(Phi-Theta))/((LBC*cos(Phi-Theta))+(H*cos(Phi))-
(P*sin(Phi))); KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta));
%Solución mediante, Jacobiano % J*Kq+Kphi=0; Kq=-inv(J)Kphi
InversaJ=inv(J); KPHIT=[-LBC*cos(Phi-Theta);0]; Kq=-inv(J)*KPHIT;
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
%NOTA: tuve que cambiar el signo de LPhi. Tenemos que revisar las %ecuaciones
LPhi=(((-LBC*sin(Phi-Theta)*(PhiP-ThetaP))*(LBC*cos(Phi-
Theta)+H*cos(Phi)-P*sin(Phi)))-((LBC*cos(Phi-Theta))*(-LBC*sin(Phi-
Theta)*(PhiP-ThetaP)-H*sin(Phi)*PhiP-P*cos(Phi)*PhiP)))/((LBC*cos(Phi-
Theta)+H*cos(Phi)-P*sin(Phi))^2); LBeta=(((((LAE*sin(Phi))*LPhi)+(LAE*cos(Phi)*PhiP*KPhi))*(LEF*sin(Beta)))
-((LAE*sin(Phi)*KPhi)*(LEF*cos(Beta)*BetaP)))/((LEF*sin(Beta))^2);
%Solución matricial mediante, Jacobiano %$JLq+JPKq+KPHITP=0; Lq=-inv(J)*(JPKq+KPHITP)
KPHITP=[LBC*sin(Phi-Theta)*(PhiP-ThetaP);0]; Lq=-inv(J)*((JP*Kq)+(KPHITP));
ANEXOS ANEXO E
%*********************************************************** %************ Definición de QP y QPP ******************** %*********************************************************** % QP=[PhiP,LACP,BetaP,RBFxP]; % QPP=[PhiPP,LACPP,BetaPP,RBFxPP];
QP=Kq*ThetaP; QPP=Kq*ThetaPP+Lq*ThetaP;
%*********************************************************** %******** OBTENCIÓN DE THETAP MEDIANTE QP ************* %*********************************************************** % QP=Kq*ThetaP;
ThtP1=QP((1))/Kq((1)); ThtP2=QP((2))/Kq((2)); ThtP=[ThtP1;ThtP2]; % ThtP=(QP/Kq);
%*********************************************************** %******* OBTENCIÓN DE THETAP MEDIANTE QPP ************* %*********************************************************** % QPP=Kq*ThetaPP+Lq*ThetaP;
ThtPP1=(QPP((1))-Lq((1))*ThetaP)/Kq((1)); ThtPP2=(QPP((2))-Lq((2))*ThetaP)/Kq((2)); ThtPP=[ThtPP1;ThtPP2];
%*********************************************************** %***************** IMPRESIONES ************************ %***********************************************************
fprintf('i= %g \n',contador); % fprintf('Theta(Deg)= %g \n',t); % fprintf('Phi= %g \n',Phi*180/pi); % fprintf('Beta= %g \n',Beta*180/pi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('PhiP= %g \n',PhiP); % fprintf('LACP= %g \n',LACP); % fprintf('BetaP= %g \n',BetaP); % fprintf('RBFxP= %g \n',RBFxP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('PhiPP= %g \n',PhiPP); % fprintf('LACPP= %g \n',LACPP); % fprintf('BetaPP= %g \n',BetaPP); % fprintf('RBFxPP= %g \n',RBFxPP); % fprintf('KPhi= %g \n',KPhi); % fprintf('KBeta= %g \n',KBeta); % fprintf('LPhi= %g \n',LPhi); % fprintf('LBeta= %g \n',LBeta);
ANEXOS ANEXO E
% fprintf('ThtP= %g \n',ThtP); % fprintf('ThtPP= %g \n',ThtPP); fprintf('REFCMxP= %g \n',REFCMxP); fprintf('REFCMyP= %g \n',REFCMyP); fprintf('\n\n');
%*********************************************************** %************ RECOPILACIÓN DE DATOS ******************** %***********************************************************
ThetaData(t+1)=(Theta)*180/pi; PhiData(t+1)=(Phi)*180/pi; BetaData(t+1)=(Beta)*180/pi; RBFxData(t+1)=RBFx; LACData(t+1)=LAC+PhiData(t+1);
PhiDataP(t+1)=(PhiP)*180/pi; BetaDataP(t+1)=(BetaP)*180/pi; RBFxDataP(t+1)=RBFxP; LACDataP(t+1)=LACP+PhiDataP(t+1);
PhiDataPP(t+1)=(PhiPP)*180/pi; BetaDataPP(t+1)=(BetaPP)*180/pi; RBFxDataPP(t+1)=RBFxPP; LACDataPP(t+1)=LACPP+PhiDataPP(t+1);
RBB1CMxData(t+1)=RBB1CMx; RBB1CMyData(t+1)=RBB1CMy; RBB1CMxDataP(t+1)=RBB1CMxP; RBB1CMyDataP(t+1)=RBB1CMyP; RBB1CMxDataPP(t+1)=RBB1CMxPP; RBB1CMyDataPP(t+1)=RBB1CMyPP;
RDD1CMxData(t+1)=RDD1CMx; RDD1CMyData(t+1)=RDD1CMy; RDD1CMxDataP(t+1)=RDD1CMxP; RDD1CMyDataP(t+1)=RDD1CMyP; RDD1CMxDataPP(t+1)=RDD1CMxPP; RDD1CMyDataPP(t+1)=RDD1CMyPP;
REFCMxData(t+1)=REFCMx; REFCMyData(t+1)=REFCMy; REFCMxDataP(t+1)=REFCMxP; REFCMyDataP(t+1)=REFCMyP; REFCMxDataPP(t+1)=REFCMxPP; REFCMyDataPP(t+1)=REFCMyPP;
ANEXOS ANEXO E
RFCMxData(t+1)=RFCMx; RFCMyData(t+1)=RFCMy; RFCMxDataP(t+1)=RFCMxP; RFCMyDataP(t+1)=RFCMyP; RFCMxDataPP(t+1)=RFCMxPP; RFCMyDataPP(t+1)=RFCMyPP;
RCCMxData(t+1)=RCCMx; RCCMyData(t+1)=RCCMy; RCCMxDataP(t+1)=RCCMxP; RCCMyDataP(t+1)=RCCMyP; RCCMxDataPP(t+1)=RCCMxPP; RCCMyDataPP(t+1)=RCCMyPP;
%*********************************************************** %************ MECANISMO EN MOVIMIENTO ****************** %***********************************************************
axis([-50 50 -50 50]); plot([0,RBB1x],[0,RBB1y],'k-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBCx],[0,RBCy],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RACx-P],[-H,RACy-H],'b-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RADx-P],[-H,RADy-H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RAD1x-P],[-H,RAD1y-H],'g-o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P,RAEx-P],[-H,RAEy-H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([-P+RAEx,-P+ REFx+RAEx],[RAEy-H,REFy+RAEy-H],'r -o','LineWidth',1.5) hold on axis([-50 50 -50 50]); plot([0,RBFx],[0,-m],'k-o','LineWidth',1.5) hold on
hold off
% Este pause, se pone, para visualizar el mecanismo en movimiento.
pause(0.1);
end close all;
ANEXOS ANEXO E
%*********************************************************** %************ GRAFICAS DE LAS VARIABLES ****************** %************ CON RESPECTO A THETA ****************** %***********************************************************
for i=0:inc:360 % fprintf('i= %g \n',i); % fprintf('ThetaData(i)= %g \n',ThetaData(i+1)); % fprintf('PhiData(i)= %g \n',PhiData(i+1)); % fprintf('BetaData(i)= %g \n',BetaData(i+1)); % fprintf('\n \n');
axis([0 400 0 170]); grid on;
% plot(ThetaData(i+1),PhiData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxData(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),LACData(i+1),'b-o','LineWidth',0.5)
plot(ThetaData(i+1),PhiDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),LACDataP(i+1),'b-o','LineWidth',0.5)
% plot(ThetaData(i+1),PhiDataPP(i+1),'k-o','LineWidth',0.5) % plot(ThetaData(i+1),BetaDataPP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBFxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),LACDataPP(i+1),'b-o','LineWidth',0.5)
% plot(ThetaData(i+1),RBB1CMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RBB1CMyDataPP(i+1),'r-o','LineWidth',0.5)
% plot(ThetaData(i+1),RDD1CMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RDD1CMyDataPP(i+1),'r-o','LineWidth',0.5)
% plot(ThetaData(i+1),REFCMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),REFCMyDataPP(i+1),'r-o','LineWidth',0.5)
% plot(ThetaData(i+1),RFCMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMyData(i+1),'r-o','LineWidth',0.5)
ANEXOS ANEXO E
% plot(ThetaData(i+1),RFCMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RFCMyDataPP(i+1),'r-o','LineWidth',0.5)
% plot(ThetaData(i+1),RCCMxData(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMyData(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMxDataP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMyDataP(i+1),'r-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMxDataPP(i+1),'b-o','LineWidth',0.5) % plot(ThetaData(i+1),RCCMyDataPP(i+1),'r-o','LineWidth',0.5)
hold on
end
ANEXOS ANEXO F
En este ANEXO se incluyen 3 archivos:
Dim_Simulk.m (MATLAB) Dim.mdl (MATLAB) Dinamica_EK.wm2d (Working Model) Se presenta la dinámica del mecanismo, utilizando el método de EKsergian
Dim_Simulk.m
%*********************************************************** %****************** Dim_Simulk ******************* %***********************************************************
% En este programa se desarrollan las ecuaciones de Lagrange obtenidas % para la dinamica del mecanismo de Whitworth, para ser implementada
como1 % clc % clear all % close all % % inc=10; % contador=0; % % for t=0:inc:360 % contador=contador+1;
function qpp=Dim_Simulk(u)
%*********************************************************** %****************** DATOS ******************* %***********************************************************
syms ThetaPP;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
ANEXO F
ANEXOS ANEXO F
% Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
% Velocidad ángular de retroalimentación ThetaP=u(1); % ThetaP=10;
% Posición ángular de entrada Theta=u(2); % Theta=t*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Posición Aplicacion de la Fuerza u7=6; v7=0;
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
ANEXOS ANEXO F
% Masa e Inercia BB1 mBB1=30; IBB1=272.5; % Masa e Inercia DD1 mDD1=140; IDD1=200; % Masa e Inercia EF mEF=3; IEF=100; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque % MTorque=100; % FBCG=-50; MTorque=0; Fcorte=0;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
ANEXOS ANEXO F
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
LACH=LAC;
%Definimos las posiciones de los eslabones
RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=(LBC/LACH)*cos(Phi-Theta);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 KLAC=((LACH*sin(Phi)*KPhi)-(LBC*sin(Theta)))/(cos(Phi)); else KLAC=((-LACH*cos(Phi)*KPhi)+(LBC*cos(Theta)))/(sin(Phi)); end
ANEXOS ANEXO F
KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta)); KRBFx=(LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta);
K=[KPhi;KLAC;KBeta;KRBFx;1];
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Solución mediante, manipulación de ecuaciones. %NOTA: Checar los coeficientes sustituyendo por K*ThetaP
%Se divide entre ThetaP, Para que exista coherencia en este método, ya
que %las ecuaciones se obtuvieron, primero mediante el metodo de los %multiplicadores ó %Se obtienen nuevamente los coeficientes L, con respecto a ThetaP, como
se %hizo ahora.
LPhi=((-LBC/LACH)*sin(Phi-Theta)*(KPhi-1))-((LBC*cos(Phi-
Theta)*KLAC)/LACH^2);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LLAC=((((KLAC*sin(Phi)*KPhi)+(LAC*cos(Phi)*KPhi^2)+(LAC*sin(Phi)*LPhi)-
(LBC*cos(Theta)))*cos(Phi))+(((LAC*sin(Phi)*KPhi)-
(LBC*sin(Theta)))*sin(Phi)*cos(Phi)))/((cos(Phi))^2);
else LLAC=((((-KLAC*cos(Phi)*KPhi)+(LAC*sin(Phi)*KPhi^2)-
(LAC*cos(Phi)*LPhi)-(LBC*sin(Theta)))*sin(Phi))-(((-
LAC*cos(Phi)*KPhi)+(LBC*cos(Theta)))*cos(Phi)*KPhi))/((sin(Phi))^2);
end
LBeta=((((LAE*cos(Phi)*KPhi^2)+(LAE*sin(Phi)*LPhi))*(LEF*sin(Beta)))-
((LAE*sin(Phi)*KPhi)*(LEF*cos(Beta)*KBeta)))/((LEF*sin(Beta))^2); LRBFx=(-LAE*sin(Phi)*KPhi^2)+(LAE*cos(Phi)*LPhi)+(LEF*sin(Beta)*KBeta^2)-
(LEF*cos(Beta)*LBeta);
L=[LPhi;LLAC;LBeta;LRBFx;0];
ANEXOS ANEXO F
%*********************************************************** %****************** POSICIÓN CM ************************ %***********************************************************
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[LAE*sin(Phi);-LAE*cos(Phi)]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2)); % Posición del CM_ELmF desde el sistema de coordenadas (X,Y) REF=[-LEF*sin(Beta);LEF*cos(Beta)]; RFCM=RBA+RAE+REF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) RCCM=RBA+[-LAC*sin(Phi);LAC*cos(Phi)]+Mtz_TDD1*UV_ELmC; RCCMx=RCCM((1)); RCCMy=RCCM((2));
%*********************************************************** %****************** VELOCIDAD CM ************************ %***********************************************************
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2));
ANEXOS ANEXO F
% Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP+Mtz_TEFP*UV_ELmEF*KBeta*Th
etaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi*ThetaP;KLAC*ThetaP]+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
% %*********************************************************** % %****************** ACELERACIÓN CM ********************** % %*********************************************************** % % % Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) % RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; % RBB1CMxPP=RBB1CMPP((1)); % RBB1CMyPP=RBB1CMPP((2)); % % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) %
RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmDD1*LPhi*ThetaP
-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; % RDD1CMxPP=RDD1CMPP((1)); % RDD1CMyPP=RDD1CMPP((2)); % % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) %
REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; % REFCMxPP=REFCMPP((1)); % REFCMyPP=REFCMPP((2)); % % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) %
RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; % RFCMxPP=RFCMPP((1)); % RFCMyPP=RFCMPP((2)); % % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) % RCCMPP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi;KLAC]*ThetaPP+[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[LPhi;LLAC]*ThetaP+[LAC*sin(Phi)*KPhi -2*cos(Phi)*KPhi;-
LAC*cos(Phi)*KPhi -
2*sin(Phi)*KPhi]*[KPhi;KLAC]*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP+Mtz_
TDD1P*UV_ELmC*KPhi*LPhi*ThetaP-Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2;
ANEXOS ANEXO F
% RCCMxPP=RCCMPP((1)); % RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** Inercia General ****************** %***********************************************************
IG=(mBB1*(u2^2+v2^2))+IBB1+(mDD1*((u4^2+v4^2)*KPhi^2))+(IDD1*(KPhi^2))+(m
EF*((LAE^2*KPhi^2)+((u5^2+v5^2)*KBeta^2)+(2*LAE*sin(Phi-
Beta)*u5*KPhi*KBeta)-(2*LAE*cos(Phi-
Beta)*v5*KPhi*KBeta)))+(IEF*(KBeta^2))+(mF*(KRBFx^2))+(mC*(KLAC^2+((LAC^2
+u3^2+2*LAC*v3+v3^2)*KPhi^2)+(2*u3*KLAC*KPhi)))+(IC*(KPhi^2));
%*********************************************************** %******** Derivada Inercia General contra Theta ******** %***********************************************************
IGp=(mDD1*((u4^2+v4^2)*KPhi*LPhi))+(IDD1*(KPhi*LPhi))+(mEF*((LAE^2*KPhi*L
Phi)+((u5^2+v5^2)*KBeta*LBeta)+(LAE*cos(Phi-Beta)*(KPhi-
KBeta)*u5*KPhi*KBeta)+(LAE*sin(Phi-Beta)*u5*LPhi*KBeta)+(LAE*sin(Phi-
Beta)*u5*KPhi*LBeta)+(LAE*sin(Phi-Beta)*(KPhi-KBeta)*v5*KPhi*KBeta)-
(LAE*cos(Phi-Beta)*v5*LPhi*KBeta)-(LAE*cos(Phi-
Beta)*v5*KPhi*LBeta)))+(IEF*KBeta*LBeta)+(mF*(KRBFx*LRBFx))+(mC*((KLAC*LL
AC)+((LAC*KLAC+KLAC*v3)*KPhi^2)+((LAC^2+u3^2+2*LAC*v3+v3^2)*KPhi*LPhi)+(u
3*LLAC*KPhi)+(u3*KLAC*LPhi)))+(IC*(KPhi*LPhi));
%*********************************************************** %********* Derivada Potencial ********** %***********************************************************
Vp=(mBB1*((cos(Theta)*u2)-(sin(Theta)*v2)))+(mDD1*((cos(Phi)*KPhi*u4)-
(sin(Phi)*KPhi*v4)))+(mEF*((LAE*sin(Phi)*KPhi)+(cos(Beta)*KBeta*u5)-
(sin(Beta)*KBeta*v5)))+(mC*((KLAC*cos(Phi))-
(LAC*sin(Phi)*KPhi)+(cos(Phi)*KPhi*u3)-(sin(Phi)*KPhi*v3)));
%*********************************************************** %********* Dinámica ********** %***********************************************************
%PRUEBA Dist=((LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta)); QExt=MTorque+(Fcorte*Dist);
ThetaPP=(1/IG)*(QExt-(IGp*ThetaP*ThetaP)-(Vp*g)); % ThetaPP=10;
ANEXOS ANEXO F
%*********************************************************** %****************** ACELERACIÓN CM ********************** %***********************************************************
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*(UV_ELmDD1*KPhi*ThetaPP)+Mtz_TDD1P*(UV_ELmDD1*LPhi*The
taP^2)-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP^2+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP^2-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP^2+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP^2+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMPP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi;KLAC]*ThetaPP+[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[LPhi;LLAC]*ThetaP^2+[-KLAC*cos(Phi)+KPhi*LAC*sin(Phi) -
KPhi*cos(Phi);-KLAC*sin(Phi)-KPhi*LAC*cos(Phi) -
KPhi*sin(Phi)]*[KPhi;KLAC]*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP+Mtz_TD
D1P*UV_ELmC*KPhi*LPhi*ThetaP^2-
Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2;RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
% fprintf('t= %g \n',t); % fprintf('Theta= %g \n',t); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('Phi= %g \n',Phi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('KPhi= %g \n',KPhi); % fprintf('KBeta= %g \n',KBeta); % fprintf('KLAC= %g \n',KLAC); % fprintf('KRBFx= %g \n',KRBFx); % fprintf('LPhi= %g \n',LPhi);
ANEXOS ANEXO F
% fprintf('LBeta= %g \n',LBeta); % fprintf('LLAC= %g \n',LLAC); % fprintf('LRBFx= %g \n',LRBFx); % fprintf('u2= %g \n',u2); % fprintf('v2= %g \n',v2); % fprintf('u4= %g \n',u4); % fprintf('v4= %g \n',v4); % fprintf('u5= %g \n',u5); % fprintf('v5= %g \n',v5); % fprintf('u3= %g \n',u3); % fprintf('v3= %g \n',v3); % fprintf('u6= %g \n',u6); % fprintf('v6= %g \n',v6); % fprintf('IBB1= %g \n',IBB1); % fprintf('IDD1= %g \n',IDD1); % fprintf('IEF= %g \n',IEF); % fprintf('IF= %g \n',IF); % fprintf('IC= %g \n',IC); % fprintf('mBB1= %g \n',mBB1); % fprintf('mDD1= %g \n',mDD1); % fprintf('mEF= %g \n',mEF); % fprintf('mF= %g \n',mF); % fprintf('mC= %g \n',mC); % fprintf('IG= %g \n',IG); % fprintf('IGp*ThetaP^2= %g \n',IGp*ThetaP*ThetaP); % fprintf('Vp= %g \n',Vp);
% fprintf('RBB1CMPP= %g \n',RBB1CMPP); % fprintf('RDD1CMPP= %g \n',RDD1CMPP); % fprintf('REFCMPP= %g \n',REFCMPP); % fprintf('RFCMP= %g \n',RFCMP); % fprintf('RFCMPP= %g \n',RFCMPP); % fprintf('RCCMP= %g \n',RCCMP); % fprintf('RCCMPP= %g \n',RCCMPP); % fprintf('\n');
qpp = ThetaPP;
% end
ANEXOS ANEXO G
En este ANEXO se incluyen 3 archivos:
Dinamica_Simulk_2var.m (MATLAB) Dinamica_2var.mdl (MATLAB) Dinamica_MLagrange.wm2d (Working Model) Se presenta la dinámica del mecanismo, utilizando el método de los multiplicadores de Lagrange
Dinamica_Simulk_2var.m
%*********************************************************** %****************** Dinamica_Simulk ******************* %***********************************************************
% En este programa se desarrollan las ecuaciones de Lagrange obtenidas % para la dinamica del mecanismo de Whitworth, para ser implementada
como1
% clear all % close all % clc % % inc=10; % contador=0; % % for t=0:inc:360 % contador=contador+1; % Theta=t*pi/180;
function qpp=Dinamica_Simulk_2var(u)
%*********************************************************** %****************** DATOS ******************* %***********************************************************
syms ThetaPP;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
ANEXO G
ANEXOS ANEXO G
% Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
% Velocidad ángular de retroalimentación ThetaP=u(1); % ThetaP=10;
% Posición ángular de entrada Theta=u(2); % Theta=t*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
% Masa e Inercia BB1 mBB1=30; IBB1=272.500; % Masa e Inercia DD1 mDD1=140; IDD1=200;
ANEXOS ANEXO G
% Masa e Inercia EF mEF=3; IEF=10; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque % MTorque=1000; MTorque=0; % FBCG=100; FBCG=0;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
ANEXOS ANEXO G
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
LACH=LAC;
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=-LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=((LBC*cos(Phi-Theta))/(LBC*cos(Phi-Theta)+H*cos(Phi)-P*sin(Phi))); KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta));
K=[KPhi;KBeta;1];
ANEXOS ANEXO G
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Solución mediante, manipulación de ecuaciones. %NOTA: Checar los coeficientes sustituyendo por K*ThetaP
LPhi=(((-LBC*sin(Phi-Theta)*((KPhi*ThetaP)-ThetaP))*(LBC*cos(Phi-
Theta)+H*cos(Phi)-P*sin(Phi)))-((LBC*cos(Phi-Theta))*(-LBC*sin(Phi-
Theta)*((KPhi*ThetaP)-ThetaP)-H*sin(Phi)*(KPhi*ThetaP)-
P*cos(Phi)*(KPhi*ThetaP))))/((LBC*cos(Phi-Theta)+H*cos(Phi)-
P*sin(Phi))^2); LBeta=((LAE*sin(Phi)*LPhi)+(LAE*cos(Phi)*KPhi*ThetaP*KPhi)-
(LEF*cos(Beta)*KBeta*ThetaP*KBeta))/(LEF*sin(Beta));
L=[LPhi;LBeta;0];
%*********************************************************** %****************** POSICIÓN CM ************************ %***********************************************************
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[RAEx;RAEy]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2)); % Posición del CM_ELmF desde el sistema de coordenadas (X,Y) RBF=[RBFx;-m]; REF=[REFx;REFy]; RFCM=RBA+RAE+REF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCM=RBA+[-
(LBC*cos(Theta)+H)*sin(Phi)/cos(Phi);LBC*cos(Theta)+H]+Mtz_TDD1*UV_ELmC; else RCCM=RBA+[-(LBC*sin(Theta)-P);(LBC*sin(Theta)-
P)*cos(Phi)/sin(Phi)]+Mtz_TDD1*UV_ELmC; end RCCMx=RCCM((1)); RCCMy=RCCM((2));
ANEXOS ANEXO G
%*********************************************************** %****************** VELOCIDAD CM ************************ %***********************************************************
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2)); % Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP+Mtz_TEFP*UV_ELmEF*KBeta*Th
etaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCMP=[(LBC*sin(Theta)*sin(Phi))/cos(Phi);-
LBC*sin(Theta)]*ThetaP+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
(LBC*cos(Theta)+H);0]*KPhi*ThetaP-
[(LBC*cos(Theta)+H);0]*KPhi*ThetaP+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; else RCCMP=[-LBC*cos(Theta);(LBC*cos(Theta)*cos(Phi))/sin(Phi)]*ThetaP-
[0;((LBC*sin(Theta)-P)/(sin(Phi))^2)-(LBC*sin(Theta)-P)]*KPhi*ThetaP-
[0;LBC*sin(Theta)-P]*KPhi*ThetaP+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; end RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
ANEXOS ANEXO G
%*********************************************************** %****************** ACELERACIÓN CM ********************** %***********************************************************
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmDD1*LPhi*ThetaP
-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCMPP=[(LBC*sin(Theta)*sin(Phi))/cos(Phi);-
LBC*sin(Theta)]*ThetaPP+[(LBC*cos(Theta)*sin(Phi))/cos(Phi);-
LBC*cos(Theta)]*ThetaP^2+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
2*(LBC*cos(Theta)+H);0]*KPhi*ThetaPP+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
2*(LBC*cos(Theta)+H);0]*LPhi*ThetaP+[((2*(LBC*cos(Theta)+H)*sin(Phi))/(co
s(Phi))^3);0]*KPhi^2*ThetaP^2+[2*LBC*sin(Theta);0]*KPhi*ThetaP^2+Mtz_TDD1
P*UV_ELmC*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmC*LPhi*ThetaP-
Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2; else RCCMPP=[-
LBC*cos(Theta);(LBC*cos(Theta)*cos(Phi))/sin(Phi)]*ThetaPP+[LBC*sin(Theta
);-(LBC*sin(Theta)*cos(Phi))/sin(Phi)]*ThetaP^2-
[0;2*LBC*cos(Theta)/(sin(Phi))^2]*KPhi*ThetaP^2-[0;(LBC*sin(Theta)-
P)/(sin(Phi))^2]*KPhi*ThetaPP-[0;(LBC*sin(Theta)-
P)/(sin(Phi))^2]*LPhi*ThetaP+[0;(2*(LBC*sin(Theta)-
P)*cos(Phi))/(sin(Phi))^3]*KPhi^2*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP
+Mtz_TDD1P*UV_ELmC*LPhi*ThetaP-Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2; end RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
ANEXOS ANEXO G
%*********************************************************** %*************** MATRIZ MASA ****************** %*********************************************************** %Matriz de 3x3
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
MTC11=((mC*(LBC*cos(Theta)+H)^2)/(cos(Phi))^4)+((2*mC*(LBC*cos(Theta)+H)*
v3)/cos(Phi))+(mC*(u3^2+v3^2))+((2*mC*(LBC*cos(Theta)+H)*sin(Phi)*u3)/(co
s(Phi)^2))+IC; MTC13=-((mC*(LBC*cos(Theta)+H)*(LBC*sin(Theta))*sin(Phi))/(cos(Phi))^3)-
((mC*(LBC*sin(Theta)*u3))/cos(Phi));
MTC31=(-(mC*(LBC*cos(Theta)+H)*LBC*sin(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/cos(Phi)); MTC33=((mC*LBC^2*(sin(Theta))^2)/(cos(Phi))^2);
NgTC11=((mC*cos(Phi)*u3)-(mC*sin(Phi)*v3)); NgTC31=-(mC*LBC*sin(Theta));
NcTC11=(((2*mC*(LBC*cos(Theta)+H)^2*sin(Phi))/(cos(Phi))^5)+((mC*(LBC*cos
(Theta)+H)*sin(Phi)*v3)/(cos(Phi))^2)-
((mC*(LBC*cos(Theta)+H)*u3)/cos(Phi))+((2*mC*(LBC*cos(Theta)+H)*u3)/(cos(
Phi))^3))*KPhi*ThetaP; NcTC31=(((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^2)-
((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)+((mC*LBC*sin(Thet
a)*v3)/cos(Phi)))*KPhi*ThetaP;
NcTC13=(((-mC*(LBC*cos(Theta)+H)*LBC*cos(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*cos(Theta)*u3)/cos(Phi)))*ThetaP; NcTC33=((mC*LBC^2*sin(Theta)*cos(Theta))/(cos(Phi))^2)*ThetaP;
NcTC11A=(((-2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)-
((2*mC*LBC*sin(Theta)*v3)/cos(Phi))-
((2*mC*LBC*sin(Theta)*sin(Phi)*u3)/(cos(Phi))^2))*ThetaP; NcTC31A=((mC*LBC^2*(sin(Theta))^2*sin(Phi))/(cos(Phi))^3)*ThetaP;
else
MTC11=((mC*(LBC*sin(Theta)-P)^2)/(sin(Phi))^4)+((2*mC*(LBC*sin(Theta)-
P)*v3)/sin(Phi))+(mC*(u3^2+v3^2))-((2*mC*(LBC*sin(Theta)-
P)*cos(Phi)*u3)/(sin(Phi))^2)+IC; MTC13=(-mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*(cos(Phi))/(sin(Phi)^3))+((mC*(LBC*cos(Theta)*u3))/si
n(Phi));
ANEXOS ANEXO G
MTC31=-((mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*cos(Phi))/(sin(Phi))^3)+((mC*LBC*cos(Theta)*u3)/sin(P
hi)); MTC33=((mC*LBC^2*(cos(Theta))^2)/(sin(Phi))^2);
NgTC11=-((mC*(LBC*sin(Theta)-P))/(sin(Phi))^2)+(mC*cos(Phi)*u3)-
(mC*sin(Phi)*v3); NgTC31=(mC*LBC*cos(Theta)*cos(Phi))/sin(Phi);
NcTC11=(((-(2*mC*(LBC*sin(Theta)-P)^2*cos(Phi)))/(sin(Phi))^5)-
((mC*(LBC*sin(Theta)-P)*cos(Phi)*v3)/(sin(Phi))^2)-((mC*(LBC*sin(Theta)-
P)*u3)/sin(Phi))+((2*mC*(LBC*sin(Theta)-
P)*u3)/(sin(Phi))^3))*KPhi*ThetaP; NcTC31=(((-2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^2)+((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)-
((mC*LBC*cos(Theta)*v3)/sin(Phi)))*KPhi*ThetaP;
NcTC13=(((mC*(LBC*sin(Theta)-P)*LBC*sin(Theta)*cos(Phi))/(sin(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/sin(Phi)))*ThetaP; NcTC33=((-mC*LBC^2*sin(Theta)*cos(Theta))/(sin(Phi))^2)*ThetaP;
NcTC11A=(((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)+((2*mC*LBC*cos(Theta)*v3)/sin(Phi))-
((2*mC*LBC*cos(Theta)*cos(Phi)*u3)/(sin(Phi))^2))*ThetaP; NcTC31A=((-2*mC*LBC^2*(cos(Theta))^2*cos(Phi))/(sin(Phi))^3)*ThetaP;
end
Masa11=((mDD1*(u4^2+v4^2))+(mEF*LAE^2)+(mF*LAE^2*(cos(Phi))^2)+(IDD1))+MT
C11; Masa12=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Phi)*cos(Beta))); Masa13=0+MTC13;
Masa21=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Beta)*cos(Phi))); Masa22=((mEF*(u5^2+v5^2))+(mF*LEF^2*(cos(Beta))^2)+(IEF)); Masa23=0;
Masa31=0+MTC31; Masa32=0; Masa33=((mBB1*(u2^2+v2^2))+(IBB1))+MTC33;
M=[Masa11,Masa12,Masa13;Masa21,Masa22,Masa23;Masa31,Masa32,Masa33];
ANEXOS ANEXO G
%*********************************************************** %*************** MATRIZ NC ******************** %*********************************************************** %Matriz de 3x3
Nc11=-(mF*LAE^2*cos(Phi)*sin(Phi))*KPhi*ThetaP+NcTC11+NcTC11A; Nc12=(-(mEF*LAE*sin(Phi-Beta)*v5)-(mEF*LAE*cos(Phi-
Beta)*u5)+(mF*LAE*LEF*cos(Phi)*sin(Beta)))*KBeta*ThetaP; Nc13=0+NcTC13;
Nc21=((mEF*LAE*cos(Phi-Beta)*u5)+(mEF*LAE*sin(Phi-Beta)*v5))*KPhi*ThetaP; Nc22=(-
(mF*LEF^2*cos(Beta)*sin(Beta)))*KBeta*ThetaP+(mF*LAE*LEF*cos(Beta)*sin(Ph
i)*KPhi*ThetaP); Nc23=0;
Nc31=0+NcTC31+NcTC31A; Nc32=0; Nc33=NcTC33;
Nc=[Nc11,Nc12,Nc13;Nc21,Nc22,Nc23;Nc31,Nc32,Nc33];
%*********************************************************** %*************** MATRIZ NG ******************** %*********************************************************** %Matriz de 3x1
Ng11=((mDD1*(cos(Phi)*u4-sin(Phi)*v4))+(mEF*LAE*sin(Phi)))+NgTC11; Ng21=(mEF*(cos(Beta)*u5-sin(Beta)*v5)); Ng31=(mBB1*(cos(Theta)*u2-sin(Theta)*v2))+NgTC31; NG=[Ng11;Ng21;Ng31]*g;
%*********************************************************** %*************** MATRIZ JACOBIAN0 ****************** %***********************************************************
J11=-(LBC*cos(Phi-Theta)+H*cos(Phi)-P*sin(Phi)); J12=0; J13=(LBC*cos(Phi-Theta));
J21=LAE*sin(Phi); J22=-(LEF*sin(Beta)); J23=0;
J=[J11,J12,J13;J21,J22,J23];
ANEXOS ANEXO G
%*********************************************************** %************ MULTP LAGRANGE ******************** %***********************************************************
syms LGRmult1 LGRmult2; LGRmult=[LGRmult1;LGRmult2];
%*********************************************************** %************ Fuerzas Externas ******************** %*********************************************************** %PRUEBA QEXT=[FBCG*(LAE*cos(Phi));-FBCG*(LEF*cos(Beta));MTorque];
%*********************************************************** %*************** ECUACION DINAMICA ******************* %***********************************************************
f=(M*K*ThetaPP+(M*L+Nc*K)*ThetaP+NG)+J'*LGRmult-QEXT; % f=M*K*ThetaPP+(M*L+Nc*K)*ThetaP+Ng+J'*LGRmult;
S=solve(f((1)),f((2)),f((3)),ThetaPP,LGRmult1,LGRmult2); S=[S.ThetaPP S.LGRmult1 S.LGRmult2];
ThetaPP=eval(S((1))); LGRmult1=eval(S((2))); LGRmult2=eval(S((3)));
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
% fprintf('t= %g \n',t); % fprintf('Theta= %g \n',Theta); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('Phi= %g \n',Phi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('KPhi= %g \n',KPhi); % fprintf('KBeta= %g \n',KBeta); % fprintf('KLAC= %g \n',KLAC); % fprintf('KRBFx= %g \n',KRBFx); % fprintf('LPhi= %g \n',LPhi); % fprintf('LBeta= %g \n',LBeta); % fprintf('LLAC= %g \n',LLAC); % fprintf('LRBFx= %g \n',LRBFx); % fprintf('u2= %g \n',u2); % fprintf('v2= %g \n',v2); % fprintf('u4= %g \n',u4); % fprintf('v4= %g \n',v4); % fprintf('u5= %g \n',u5); % fprintf('v5= %g \n',v5); % fprintf('u3= %g \n',u3);
ANEXOS ANEXO G
% fprintf('v3= %g \n',v3); % fprintf('u6= %g \n',u6); % fprintf('v6= %g \n',v6); % fprintf('IBB1= %g \n',IBB1); % fprintf('IDD1= %g \n',IDD1); % fprintf('IEF= %g \n',IEF); % fprintf('IF= %g \n',IF); % fprintf('IC= %g \n',IC); % fprintf('mBB1= %g \n',mBB1); % fprintf('mDD1= %g \n',mDD1); % fprintf('mEF= %g \n',mEF); % fprintf('mF= %g \n',mF); % fprintf('mC= %g \n',mC); % fprintf('LGRmult1= %g \n',LGRmult1); % fprintf('LGRmult2= %g \n',LGRmult2); % fprintf('LGRmult3= %g \n',LGRmult3); % fprintf('LGRmult4= %g \n',LGRmult4); % fprintf('\n');
qpp = [ThetaPP;LGRmult1;LGRmult2];
% end
ANEXOS ANEXO H
En este ANEXO se incluyen 3 archivos:
Dinamica_Simulk_2var.m (MATLAB) Dinamica_2var.mdl (MATLAB) Dinamica_MLagrange.wm2d (Working Model) Se presenta la dinámica del mecanismo, utilizando el método de los multiplicadores de Lagrange y las ecuaciones cinemáticas
Dinamica_Simulk_2var.m
%*********************************************************** %****************** Dinamica_Simulk ******************* %***********************************************************
% En este programa se desarrollan las ecuaciones de Lagrange obtenidas % para la dinamica del mecanismo de Whitworth, para ser implementada
como1
% clear all % close all % clc % % inc=10; % contador=0; % % for t=0:inc:360 % contador=contador+1; % Theta=t*pi/180;
function qpp=Dinamica_Simulk_2var(u)
%*********************************************************** %****************** DATOS ******************* %***********************************************************
syms ThetaPP;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
ANEXO H
ANEXOS ANEXO H
% Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
% Velocidad ángular de retroalimentación ThetaP=u(1); % ThetaP=10;
% Posición ángular de entrada Theta=u(2); % Theta=t*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
% Masa e Inercia BB1 mBB1=30; IBB1=272.500; % Masa e Inercia DD1 mDD1=140; IDD1=200;
ANEXOS ANEXO H
% Masa e Inercia EF mEF=3; IEF=10; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque % MTorque=1000; MTorque=0; % FBCG=100; FBCG=0;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
ANEXOS ANEXO H
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
LACH=LAC;
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=-LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
ANEXOS ANEXO H
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=((LBC*cos(Phi-Theta))/(LBC*cos(Phi-Theta)+H*cos(Phi)-P*sin(Phi))); KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta));
K=[KPhi;KBeta;1];
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Solución mediante, manipulación de ecuaciones. %NOTA: Checar los coeficientes sustituyendo por K*ThetaP
LPhi=(((-LBC*sin(Phi-Theta)*((KPhi*ThetaP)-ThetaP))*(LBC*cos(Phi-
Theta)+H*cos(Phi)-P*sin(Phi)))-((LBC*cos(Phi-Theta))*(-LBC*sin(Phi-
Theta)*((KPhi*ThetaP)-ThetaP)-H*sin(Phi)*(KPhi*ThetaP)-
P*cos(Phi)*(KPhi*ThetaP))))/((LBC*cos(Phi-Theta)+H*cos(Phi)-
P*sin(Phi))^2); LBeta=((LAE*sin(Phi)*LPhi)+(LAE*cos(Phi)*KPhi*ThetaP*KPhi)-
(LEF*cos(Beta)*KBeta*ThetaP*KBeta))/(LEF*sin(Beta));
L=[LPhi;LBeta;0];
%*********************************************************** %****************** POSICIÓN CM ************************ %***********************************************************
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[RAEx;RAEy]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2));
ANEXOS ANEXO H
% Posición del CM_ELmF desde el sistema de coordenadas (X,Y) RBF=[RBFx;-m]; REF=[REFx;REFy]; RFCM=RBA+RAE+REF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCM=RBA+[-
(LBC*cos(Theta)+H)*sin(Phi)/cos(Phi);LBC*cos(Theta)+H]+Mtz_TDD1*UV_ELmC; else RCCM=RBA+[-(LBC*sin(Theta)-P);(LBC*sin(Theta)-
P)*cos(Phi)/sin(Phi)]+Mtz_TDD1*UV_ELmC; end RCCMx=RCCM((1)); RCCMy=RCCM((2));
%*********************************************************** %****************** VELOCIDAD CM ************************ %***********************************************************
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2)); % Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP+Mtz_TEFP*UV_ELmEF*KBeta*Th
etaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCMP=[(LBC*sin(Theta)*sin(Phi))/cos(Phi);-
LBC*sin(Theta)]*ThetaP+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
(LBC*cos(Theta)+H);0]*KPhi*ThetaP-
[(LBC*cos(Theta)+H);0]*KPhi*ThetaP+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; else
ANEXOS ANEXO H
RCCMP=[-LBC*cos(Theta);(LBC*cos(Theta)*cos(Phi))/sin(Phi)]*ThetaP-
[0;((LBC*sin(Theta)-P)/(sin(Phi))^2)-(LBC*sin(Theta)-P)]*KPhi*ThetaP-
[0;LBC*sin(Theta)-P]*KPhi*ThetaP+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; end RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
%*********************************************************** %****************** ACELERACIÓN CM ********************** %***********************************************************
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmDD1*LPhi*ThetaP
-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCMPP=[(LBC*sin(Theta)*sin(Phi))/cos(Phi);-
LBC*sin(Theta)]*ThetaPP+[(LBC*cos(Theta)*sin(Phi))/cos(Phi);-
LBC*cos(Theta)]*ThetaP^2+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
2*(LBC*cos(Theta)+H);0]*KPhi*ThetaPP+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
2*(LBC*cos(Theta)+H);0]*LPhi*ThetaP+[((2*(LBC*cos(Theta)+H)*sin(Phi))/(co
s(Phi))^3);0]*KPhi^2*ThetaP^2+[2*LBC*sin(Theta);0]*KPhi*ThetaP^2+Mtz_TDD1
P*UV_ELmC*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmC*LPhi*ThetaP-
Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2; else RCCMPP=[-
LBC*cos(Theta);(LBC*cos(Theta)*cos(Phi))/sin(Phi)]*ThetaPP+[LBC*sin(Theta
);-(LBC*sin(Theta)*cos(Phi))/sin(Phi)]*ThetaP^2-
[0;2*LBC*cos(Theta)/(sin(Phi))^2]*KPhi*ThetaP^2-[0;(LBC*sin(Theta)-
P)/(sin(Phi))^2]*KPhi*ThetaPP-[0;(LBC*sin(Theta)-
P)/(sin(Phi))^2]*LPhi*ThetaP+[0;(2*(LBC*sin(Theta)-
P)*cos(Phi))/(sin(Phi))^3]*KPhi^2*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP
+Mtz_TDD1P*UV_ELmC*LPhi*ThetaP-Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2;
ANEXOS ANEXO H
end RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** MATRIZ MASA ****************** %*********************************************************** %Matriz de 3x3
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
MTC11=((mC*(LBC*cos(Theta)+H)^2)/(cos(Phi))^4)+((2*mC*(LBC*cos(Theta)+H)*
v3)/cos(Phi))+(mC*(u3^2+v3^2))+((2*mC*(LBC*cos(Theta)+H)*sin(Phi)*u3)/(co
s(Phi)^2))+IC; MTC13=-((mC*(LBC*cos(Theta)+H)*(LBC*sin(Theta))*sin(Phi))/(cos(Phi))^3)-
((mC*(LBC*sin(Theta)*u3))/cos(Phi));
MTC31=(-(mC*(LBC*cos(Theta)+H)*LBC*sin(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/cos(Phi)); MTC33=((mC*LBC^2*(sin(Theta))^2)/(cos(Phi))^2);
NgTC11=((mC*cos(Phi)*u3)-(mC*sin(Phi)*v3)); NgTC31=-(mC*LBC*sin(Theta));
NcTC11=(((2*mC*(LBC*cos(Theta)+H)^2*sin(Phi))/(cos(Phi))^5)+((mC*(LBC*cos
(Theta)+H)*sin(Phi)*v3)/(cos(Phi))^2)-
((mC*(LBC*cos(Theta)+H)*u3)/cos(Phi))+((2*mC*(LBC*cos(Theta)+H)*u3)/(cos(
Phi))^3))*KPhi*ThetaP; NcTC31=(((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^2)-
((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)+((mC*LBC*sin(Thet
a)*v3)/cos(Phi)))*KPhi*ThetaP;
NcTC13=(((-mC*(LBC*cos(Theta)+H)*LBC*cos(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*cos(Theta)*u3)/cos(Phi)))*ThetaP; NcTC33=((mC*LBC^2*sin(Theta)*cos(Theta))/(cos(Phi))^2)*ThetaP;
NcTC11A=(((-2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)-
((2*mC*LBC*sin(Theta)*v3)/cos(Phi))-
((2*mC*LBC*sin(Theta)*sin(Phi)*u3)/(cos(Phi))^2))*ThetaP; NcTC31A=((mC*LBC^2*(sin(Theta))^2*sin(Phi))/(cos(Phi))^3)*ThetaP;
else
MTC11=((mC*(LBC*sin(Theta)-P)^2)/(sin(Phi))^4)+((2*mC*(LBC*sin(Theta)-
P)*v3)/sin(Phi))+(mC*(u3^2+v3^2))-((2*mC*(LBC*sin(Theta)-
P)*cos(Phi)*u3)/(sin(Phi))^2)+IC; MTC13=(-mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*(cos(Phi))/(sin(Phi)^3))+((mC*(LBC*cos(Theta)*u3))/si
n(Phi));
ANEXOS ANEXO H
MTC31=-((mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*cos(Phi))/(sin(Phi))^3)+((mC*LBC*cos(Theta)*u3)/sin(P
hi)); MTC33=((mC*LBC^2*(cos(Theta))^2)/(sin(Phi))^2);
NgTC11=-((mC*(LBC*sin(Theta)-P))/(sin(Phi))^2)+(mC*cos(Phi)*u3)-
(mC*sin(Phi)*v3); NgTC31=(mC*LBC*cos(Theta)*cos(Phi))/sin(Phi);
NcTC11=(((-(2*mC*(LBC*sin(Theta)-P)^2*cos(Phi)))/(sin(Phi))^5)-
((mC*(LBC*sin(Theta)-P)*cos(Phi)*v3)/(sin(Phi))^2)-((mC*(LBC*sin(Theta)-
P)*u3)/sin(Phi))+((2*mC*(LBC*sin(Theta)-
P)*u3)/(sin(Phi))^3))*KPhi*ThetaP; NcTC31=(((-2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^2)+((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)-
((mC*LBC*cos(Theta)*v3)/sin(Phi)))*KPhi*ThetaP;
NcTC13=(((mC*(LBC*sin(Theta)-P)*LBC*sin(Theta)*cos(Phi))/(sin(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/sin(Phi)))*ThetaP; NcTC33=((-mC*LBC^2*sin(Theta)*cos(Theta))/(sin(Phi))^2)*ThetaP;
NcTC11A=(((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)+((2*mC*LBC*cos(Theta)*v3)/sin(Phi))-
((2*mC*LBC*cos(Theta)*cos(Phi)*u3)/(sin(Phi))^2))*ThetaP; NcTC31A=((-2*mC*LBC^2*(cos(Theta))^2*cos(Phi))/(sin(Phi))^3)*ThetaP;
end
Masa11=((mDD1*(u4^2+v4^2))+(mEF*LAE^2)+(mF*LAE^2*(cos(Phi))^2)+(IDD1))+MT
C11; Masa12=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Phi)*cos(Beta))); Masa13=0+MTC13;
Masa21=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Beta)*cos(Phi))); Masa22=((mEF*(u5^2+v5^2))+(mF*LEF^2*(cos(Beta))^2)+(IEF)); Masa23=0;
Masa31=0+MTC31; Masa32=0; Masa33=((mBB1*(u2^2+v2^2))+(IBB1))+MTC33;
M=[Masa11,Masa12,Masa13;Masa21,Masa22,Masa23;Masa31,Masa32,Masa33];
ANEXOS ANEXO H
%*********************************************************** %*************** MATRIZ NC ******************** %*********************************************************** %Matriz de 3x3
Nc11=-(mF*LAE^2*cos(Phi)*sin(Phi))*KPhi*ThetaP+NcTC11+NcTC11A; Nc12=(-(mEF*LAE*sin(Phi-Beta)*v5)-(mEF*LAE*cos(Phi-
Beta)*u5)+(mF*LAE*LEF*cos(Phi)*sin(Beta)))*KBeta*ThetaP; Nc13=0+NcTC13;
Nc21=((mEF*LAE*cos(Phi-Beta)*u5)+(mEF*LAE*sin(Phi-Beta)*v5))*KPhi*ThetaP; Nc22=(-
(mF*LEF^2*cos(Beta)*sin(Beta)))*KBeta*ThetaP+(mF*LAE*LEF*cos(Beta)*sin(Ph
i)*KPhi*ThetaP); Nc23=0;
Nc31=0+NcTC31+NcTC31A; Nc32=0; Nc33=NcTC33;
Nc=[Nc11,Nc12,Nc13;Nc21,Nc22,Nc23;Nc31,Nc32,Nc33];
%*********************************************************** %*************** MATRIZ NG ******************** %*********************************************************** %Matriz de 3x1
Ng11=((mDD1*(cos(Phi)*u4-sin(Phi)*v4))+(mEF*LAE*sin(Phi)))+NgTC11; Ng21=(mEF*(cos(Beta)*u5-sin(Beta)*v5)); Ng31=(mBB1*(cos(Theta)*u2-sin(Theta)*v2))+NgTC31; NG=[Ng11;Ng21;Ng31]*g;
%*********************************************************** %*************** MATRIZ JACOBIAN0 ****************** %***********************************************************
J11=-(LBC*cos(Phi-Theta)+H*cos(Phi)-P*sin(Phi)); J12=0; J13=(LBC*cos(Phi-Theta));
J21=LAE*sin(Phi); J22=-(LEF*sin(Beta)); J23=0;
J=[J11,J12,J13;J21,J22,J23];
ANEXOS ANEXO H
%*********************************************************** %************ MULTP LAGRANGE ******************** %***********************************************************
syms LGRmult1 LGRmult2; LGRmult=[LGRmult1;LGRmult2];
%*********************************************************** %************ Fuerzas Externas ******************** %*********************************************************** %PRUEBA QEXT=[FBCG*(LAE*cos(Phi));-FBCG*(LEF*cos(Beta));MTorque];
%*********************************************************** %*************** ECUACION DINAMICA ******************* %***********************************************************
f=(M*K*ThetaPP+(M*L+Nc*K)*ThetaP+NG)+J'*LGRmult-QEXT; % f=M*K*ThetaPP+(M*L+Nc*K)*ThetaP+Ng+J'*LGRmult;
S=solve(f((1)),f((2)),f((3)),ThetaPP,LGRmult1,LGRmult2); S=[S.ThetaPP S.LGRmult1 S.LGRmult2];
ThetaPP=eval(S((1))); LGRmult1=eval(S((2))); LGRmult2=eval(S((3)));
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
% fprintf('t= %g \n',t); % fprintf('Theta= %g \n',Theta); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('Phi= %g \n',Phi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('KPhi= %g \n',KPhi); % fprintf('KBeta= %g \n',KBeta); % fprintf('KLAC= %g \n',KLAC); % fprintf('KRBFx= %g \n',KRBFx); % fprintf('LPhi= %g \n',LPhi); % fprintf('LBeta= %g \n',LBeta); % fprintf('LLAC= %g \n',LLAC); % fprintf('LRBFx= %g \n',LRBFx); % fprintf('u2= %g \n',u2); % fprintf('v2= %g \n',v2); % fprintf('u4= %g \n',u4); % fprintf('v4= %g \n',v4); % fprintf('u5= %g \n',u5); % fprintf('v5= %g \n',v5); % fprintf('u3= %g \n',u3);
ANEXOS ANEXO H
% fprintf('v3= %g \n',v3); % fprintf('u6= %g \n',u6); % fprintf('v6= %g \n',v6); % fprintf('IBB1= %g \n',IBB1); % fprintf('IDD1= %g \n',IDD1); % fprintf('IEF= %g \n',IEF); % fprintf('IF= %g \n',IF); % fprintf('IC= %g \n',IC); % fprintf('mBB1= %g \n',mBB1); % fprintf('mDD1= %g \n',mDD1); % fprintf('mEF= %g \n',mEF); % fprintf('mF= %g \n',mF); % fprintf('mC= %g \n',mC); % fprintf('LGRmult1= %g \n',LGRmult1); % fprintf('LGRmult2= %g \n',LGRmult2); % fprintf('LGRmult3= %g \n',LGRmult3); % fprintf('LGRmult4= %g \n',LGRmult4); % fprintf('\n');
qpp = [ThetaPP;LGRmult1;LGRmult2];
% end
ANEXOS ANEXO I
En este ANEXO se incluyen 3 archivos:
Dim_Simulk.m (MATLAB) Dim.mdl (MATLAB) Dinamica_EK.wm2d (Working Model) Se presenta la dinámica del mecanismo, utilizando el método de EKsergian e incluyendo fuerzas
Dim_Simulk.m
%*********************************************************** %****************** Dim_Simulk ******************* %***********************************************************
% En este programa se desarrollan las ecuaciones de Lagrange obtenidas % para la dinamica del mecanismo de Whitworth, para ser implementada
como1 % clc % clear all % close all % % inc=10; % contador=0; % % for t=0:inc:360 % contador=contador+1;
function qpp=Dim_Simulk(u)
%*********************************************************** %****************** DATOS ******************* %***********************************************************
syms ThetaPP;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
ANEXO I
ANEXOS ANEXO I
% Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
% Velocidad ángular de retroalimentación ThetaP=u(1); % ThetaP=10;
% Posición ángular de entrada Theta=u(2); % Theta=t*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Posición Aplicacion de la Fuerza u7=6; v7=0;
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
ANEXOS ANEXO I
% Masa e Inercia BB1 mBB1=30; IBB1=272.5; % Masa e Inercia DD1 mDD1=140; IDD1=200; % Masa e Inercia EF mEF=3; IEF=100; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque MTorque=100; Fcorte=-50;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
ANEXOS ANEXO I
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
LACH=LAC;
%Definimos las posiciones de los eslabones
RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
ANEXOS ANEXO I
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=(LBC/LACH)*cos(Phi-Theta);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 KLAC=((LACH*sin(Phi)*KPhi)-(LBC*sin(Theta)))/(cos(Phi)); else KLAC=((-LACH*cos(Phi)*KPhi)+(LBC*cos(Theta)))/(sin(Phi)); end
KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta)); KRBFx=(LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta);
K=[KPhi;KLAC;KBeta;KRBFx;1];
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Solución mediante, manipulación de ecuaciones. %NOTA: Checar los coeficientes sustituyendo por K*ThetaP
%Se divide entre ThetaP, Para que exista coherencia en este método, ya
que %las ecuaciones se obtuvieron, primero mediante el metodo de los %multiplicadores ó %Se obtienen nuevamente los coeficientes L, con respecto a ThetaP, como
se %hizo ahora.
LPhi=((-LBC/LACH)*sin(Phi-Theta)*(KPhi-1))-((LBC*cos(Phi-
Theta)*KLAC)/LACH^2);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LLAC=((((KLAC*sin(Phi)*KPhi)+(LAC*cos(Phi)*KPhi^2)+(LAC*sin(Phi)*LPhi)-
(LBC*cos(Theta)))*cos(Phi))+(((LAC*sin(Phi)*KPhi)-
(LBC*sin(Theta)))*sin(Phi)*cos(Phi)))/((cos(Phi))^2);
else LLAC=((((-KLAC*cos(Phi)*KPhi)+(LAC*sin(Phi)*KPhi^2)-
(LAC*cos(Phi)*LPhi)-(LBC*sin(Theta)))*sin(Phi))-(((-
LAC*cos(Phi)*KPhi)+(LBC*cos(Theta)))*cos(Phi)*KPhi))/((sin(Phi))^2);
end
ANEXOS ANEXO I
LBeta=((((LAE*cos(Phi)*KPhi^2)+(LAE*sin(Phi)*LPhi))*(LEF*sin(Beta)))-
((LAE*sin(Phi)*KPhi)*(LEF*cos(Beta)*KBeta)))/((LEF*sin(Beta))^2); LRBFx=(-LAE*sin(Phi)*KPhi^2)+(LAE*cos(Phi)*LPhi)+(LEF*sin(Beta)*KBeta^2)-
(LEF*cos(Beta)*LBeta);
L=[LPhi;LLAC;LBeta;LRBFx;0];
%*********************************************************** %****************** POSICIÓN CM ************************ %***********************************************************
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[LAE*sin(Phi);-LAE*cos(Phi)]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2)); % Posición del CM_ELmF desde el sistema de coordenadas (X,Y) REF=[-LEF*sin(Beta);LEF*cos(Beta)]; RFCM=RBA+RAE+REF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) RCCM=RBA+[-LAC*sin(Phi);LAC*cos(Phi)]+Mtz_TDD1*UV_ELmC; RCCMx=RCCM((1)); RCCMy=RCCM((2));
%*********************************************************** %****************** VELOCIDAD CM ************************ %***********************************************************
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
ANEXOS ANEXO I
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2)); % Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP+Mtz_TEFP*UV_ELmEF*KBeta*Th
etaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi*ThetaP;KLAC*ThetaP]+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
% %*********************************************************** % %****************** ACELERACIÓN CM ********************** % %*********************************************************** % % % Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) % RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; % RBB1CMxPP=RBB1CMPP((1)); % RBB1CMyPP=RBB1CMPP((2)); % % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) %
RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmDD1*LPhi*ThetaP
-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; % RDD1CMxPP=RDD1CMPP((1)); % RDD1CMyPP=RDD1CMPP((2)); % % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) %
REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; % REFCMxPP=REFCMPP((1)); % REFCMyPP=REFCMPP((2)); % % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) %
RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; % RFCMxPP=RFCMPP((1));
ANEXOS ANEXO I
% RFCMyPP=RFCMPP((2)); % % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) % RCCMPP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi;KLAC]*ThetaPP+[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[LPhi;LLAC]*ThetaP+[LAC*sin(Phi)*KPhi -2*cos(Phi)*KPhi;-
LAC*cos(Phi)*KPhi -
2*sin(Phi)*KPhi]*[KPhi;KLAC]*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP+Mtz_
TDD1P*UV_ELmC*KPhi*LPhi*ThetaP-Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2; % RCCMxPP=RCCMPP((1)); % RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** Inercia General ****************** %***********************************************************
IG=(mBB1*(u2^2+v2^2))+IBB1+(mDD1*((u4^2+v4^2)*KPhi^2))+(IDD1*(KPhi^2))+(m
EF*((LAE^2*KPhi^2)+((u5^2+v5^2)*KBeta^2)+(2*LAE*sin(Phi-
Beta)*u5*KPhi*KBeta)-(2*LAE*cos(Phi-
Beta)*v5*KPhi*KBeta)))+(IEF*(KBeta^2))+(mF*(KRBFx^2))+(mC*(KLAC^2+((LAC^2
+u3^2+2*LAC*v3+v3^2)*KPhi^2)+(2*u3*KLAC*KPhi)))+(IC*(KPhi^2));
%*********************************************************** %******** Derivada Inercia General contra Theta ******** %***********************************************************
IGp=(mDD1*((u4^2+v4^2)*KPhi*LPhi))+(IDD1*(KPhi*LPhi))+(mEF*((LAE^2*KPhi*L
Phi)+((u5^2+v5^2)*KBeta*LBeta)+(LAE*cos(Phi-Beta)*(KPhi-
KBeta)*u5*KPhi*KBeta)+(LAE*sin(Phi-Beta)*u5*LPhi*KBeta)+(LAE*sin(Phi-
Beta)*u5*KPhi*LBeta)+(LAE*sin(Phi-Beta)*(KPhi-KBeta)*v5*KPhi*KBeta)-
(LAE*cos(Phi-Beta)*v5*LPhi*KBeta)-(LAE*cos(Phi-
Beta)*v5*KPhi*LBeta)))+(IEF*KBeta*LBeta)+(mF*(KRBFx*LRBFx))+(mC*((KLAC*LL
AC)+((LAC*KLAC+KLAC*v3)*KPhi^2)+((LAC^2+u3^2+2*LAC*v3+v3^2)*KPhi*LPhi)+(u
3*LLAC*KPhi)+(u3*KLAC*LPhi)))+(IC*(KPhi*LPhi));
%*********************************************************** %********* Derivada Potencial ********** %***********************************************************
Vp=(mBB1*((cos(Theta)*u2)-(sin(Theta)*v2)))+(mDD1*((cos(Phi)*KPhi*u4)-
(sin(Phi)*KPhi*v4)))+(mEF*((LAE*sin(Phi)*KPhi)+(cos(Beta)*KBeta*u5)-
(sin(Beta)*KBeta*v5)))+(mC*((KLAC*cos(Phi))-
(LAC*sin(Phi)*KPhi)+(cos(Phi)*KPhi*u3)-(sin(Phi)*KPhi*v3)));
%*********************************************************** %********* Dinámica ********** %***********************************************************
%PRUEBA Dist=((LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta)); QExt=MTorque+(Fcorte*Dist);
ThetaPP=(1/IG)*(QExt-(IGp*ThetaP*ThetaP)-(Vp*g)); % ThetaPP=10;
ANEXOS ANEXO I
%*********************************************************** %****************** ACELERACIÓN CM ********************** %***********************************************************
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*(UV_ELmDD1*KPhi*ThetaPP)+Mtz_TDD1P*(UV_ELmDD1*LPhi*The
taP^2)-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP^2+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP^2-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP^2+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP^2+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMPP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi;KLAC]*ThetaPP+[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[LPhi;LLAC]*ThetaP^2+[-KLAC*cos(Phi)+KPhi*LAC*sin(Phi) -
KPhi*cos(Phi);-KLAC*sin(Phi)-KPhi*LAC*cos(Phi) -
KPhi*sin(Phi)]*[KPhi;KLAC]*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP+Mtz_TD
D1P*UV_ELmC*KPhi*LPhi*ThetaP^2-
Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2;RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
% fprintf('t= %g \n',t); % fprintf('Theta= %g \n',t); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('Phi= %g \n',Phi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('KPhi= %g \n',KPhi); % fprintf('KBeta= %g \n',KBeta); % fprintf('KLAC= %g \n',KLAC); % fprintf('KRBFx= %g \n',KRBFx); % fprintf('LPhi= %g \n',LPhi);
ANEXOS ANEXO I
% fprintf('LBeta= %g \n',LBeta); % fprintf('LLAC= %g \n',LLAC); % fprintf('LRBFx= %g \n',LRBFx); % fprintf('u2= %g \n',u2); % fprintf('v2= %g \n',v2); % fprintf('u4= %g \n',u4); % fprintf('v4= %g \n',v4); % fprintf('u5= %g \n',u5); % fprintf('v5= %g \n',v5); % fprintf('u3= %g \n',u3); % fprintf('v3= %g \n',v3); % fprintf('u6= %g \n',u6); % fprintf('v6= %g \n',v6); % fprintf('IBB1= %g \n',IBB1); % fprintf('IDD1= %g \n',IDD1); % fprintf('IEF= %g \n',IEF); % fprintf('IF= %g \n',IF); % fprintf('IC= %g \n',IC); % fprintf('mBB1= %g \n',mBB1); % fprintf('mDD1= %g \n',mDD1); % fprintf('mEF= %g \n',mEF); % fprintf('mF= %g \n',mF); % fprintf('mC= %g \n',mC); % fprintf('IG= %g \n',IG); % fprintf('IGp*ThetaP^2= %g \n',IGp*ThetaP*ThetaP); % fprintf('Vp= %g \n',Vp);
% fprintf('RBB1CMPP= %g \n',RBB1CMPP); % fprintf('RDD1CMPP= %g \n',RDD1CMPP); % fprintf('REFCMPP= %g \n',REFCMPP); % fprintf('RFCMP= %g \n',RFCMP); % fprintf('RFCMPP= %g \n',RFCMPP); % fprintf('RCCMP= %g \n',RCCMP); % fprintf('RCCMPP= %g \n',RCCMPP); % fprintf('\n');
qpp = ThetaPP;
% end
ANEXOS ANEXO J
En este ANEXO se incluyen 3 archivos:
Dinamica_Simulk_2var.m (MATLAB) Dinamica_2var.mdl (MATLAB) Dinamica_MLagrange.wm2d (Working Model) Se presenta la dinámica del mecanismo, utilizando el método de los multiplicadores de Lagrange incluyendo fuerzas
Dinamica_Simulk_2var.m
%*********************************************************** %****************** Dinamica_Simulk ******************* %***********************************************************
% En este programa se desarrollan las ecuaciones de Lagrange obtenidas % para la dinamica del mecanismo de Whitworth, para ser implementada
como1
% clear all % close all % clc % % inc=10; % contador=0; % % for t=0:inc:360 % contador=contador+1; % Theta=t*pi/180;
function qpp=Dinamica_Simulk_2var(u)
%*********************************************************** %****************** DATOS ******************* %***********************************************************
syms ThetaPP;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
ANEXO J
ANEXOS ANEXO J
% Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
% Velocidad ángular de retroalimentación ThetaP=u(1); % ThetaP=10;
% Posición ángular de entrada Theta=u(2); % Theta=t*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
ANEXOS ANEXO J
% Masa e Inercia BB1 mBB1=30; IBB1=272.500; % Masa e Inercia DD1 mDD1=140; IDD1=200; % Masa e Inercia EF mEF=3; IEF=10; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque MTorque=100; Fcorte=-50;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
ANEXOS ANEXO J
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
LACH=LAC;
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=-LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
ANEXOS ANEXO J
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=((LBC*cos(Phi-Theta))/(LBC*cos(Phi-Theta)+H*cos(Phi)-P*sin(Phi))); KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta));
K=[KPhi;KBeta;1];
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Solución mediante, manipulación de ecuaciones. %NOTA: Checar los coeficientes sustituyendo por K*ThetaP
LPhi=(((-LBC*sin(Phi-Theta)*((KPhi*ThetaP)-ThetaP))*(LBC*cos(Phi-
Theta)+H*cos(Phi)-P*sin(Phi)))-((LBC*cos(Phi-Theta))*(-LBC*sin(Phi-
Theta)*((KPhi*ThetaP)-ThetaP)-H*sin(Phi)*(KPhi*ThetaP)-
P*cos(Phi)*(KPhi*ThetaP))))/((LBC*cos(Phi-Theta)+H*cos(Phi)-
P*sin(Phi))^2); LBeta=((LAE*sin(Phi)*LPhi)+(LAE*cos(Phi)*KPhi*ThetaP*KPhi)-
(LEF*cos(Beta)*KBeta*ThetaP*KBeta))/(LEF*sin(Beta));
L=[LPhi;LBeta;0];
%*********************************************************** %****************** POSICIÓN CM ************************ %***********************************************************
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[RAEx;RAEy]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2));
ANEXOS ANEXO J
% Posición del CM_ELmF desde el sistema de coordenadas (X,Y) RBF=[RBFx;-m]; REF=[REFx;REFy]; RFCM=RBA+RAE+REF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCM=RBA+[-
(LBC*cos(Theta)+H)*sin(Phi)/cos(Phi);LBC*cos(Theta)+H]+Mtz_TDD1*UV_ELmC; else RCCM=RBA+[-(LBC*sin(Theta)-P);(LBC*sin(Theta)-
P)*cos(Phi)/sin(Phi)]+Mtz_TDD1*UV_ELmC; end RCCMx=RCCM((1)); RCCMy=RCCM((2));
%*********************************************************** %****************** VELOCIDAD CM ************************ %***********************************************************
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2)); % Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP+Mtz_TEFP*UV_ELmEF*KBeta*Th
etaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2));
ANEXOS ANEXO J
% Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCMP=[(LBC*sin(Theta)*sin(Phi))/cos(Phi);-
LBC*sin(Theta)]*ThetaP+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
(LBC*cos(Theta)+H);0]*KPhi*ThetaP-
[(LBC*cos(Theta)+H);0]*KPhi*ThetaP+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; else RCCMP=[-LBC*cos(Theta);(LBC*cos(Theta)*cos(Phi))/sin(Phi)]*ThetaP-
[0;((LBC*sin(Theta)-P)/(sin(Phi))^2)-(LBC*sin(Theta)-P)]*KPhi*ThetaP-
[0;LBC*sin(Theta)-P]*KPhi*ThetaP+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; end RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
%*********************************************************** %****************** ACELERACIÓN CM ********************** %***********************************************************
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmDD1*LPhi*ThetaP
-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 RCCMPP=[(LBC*sin(Theta)*sin(Phi))/cos(Phi);-
LBC*sin(Theta)]*ThetaPP+[(LBC*cos(Theta)*sin(Phi))/cos(Phi);-
LBC*cos(Theta)]*ThetaP^2+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
2*(LBC*cos(Theta)+H);0]*KPhi*ThetaPP+[((LBC*cos(Theta)+H)/(cos(Phi))^2)-
2*(LBC*cos(Theta)+H);0]*LPhi*ThetaP+[((2*(LBC*cos(Theta)+H)*sin(Phi))/(co
s(Phi))^3);0]*KPhi^2*ThetaP^2+[2*LBC*sin(Theta);0]*KPhi*ThetaP^2+Mtz_TDD1
P*UV_ELmC*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmC*LPhi*ThetaP-
Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2; else
ANEXOS ANEXO J
RCCMPP=[-
LBC*cos(Theta);(LBC*cos(Theta)*cos(Phi))/sin(Phi)]*ThetaPP+[LBC*sin(Theta
);-(LBC*sin(Theta)*cos(Phi))/sin(Phi)]*ThetaP^2-
[0;2*LBC*cos(Theta)/(sin(Phi))^2]*KPhi*ThetaP^2-[0;(LBC*sin(Theta)-
P)/(sin(Phi))^2]*KPhi*ThetaPP-[0;(LBC*sin(Theta)-
P)/(sin(Phi))^2]*LPhi*ThetaP+[0;(2*(LBC*sin(Theta)-
P)*cos(Phi))/(sin(Phi))^3]*KPhi^2*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP
+Mtz_TDD1P*UV_ELmC*LPhi*ThetaP-Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2; end RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** MATRIZ MASA ****************** %*********************************************************** %Matriz de 3x3
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
MTC11=((mC*(LBC*cos(Theta)+H)^2)/(cos(Phi))^4)+((2*mC*(LBC*cos(Theta)+H)*
v3)/cos(Phi))+(mC*(u3^2+v3^2))+((2*mC*(LBC*cos(Theta)+H)*sin(Phi)*u3)/(co
s(Phi)^2))+IC; MTC13=-((mC*(LBC*cos(Theta)+H)*(LBC*sin(Theta))*sin(Phi))/(cos(Phi))^3)-
((mC*(LBC*sin(Theta)*u3))/cos(Phi));
MTC31=(-(mC*(LBC*cos(Theta)+H)*LBC*sin(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/cos(Phi)); MTC33=((mC*LBC^2*(sin(Theta))^2)/(cos(Phi))^2);
NgTC11=((mC*cos(Phi)*u3)-(mC*sin(Phi)*v3)); NgTC31=-(mC*LBC*sin(Theta));
NcTC11=(((2*mC*(LBC*cos(Theta)+H)^2*sin(Phi))/(cos(Phi))^5)+((mC*(LBC*cos
(Theta)+H)*sin(Phi)*v3)/(cos(Phi))^2)-
((mC*(LBC*cos(Theta)+H)*u3)/cos(Phi))+((2*mC*(LBC*cos(Theta)+H)*u3)/(cos(
Phi))^3))*KPhi*ThetaP; NcTC31=(((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^2)-
((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)+((mC*LBC*sin(Thet
a)*v3)/cos(Phi)))*KPhi*ThetaP;
NcTC13=(((-mC*(LBC*cos(Theta)+H)*LBC*cos(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*cos(Theta)*u3)/cos(Phi)))*ThetaP; NcTC33=((mC*LBC^2*sin(Theta)*cos(Theta))/(cos(Phi))^2)*ThetaP;
NcTC11A=(((-2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)-
((2*mC*LBC*sin(Theta)*v3)/cos(Phi))-
((2*mC*LBC*sin(Theta)*sin(Phi)*u3)/(cos(Phi))^2))*ThetaP; NcTC31A=((mC*LBC^2*(sin(Theta))^2*sin(Phi))/(cos(Phi))^3)*ThetaP;
ANEXOS ANEXO J
else
MTC11=((mC*(LBC*sin(Theta)-P)^2)/(sin(Phi))^4)+((2*mC*(LBC*sin(Theta)-
P)*v3)/sin(Phi))+(mC*(u3^2+v3^2))-((2*mC*(LBC*sin(Theta)-
P)*cos(Phi)*u3)/(sin(Phi))^2)+IC; MTC13=(-mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*(cos(Phi))/(sin(Phi)^3))+((mC*(LBC*cos(Theta)*u3))/si
n(Phi));
MTC31=-((mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*cos(Phi))/(sin(Phi))^3)+((mC*LBC*cos(Theta)*u3)/sin(P
hi)); MTC33=((mC*LBC^2*(cos(Theta))^2)/(sin(Phi))^2);
NgTC11=-((mC*(LBC*sin(Theta)-P))/(sin(Phi))^2)+(mC*cos(Phi)*u3)-
(mC*sin(Phi)*v3); NgTC31=(mC*LBC*cos(Theta)*cos(Phi))/sin(Phi);
NcTC11=(((-(2*mC*(LBC*sin(Theta)-P)^2*cos(Phi)))/(sin(Phi))^5)-
((mC*(LBC*sin(Theta)-P)*cos(Phi)*v3)/(sin(Phi))^2)-((mC*(LBC*sin(Theta)-
P)*u3)/sin(Phi))+((2*mC*(LBC*sin(Theta)-
P)*u3)/(sin(Phi))^3))*KPhi*ThetaP; NcTC31=(((-2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^2)+((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)-
((mC*LBC*cos(Theta)*v3)/sin(Phi)))*KPhi*ThetaP;
NcTC13=(((mC*(LBC*sin(Theta)-P)*LBC*sin(Theta)*cos(Phi))/(sin(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/sin(Phi)))*ThetaP; NcTC33=((-mC*LBC^2*sin(Theta)*cos(Theta))/(sin(Phi))^2)*ThetaP;
NcTC11A=(((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)+((2*mC*LBC*cos(Theta)*v3)/sin(Phi))-
((2*mC*LBC*cos(Theta)*cos(Phi)*u3)/(sin(Phi))^2))*ThetaP; NcTC31A=((-2*mC*LBC^2*(cos(Theta))^2*cos(Phi))/(sin(Phi))^3)*ThetaP;
end
Masa11=((mDD1*(u4^2+v4^2))+(mEF*LAE^2)+(mF*LAE^2*(cos(Phi))^2)+(IDD1))+MT
C11; Masa12=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Phi)*cos(Beta))); Masa13=0+MTC13;
Masa21=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Beta)*cos(Phi))); Masa22=((mEF*(u5^2+v5^2))+(mF*LEF^2*(cos(Beta))^2)+(IEF)); Masa23=0;
ANEXOS ANEXO J
Masa31=0+MTC31; Masa32=0; Masa33=((mBB1*(u2^2+v2^2))+(IBB1))+MTC33;
M=[Masa11,Masa12,Masa13;Masa21,Masa22,Masa23;Masa31,Masa32,Masa33];
%*********************************************************** %*************** MATRIZ NC ******************** %*********************************************************** %Matriz de 3x3
Nc11=-(mF*LAE^2*cos(Phi)*sin(Phi))*KPhi*ThetaP+NcTC11+NcTC11A; Nc12=(-(mEF*LAE*sin(Phi-Beta)*v5)-(mEF*LAE*cos(Phi-
Beta)*u5)+(mF*LAE*LEF*cos(Phi)*sin(Beta)))*KBeta*ThetaP; Nc13=0+NcTC13;
Nc21=((mEF*LAE*cos(Phi-Beta)*u5)+(mEF*LAE*sin(Phi-Beta)*v5))*KPhi*ThetaP; Nc22=(-
(mF*LEF^2*cos(Beta)*sin(Beta)))*KBeta*ThetaP+(mF*LAE*LEF*cos(Beta)*sin(Ph
i)*KPhi*ThetaP); Nc23=0;
Nc31=0+NcTC31+NcTC31A; Nc32=0; Nc33=NcTC33;
Nc=[Nc11,Nc12,Nc13;Nc21,Nc22,Nc23;Nc31,Nc32,Nc33];
%*********************************************************** %*************** MATRIZ NG ******************** %*********************************************************** %Matriz de 3x1
Ng11=((mDD1*(cos(Phi)*u4-sin(Phi)*v4))+(mEF*LAE*sin(Phi)))+NgTC11; Ng21=(mEF*(cos(Beta)*u5-sin(Beta)*v5)); Ng31=(mBB1*(cos(Theta)*u2-sin(Theta)*v2))+NgTC31; NG=[Ng11;Ng21;Ng31]*g;
%*********************************************************** %*************** MATRIZ JACOBIAN0 ****************** %***********************************************************
J11=-(LBC*cos(Phi-Theta)+H*cos(Phi)-P*sin(Phi)); J12=0; J13=(LBC*cos(Phi-Theta));
J21=LAE*sin(Phi); J22=-(LEF*sin(Beta)); J23=0;
J=[J11,J12,J13;J21,J22,J23];
ANEXOS ANEXO J
%*********************************************************** %************ MULTP LAGRANGE ******************** %***********************************************************
syms LGRmult1 LGRmult2; LGRmult=[LGRmult1;LGRmult2];
%*********************************************************** %************ Fuerzas Externas ******************** %*********************************************************** %PRUEBA QEXT=[Fcorte*(LAE*cos(Phi));-Fcorte*(LEF*cos(Beta));MTorque];
%*********************************************************** %*************** ECUACION DINAMICA ******************* %***********************************************************
f=(M*K*ThetaPP+(M*L+Nc*K)*ThetaP+NG)+J'*LGRmult-QEXT; % f=M*K*ThetaPP+(M*L+Nc*K)*ThetaP+Ng+J'*LGRmult;
S=solve(f((1)),f((2)),f((3)),ThetaPP,LGRmult1,LGRmult2); S=[S.ThetaPP S.LGRmult1 S.LGRmult2];
ThetaPP=eval(S((1))); LGRmult1=eval(S((2))); LGRmult2=eval(S((3)));
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
% fprintf('t= %g \n',t); % fprintf('Theta= %g \n',Theta); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('Phi= %g \n',Phi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('KPhi= %g \n',KPhi); % fprintf('KBeta= %g \n',KBeta); % fprintf('KLAC= %g \n',KLAC); % fprintf('KRBFx= %g \n',KRBFx); % fprintf('LPhi= %g \n',LPhi); % fprintf('LBeta= %g \n',LBeta); % fprintf('LLAC= %g \n',LLAC); % fprintf('LRBFx= %g \n',LRBFx); % fprintf('u2= %g \n',u2); % fprintf('v2= %g \n',v2); % fprintf('u4= %g \n',u4); % fprintf('v4= %g \n',v4); % fprintf('u5= %g \n',u5); % fprintf('v5= %g \n',v5); % fprintf('u3= %g \n',u3);
ANEXOS ANEXO J
% fprintf('v3= %g \n',v3); % fprintf('u6= %g \n',u6); % fprintf('v6= %g \n',v6); % fprintf('IBB1= %g \n',IBB1); % fprintf('IDD1= %g \n',IDD1); % fprintf('IEF= %g \n',IEF); % fprintf('IF= %g \n',IF); % fprintf('IC= %g \n',IC); % fprintf('mBB1= %g \n',mBB1); % fprintf('mDD1= %g \n',mDD1); % fprintf('mEF= %g \n',mEF); % fprintf('mF= %g \n',mF); % fprintf('mC= %g \n',mC); % fprintf('LGRmult1= %g \n',LGRmult1); % fprintf('LGRmult2= %g \n',LGRmult2); % fprintf('LGRmult3= %g \n',LGRmult3); % fprintf('LGRmult4= %g \n',LGRmult4); % fprintf('\n');
qpp = [ThetaPP;LGRmult1;LGRmult2];
% end
ANEXOS ANEXO K
En este ANEXO se incluyen 3 archivos:
Dinamica_Simulk_2var.m (MATLAB) Dinamica_2var.mdl (MATLAB) Dinamica_MLagrange.wm2d (Working Model) Se presenta la dinámica del mecanismo, utilizando el método de los multiplicadores de Lagrange incluyendo fuerzas
Dinamica_Simulk_2var.m
%*********************************************************** %****************** Dinamica_Simulk ******************* %***********************************************************
% En este programa se desarrollan las ecuaciones de Lagrange obtenidas % para la dinamica del mecanismo de Whitworth, para ser implementada
como1
% clear all % close all % clc % % inc=10; % contador=0; % % for t=0:inc:360 % contador=contador+1; % Theta=t*pi/180;
function Solqpp=Dinamica_Simulk_2var(u)
%*********************************************************** %****************** DATOS ******************* %***********************************************************
syms ThetaPP;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
ANEXO K
ANEXOS ANEXO K
% Magnitudes de las variables de diseño P = 0; H = 3; m = 2; RBA=[-P;-H];
% Velocidad ángular de retroalimentación ThetaP=u(1); % ThetaP=10;
% Posición ángular de entrada Theta=u(2); % Theta=t*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
% Masa e Inercia BB1 mBB1=30; IBB1=272.500; % Masa e Inercia DD1 mDD1=140; IDD1=200;
ANEXOS ANEXO K
% Masa e Inercia EF mEF=3; IEF=10; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque MTorque=100; % FBCG=100; Fcorte=-50;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)-P)/((LBC*cos(Theta))+H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))+H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)+P)<0 && ((LBC*cos(Theta))+H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
ANEXOS ANEXO K
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)+H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)-P)/sin(Phi)))); end
LACH=LAC;
%Definimos las posiciones de los eslabones
RBB1x=-(LBB1)*sin(Theta); RBB1y=(LBB1)*cos(Theta); RBCx=-(LBB1-LCB1)*sin(Theta); RBCy=(LBB1-LCB1)*cos(Theta); RACx=-LAC*sin(Phi); RACy=LAC*cos(Phi); RADx=-LAD*sin(Phi); RADy=LAD*cos(Phi); RAD1x=LAD1*sin(Phi); RAD1y=-LAD1*cos(Phi); RAEx=LAE*sin(Phi); RAEy=-LAE*cos(Phi); REFx=-LEF*sin(Beta); REFy=LEF*cos(Beta); RBFx=(-P+LAE*sin(Phi)-LEF*sin(Beta));
%*********************************************************** %***************** VELOCIDAD ************************** %***********************************************************
PhiP=((LBC*cos(Phi-Theta))*ThetaP)/((LBC*cos(Phi-Theta))+H*cos(Phi)-
P*sin(Phi)); BetaP=(LAE*sin(Phi)*PhiP)/(LEF*sin(Beta));
ANEXOS ANEXO K
%Velocidad de los eslabones
% Calculamos LACP, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LACP=((-
LBC*sin(Theta)*ThetaP)/cos(Phi))+(((LBC*cos(Theta)+H)*sin(Phi)*PhiP)/((co
s(Phi))^2)); else
LACP=((LBC*cos(Theta)*ThetaP)/sin(Phi))-(((LBC*sin(Theta)-
P)*cos(Phi)*PhiP)/((sin(Phi))^2)); end
RBB1xP=-LBB1*cos(Theta)*ThetaP; RBB1yP=-(LBB1)*sin(Theta)*ThetaP; RBCxP=-(LBB1-LCB1)*cos(Theta)*ThetaP; RBCyP=-(LBB1-LCB1)*sin(Theta)*ThetaP; RACxP=-LACP*sin(Phi)-(LAC*cos(Phi)*PhiP); RACyP=LACP*cos(Phi)-(LAC*sin(Phi)*PhiP); RADxP=-LAD*cos(Phi)*PhiP; RADyP=-LAD*sin(Phi)*PhiP; RAD1xP=LAD1*cos(Phi)*PhiP; RAD1yP=LAD1*sin(Phi)*PhiP; RAExP=LAE*cos(Phi)*PhiP; RAEyP=LAE*sin(Phi)*PhiP; REFxP=-LEF*cos(Beta)*BetaP; REFyP=-LEF*sin(Beta)*BetaP; RBFxP=LAE*cos(Phi)*PhiP-LEF*cos(Beta)*BetaP;
%*********************************************************** %*************** MATRIZ MASA ****************** %*********************************************************** %Matriz de 3x3
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
MTC11=((mC*(LBC*cos(Theta)+H)^2)/(cos(Phi))^4)+((2*mC*(LBC*cos(Theta)+H)*
v3)/cos(Phi))+(mC*(u3^2+v3^2))+((2*mC*(LBC*cos(Theta)+H)*sin(Phi)*u3)/(co
s(Phi)^2))+IC; MTC13=-((mC*(LBC*cos(Theta)+H)*(LBC*sin(Theta))*sin(Phi))/(cos(Phi))^3)-
((mC*(LBC*sin(Theta)*u3))/cos(Phi));
MTC31=(-(mC*(LBC*cos(Theta)+H)*LBC*sin(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/cos(Phi)); MTC33=((mC*LBC^2*(sin(Theta))^2)/(cos(Phi))^2);
NgTC11=((mC*cos(Phi)*u3)-(mC*sin(Phi)*v3)); NgTC31=-(mC*LBC*sin(Theta));
ANEXOS ANEXO K
NcTC11=(((2*mC*(LBC*cos(Theta)+H)^2*sin(Phi))/(cos(Phi))^5)+((mC*(LBC*cos
(Theta)+H)*sin(Phi)*v3)/(cos(Phi))^2)-
((mC*(LBC*cos(Theta)+H)*u3)/cos(Phi))+((2*mC*(LBC*cos(Theta)+H)*u3)/(cos(
Phi))^3))*PhiP; NcTC31=(((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^2)-
((2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)+((mC*LBC*sin(Thet
a)*v3)/cos(Phi)))*PhiP;
NcTC13=(((-mC*(LBC*cos(Theta)+H)*LBC*cos(Theta)*sin(Phi))/(cos(Phi))^3)-
((mC*LBC*cos(Theta)*u3)/cos(Phi)))*ThetaP; NcTC33=((mC*LBC^2*sin(Theta)*cos(Theta))/(cos(Phi))^2)*ThetaP;
NcTC11A=(((-2*mC*(LBC*cos(Theta)+H)*LBC*sin(Theta))/(cos(Phi))^4)-
((2*mC*LBC*sin(Theta)*v3)/cos(Phi))-
((2*mC*LBC*sin(Theta)*sin(Phi)*u3)/(cos(Phi))^2))*ThetaP; NcTC31A=((mC*LBC^2*(sin(Theta))^2*sin(Phi))/(cos(Phi))^3)*ThetaP;
else
MTC11=((mC*(LBC*sin(Theta)-P)^2)/(sin(Phi))^4)+((2*mC*(LBC*sin(Theta)-
P)*v3)/sin(Phi))+(mC*(u3^2+v3^2))-((2*mC*(LBC*sin(Theta)-
P)*cos(Phi)*u3)/(sin(Phi))^2)+IC; MTC13=(-mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*(cos(Phi))/(sin(Phi)^3))+((mC*(LBC*cos(Theta)*u3))/si
n(Phi));
MTC31=-((mC*(LBC*sin(Theta)-
P)*(LBC*cos(Theta))*cos(Phi))/(sin(Phi))^3)+((mC*LBC*cos(Theta)*u3)/sin(P
hi)); MTC33=((mC*LBC^2*(cos(Theta))^2)/(sin(Phi))^2);
NgTC11=-((mC*(LBC*sin(Theta)-P))/(sin(Phi))^2)+(mC*cos(Phi)*u3)-
(mC*sin(Phi)*v3); NgTC31=(mC*LBC*cos(Theta)*cos(Phi))/sin(Phi);
NcTC11=(((-(2*mC*(LBC*sin(Theta)-P)^2*cos(Phi)))/(sin(Phi))^5)-
((mC*(LBC*sin(Theta)-P)*cos(Phi)*v3)/(sin(Phi))^2)-((mC*(LBC*sin(Theta)-
P)*u3)/sin(Phi))+((2*mC*(LBC*sin(Theta)-P)*u3)/(sin(Phi))^3))*PhiP; NcTC31=(((-2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^2)+((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)-((mC*LBC*cos(Theta)*v3)/sin(Phi)))*PhiP;
NcTC13=(((mC*(LBC*sin(Theta)-P)*LBC*sin(Theta)*cos(Phi))/(sin(Phi))^3)-
((mC*LBC*sin(Theta)*u3)/sin(Phi)))*ThetaP; NcTC33=((-mC*LBC^2*sin(Theta)*cos(Theta))/(sin(Phi))^2)*ThetaP;
NcTC11A=(((2*mC*(LBC*sin(Theta)-
P)*LBC*cos(Theta))/(sin(Phi))^4)+((2*mC*LBC*cos(Theta)*v3)/sin(Phi))-
((2*mC*LBC*cos(Theta)*cos(Phi)*u3)/(sin(Phi))^2))*ThetaP; NcTC31A=((-2*mC*LBC^2*(cos(Theta))^2*cos(Phi))/(sin(Phi))^3)*ThetaP;
end
ANEXOS ANEXO K
Masa11=((mDD1*(u4^2+v4^2))+(mEF*LAE^2)+(mF*LAE^2*(cos(Phi))^2)+(IDD1))+MT
C11; Masa12=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Phi)*cos(Beta))); Masa13=0+MTC13;
Masa21=((mEF*LAE*sin(Phi-Beta)*u5)-(mEF*LAE*cos(Phi-Beta)*v5)-
(mF*LAE*LEF*cos(Beta)*cos(Phi))); Masa22=((mEF*(u5^2+v5^2))+(mF*LEF^2*(cos(Beta))^2)+(IEF)); Masa23=0;
Masa31=0+MTC31; Masa32=0; Masa33=((mBB1*(u2^2+v2^2))+(IBB1))+MTC33;
M=[Masa11,Masa12,Masa13;Masa21,Masa22,Masa23;Masa31,Masa32,Masa33];
%*********************************************************** %*************** MATRIZ NC ******************** %*********************************************************** %Matriz de 3x3
Nc11=-(mF*LAE^2*cos(Phi)*sin(Phi))*PhiP+NcTC11+NcTC11A; Nc12=(-(mEF*LAE*sin(Phi-Beta)*v5)-(mEF*LAE*cos(Phi-
Beta)*u5)+(mF*LAE*LEF*cos(Phi)*sin(Beta)))*BetaP; Nc13=0+NcTC13;
Nc21=((mEF*LAE*cos(Phi-Beta)*u5)+(mEF*LAE*sin(Phi-Beta)*v5))*PhiP; Nc22=(-
(mF*LEF^2*cos(Beta)*sin(Beta)))*BetaP+(mF*LAE*LEF*cos(Beta)*sin(Phi)*PhiP
); Nc23=0;
Nc31=0+NcTC31+NcTC31A; Nc32=0; Nc33=NcTC33;
Nc=[Nc11,Nc12,Nc13;Nc21,Nc22,Nc23;Nc31,Nc32,Nc33];
%*********************************************************** %*************** MATRIZ NG ******************** %*********************************************************** %Matriz de 3x1
Ng11=((mDD1*(cos(Phi)*u4-sin(Phi)*v4))+(mEF*LAE*sin(Phi)))+NgTC11; Ng21=(mEF*(cos(Beta)*u5-sin(Beta)*v5)); Ng31=(mBB1*(cos(Theta)*u2-sin(Theta)*v2))+NgTC31; NG=[Ng11;Ng21;Ng31]*g;
ANEXOS ANEXO K
%*********************************************************** %*************** MATRIZ JACOBIAN0 ****************** %***********************************************************
J11=(-LBC*cos(Phi-Theta)-H*cos(Phi)+P*sin(Phi)); J12=0; J13=(LBC*cos(Phi-Theta));
J21=LAE*sin(Phi); J22=-(LEF*sin(Beta)); J23=0;
J=[J11,J12,J13;J21,J22,J23];
%*********************************************************** %********* MATRIZ Derivada JACOBIAN0 *************** %***********************************************************
J11P=(LBC*sin(Phi-Theta)*(PhiP-
ThetaP))+(H*sin(Phi)*PhiP)+(P*cos(Phi)*PhiP); J12P=0; J13P=-(LBC*sin(Phi-Theta)*(PhiP-ThetaP));
J21P=(LAE*cos(Phi)*PhiP); J22P=-(LEF*cos(Beta)*BetaP); J23P=0;
JP=[J11P,J12P,J13P;J21P,J22P,J23P];
%*********************************************************** %************ MULTP LAGRANGE ******************** %***********************************************************
syms LGRmult1 LGRmult2; LGRmult=[LGRmult1;LGRmult2];
%*********************************************************** %************ Fuerzas Externas ******************** %*********************************************************** %PRUEBA QEXT=[Fcorte*(LAE*cos(Phi));-Fcorte*(LEF*cos(Beta));MTorque];
%*********************************************************** %*************** ECUACION DINAMICA ******************* %***********************************************************
syms PhiPP BetaPP ThetaPP;
q=[Phi;Beta;Theta]; qp=[PhiP;BetaP;ThetaP]; qpp=[PhiPP;BetaPP;ThetaPP];
ANEXOS ANEXO K
%Se define el termino c c= -JP*qp;
%Se define el termino Q Q=-Nc*qp-NG+QEXT;
%Se definen las Ecuaciones simultaneas
f=M*qpp+J'*LGRmult-Q; g=J*qpp-c;
S=solve(f((1)),f((2)),f((3)),g((1)),g((2)),PhiPP,BetaPP,ThetaPP,LGRmult1,
LGRmult2); S=[S.PhiPP S.BetaPP S.ThetaPP S.LGRmult1 S.LGRmult2];
PhiPP=eval(S((1))); BetaPP=eval(S((2))); ThetaPP=eval(S((3))); LGRmult1=eval(S((4))); LGRmult2=eval(S((5)));
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
% fprintf('t= %g \n',t); % fprintf('Theta= %g \n',Theta); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('Phi= %g \n',Phi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('Phi= %g \n',Phi); % fprintf('Beta= %g \n',Beta); % fprintf('u2= %g \n',u2); % fprintf('v2= %g \n',v2); % fprintf('u4= %g \n',u4); % fprintf('v4= %g \n',v4); % fprintf('u5= %g \n',u5); % fprintf('v5= %g \n',v5); % fprintf('u3= %g \n',u3); % fprintf('v3= %g \n',v3); % fprintf('u6= %g \n',u6); % fprintf('v6= %g \n',v6); % fprintf('IBB1= %g \n',IBB1); % fprintf('IDD1= %g \n',IDD1); % fprintf('IEF= %g \n',IEF); % fprintf('IF= %g \n',IF); % fprintf('IC= %g \n',IC); % fprintf('mBB1= %g \n',mBB1); % fprintf('mDD1= %g \n',mDD1); % fprintf('mEF= %g \n',mEF); % fprintf('mF= %g \n',mF);
ANEXOS ANEXO K
% fprintf('mC= %g \n',mC); % fprintf('LGRmult1= %g \n',LGRmult1); % fprintf('LGRmult2= %g \n',LGRmult2); % fprintf('LGRmult3= %g \n',LGRmult3); % fprintf('LGRmult4= %g \n',LGRmult4); % fprintf('\n');
Solqpp = [ThetaPP;LGRmult1;LGRmult2;PhiPP;BetaPP];
% end
ANEXOS ANEXO L
En este ANEXO se incluyen 5 archivos:
Dim_Simulk.m (MATLAB) Reacciones_DimEK.m (MATLAB) Dim.mdl (MATLAB) Dinamica_Reacciones_DimEK.wm2d (Working Model) Reaction Force.wm2d (Working Model) Se presentan las reacciones en los pares del mecanismo
Dim_Simulk.m
%*********************************************************** %****************** Dim_Simulk ******************* %***********************************************************
% En este programa se desarrollan las ecuaciones de Lagrange obtenidas % para la dinamica del mecanismo de Whitworth, para ser implementada
como1 % clc % clear all % close all % % inc=10; % contador=0; % % for t=0:inc:360 % contador=contador+1;
function qpp=Dim_Simulk(u)
%*********************************************************** %****************** DATOS ******************* %*********************************************************** syms ThetaPP;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
ANEXO L
ANEXOS ANEXO L
% Magnitudes de las variables de diseño P = 0; H = -3; m = 2; RBA=[P;H];
% Velocidad ángular de retroalimentación ThetaP=u(1); % ThetaP=10;
% Posición ángular de entrada Theta=u(2); % Theta=t*pi/180;
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Posición Aplicacion de la Fuerza u7=6; v7=0;
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2));
ANEXOS ANEXO L
% Masa e Inercia BB1 mBB1=1; IBB1=1; % Masa e Inercia DD1 mDD1=1; IDD1=1; % Masa e Inercia EF mEF=3; IEF=10; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque % MTorque=100; % Fcorte=-50; MTorque=100; Fcorte=-50;
%*********************************************************** %****************** POSICIÓN ************************** %***********************************************************
% Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)+P)/((LBC*cos(Theta))-H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))-H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)-P)<0 && ((LBC*cos(Theta))-H)>0 Phi=2*pi+Phi; end
ANEXOS ANEXO L
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(-H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)-H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)+P)/sin(Phi)))); end
LACH=LAC;
%Definimos las posiciones de los eslabones
RBFx=(P+LAE*sin(Phi)-LEF*sin(Beta));
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=(LBC/LACH)*cos(Phi-Theta);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 KLAC=((LACH*sin(Phi)*KPhi)-(LBC*sin(Theta)))/(cos(Phi)); else KLAC=((-LACH*cos(Phi)*KPhi)+(LBC*cos(Theta)))/(sin(Phi)); end
ANEXOS ANEXO L
KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta)); KRBFx=(LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta);
K=[KPhi;KLAC;KBeta;KRBFx;1];
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Solución mediante, manipulación de ecuaciones. %NOTA: Checar los coeficientes sustituyendo por K*ThetaP
%Se divide entre ThetaP, Para que exista coherencia en este método, ya
que %las ecuaciones se obtuvieron, primero mediante el metodo de los %multiplicadores ó %Se obtienen nuevamente los coeficientes L, con respecto a ThetaP, como
se %hizo ahora.
LPhi=((-LBC/LACH)*sin(Phi-Theta)*(KPhi-1))-((LBC*cos(Phi-
Theta)*KLAC)/LACH^2);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LLAC=((((KLAC*sin(Phi)*KPhi)+(LAC*cos(Phi)*KPhi^2)+(LAC*sin(Phi)*LPhi)-
(LBC*cos(Theta)))*cos(Phi))+(((LAC*sin(Phi)*KPhi)-
(LBC*sin(Theta)))*sin(Phi)*cos(Phi)))/((cos(Phi))^2);
else LLAC=((((-KLAC*cos(Phi)*KPhi)+(LAC*sin(Phi)*KPhi^2)-
(LAC*cos(Phi)*LPhi)-(LBC*sin(Theta)))*sin(Phi))-(((-
LAC*cos(Phi)*KPhi)+(LBC*cos(Theta)))*cos(Phi)*KPhi))/((sin(Phi))^2);
end
LBeta=((((LAE*cos(Phi)*KPhi^2)+(LAE*sin(Phi)*LPhi))*(LEF*sin(Beta)))-
((LAE*sin(Phi)*KPhi)*(LEF*cos(Beta)*KBeta)))/((LEF*sin(Beta))^2); LRBFx=(-LAE*sin(Phi)*KPhi^2)+(LAE*cos(Phi)*LPhi)+(LEF*sin(Beta)*KBeta^2)-
(LEF*cos(Beta)*LBeta);
L=[LPhi;LLAC;LBeta;LRBFx;0];
ANEXOS ANEXO L
%*********************************************************** %****************** POSICIÓN CM ************************ %***********************************************************
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[LAE*sin(Phi);-LAE*cos(Phi)]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2)); % Posición del CM_ELmF desde el sistema de coordenadas (X,Y) REF=[-LEF*sin(Beta);LEF*cos(Beta)]; RFCM=RBA+RAE+REF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) RCCM=RBA+[-LAC*sin(Phi);LAC*cos(Phi)]+Mtz_TDD1*UV_ELmC; RCCMx=RCCM((1)); RCCMy=RCCM((2));
%*********************************************************** %****************** VELOCIDAD CM ************************ %***********************************************************
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2));
ANEXOS ANEXO L
% Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP+Mtz_TEFP*UV_ELmEF*KBeta*Th
etaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi*ThetaP;KLAC*ThetaP]+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2));
% %*********************************************************** % %****************** ACELERACIÓN CM ********************** % %*********************************************************** % % % Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) % RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; % RBB1CMxPP=RBB1CMPP((1)); % RBB1CMyPP=RBB1CMPP((2)); % % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) %
RDD1CMPP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaPP+Mtz_TDD1P*UV_ELmDD1*LPhi*ThetaP
-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; % RDD1CMxPP=RDD1CMPP((1)); % RDD1CMyPP=RDD1CMPP((2)); % % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) %
REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; % REFCMxPP=REFCMPP((1)); % REFCMyPP=REFCMPP((2)); % % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) %
RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; % RFCMxPP=RFCMPP((1)); % RFCMyPP=RFCMPP((2)); % % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) % RCCMPP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi;KLAC]*ThetaPP+[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[LPhi;LLAC]*ThetaP+[LAC*sin(Phi)*KPhi -2*cos(Phi)*KPhi;-
LAC*cos(Phi)*KPhi -
2*sin(Phi)*KPhi]*[KPhi;KLAC]*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP+Mtz_
TDD1P*UV_ELmC*KPhi*LPhi*ThetaP-Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2;
ANEXOS ANEXO L
% RCCMxPP=RCCMPP((1)); % RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** Inercia General ****************** %***********************************************************
IG=(mBB1*(u2^2+v2^2))+IBB1+(mDD1*((u4^2+v4^2)*KPhi^2))+(IDD1*(KPhi^2))+(m
EF*((LAE^2*KPhi^2)+((u5^2+v5^2)*KBeta^2)+(2*LAE*sin(Phi-
Beta)*u5*KPhi*KBeta)-(2*LAE*cos(Phi-
Beta)*v5*KPhi*KBeta)))+(IEF*(KBeta^2))+(mF*(KRBFx^2))+(mC*(KLAC^2+((LAC^2
+u3^2+2*LAC*v3+v3^2)*KPhi^2)+(2*u3*KLAC*KPhi)))+(IC*(KPhi^2));
%*********************************************************** %******** Derivada Inercia General contra Theta ******** %***********************************************************
IGp=(mDD1*((u4^2+v4^2)*KPhi*LPhi))+(IDD1*(KPhi*LPhi))+(mEF*((LAE^2*KPhi*L
Phi)+((u5^2+v5^2)*KBeta*LBeta)+(LAE*cos(Phi-Beta)*(KPhi-
KBeta)*u5*KPhi*KBeta)+(LAE*sin(Phi-Beta)*u5*LPhi*KBeta)+(LAE*sin(Phi-
Beta)*u5*KPhi*LBeta)+(LAE*sin(Phi-Beta)*(KPhi-KBeta)*v5*KPhi*KBeta)-
(LAE*cos(Phi-Beta)*v5*LPhi*KBeta)-(LAE*cos(Phi-
Beta)*v5*KPhi*LBeta)))+(IEF*KBeta*LBeta)+(mF*(KRBFx*LRBFx))+(mC*((KLAC*LL
AC)+((LAC*KLAC+KLAC*v3)*KPhi^2)+((LAC^2+u3^2+2*LAC*v3+v3^2)*KPhi*LPhi)+(u
3*LLAC*KPhi)+(u3*KLAC*LPhi)))+(IC*(KPhi*LPhi));
%*********************************************************** %********* Derivada Potencial ********** %***********************************************************
Vp=(mBB1*((cos(Theta)*u2)-(sin(Theta)*v2)))+(mDD1*((cos(Phi)*KPhi*u4)-
(sin(Phi)*KPhi*v4)))+(mEF*((LAE*sin(Phi)*KPhi)+(cos(Beta)*KBeta*u5)-
(sin(Beta)*KBeta*v5)))+(mC*((KLAC*cos(Phi))-
(LAC*sin(Phi)*KPhi)+(cos(Phi)*KPhi*u3)-(sin(Phi)*KPhi*v3)));
%*********************************************************** %********* Dinámica ********** %***********************************************************
%PRUEBA Dist=((LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta)); QExt=MTorque+(Fcorte*Dist);
ThetaPP=(1/IG)*(QExt-(IGp*ThetaP*ThetaP)-(Vp*g)); % ThetaPP=10;
ANEXOS ANEXO L
%*********************************************************** %****************** ACELERACIÓN CM ********************** %***********************************************************
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*(UV_ELmDD1*KPhi*ThetaPP)+Mtz_TDD1P*(UV_ELmDD1*LPhi*The
taP^2)-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP^2+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP^2-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2)); % Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Phi
)]*LPhi*ThetaP^2+[-LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaPP-
[LEF*cos(Beta);LEF*sin(Beta)]*LBeta*ThetaP^2+[LEF*sin(Beta);-
LEF*cos(Beta)]*KBeta^2*ThetaP^2; RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMPP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi;KLAC]*ThetaPP+[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[LPhi;LLAC]*ThetaP^2+[-KLAC*cos(Phi)+KPhi*LAC*sin(Phi) -
KPhi*cos(Phi);-KLAC*sin(Phi)-KPhi*LAC*cos(Phi) -
KPhi*sin(Phi)]*[KPhi;KLAC]*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP+Mtz_TD
D1P*UV_ELmC*KPhi*LPhi*ThetaP^2-
Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2;RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
% fprintf('t= %g \n',t); % fprintf('Theta= %g \n',t); % fprintf('ThetaP= %g \n',ThetaP); % fprintf('ThetaPP= %g \n',ThetaPP); % fprintf('Phi= %g \n',Phi); % fprintf('LAC= %g \n',LAC); % fprintf('RBFx= %g \n',RBFx); % fprintf('KPhi= %g \n',KPhi); % fprintf('KBeta= %g \n',KBeta); % fprintf('KLAC= %g \n',KLAC); % fprintf('KRBFx= %g \n',KRBFx); % fprintf('LPhi= %g \n',LPhi);
ANEXOS ANEXO L
% fprintf('LBeta= %g \n',LBeta); % fprintf('LLAC= %g \n',LLAC); % fprintf('LRBFx= %g \n',LRBFx); % fprintf('u2= %g \n',u2); % fprintf('v2= %g \n',v2); % fprintf('u4= %g \n',u4); % fprintf('v4= %g \n',v4); % fprintf('u5= %g \n',u5); % fprintf('v5= %g \n',v5); % fprintf('u3= %g \n',u3); % fprintf('v3= %g \n',v3); % fprintf('u6= %g \n',u6); % fprintf('v6= %g \n',v6); % fprintf('IBB1= %g \n',IBB1); % fprintf('IDD1= %g \n',IDD1); % fprintf('IEF= %g \n',IEF); % fprintf('IF= %g \n',IF); % fprintf('IC= %g \n',IC); % fprintf('mBB1= %g \n',mBB1); % fprintf('mDD1= %g \n',mDD1); % fprintf('mEF= %g \n',mEF); % fprintf('mF= %g \n',mF); % fprintf('mC= %g \n',mC); % fprintf('IG= %g \n',IG); % fprintf('IGp*ThetaP^2= %g \n',IGp*ThetaP*ThetaP); % fprintf('Vp= %g \n',Vp);
% fprintf('RBB1CMPP= %g \n',RBB1CMPP); % fprintf('RDD1CMPP= %g \n',RDD1CMPP); % fprintf('REFCMPP= %g \n',REFCMPP); % fprintf('RFCMP= %g \n',RFCMP); % fprintf('RFCMPP= %g \n',RFCMPP); % fprintf('RCCMP= %g \n',RCCMP); % fprintf('RCCMPP= %g \n',RCCMPP); % fprintf('\n');
qpp = [ThetaPP];
% end
ANEXOS ANEXO L
Reacciones_DimEK.m
%*********************************************************** %*********** Reacciones Dinamica EKSergian *************** %***********************************************************
% clc % clear all % close all
function F=Reacciones_DimEK(u)
Theta=u(1); ThetaP=u(2); ThetaPP=u(3);
syms f1BB1x f1BB1y fCBB1x fCBB1y fDD1Cx fDD1Cy f1DD1x f1DD1y fEFDD1x
fEFDD1y fFEFx fFEFy f1Fy uCNCy RCMFfcortey RCMFNFx RCMFNFy uCNCx f1Fx
fDD1C;
% Magnitudes de los eslabones LBB1 = 10; LCB1 = 2; LAD = 15; LAD1 = 20; LDD1 = LAD + LAD1; LED1 = 2; LEF = 30; LAE=LAD1-LED1; LBC=LBB1-LCB1;
% Magnitudes de las variables de diseño P = 0; H = -3; m = 2; RBA=[P;H];
% Definicion del CM, desde el sistema de coordenadas (U_ELmBB1,V_ELmBB1); U_ELmBB1=-1.5; V_ELmBB1=5; UV_ELmBB1=[U_ELmBB1;V_ELmBB1]; u2=UV_ELmBB1((1)); v2=UV_ELmBB1((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmDD1,V_ELmDD1); U_ELmDD1=2; V_ELmDD1=-2.5; UV_ELmDD1=[U_ELmDD1;V_ELmDD1]; u4=UV_ELmDD1((1)); v4=UV_ELmDD1((2));
ANEXOS ANEXO L
% Definicion del CM, desde el sistema de coordenadas (U_ELmC,V_ELmC); U_ELmC=1.125; V_ELmC=-1.5; UV_ELmC=[U_ELmC;V_ELmC]; u3=UV_ELmC((1)); v3=UV_ELmC((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmEF,V_ELmEF); U_ELmEF=2; V_ELmEF=15; UV_ELmEF=[U_ELmEF;V_ELmEF]; u5=UV_ELmEF((1)); v5=UV_ELmEF((2)); % Definicion del CM, desde el sistema de coordenadas (U_ELmF,V_ELmF); U_ELmF=3; V_ELmF=2; UV_ELmF=[U_ELmF;V_ELmF]; u6=UV_ELmF((1)); v6=UV_ELmF((2));
% Posición Aplicacion de la Fuerza u7=6; v7=0;
% Masa e Inercia BB1 mBB1=1; IBB1=1; % Masa e Inercia DD1 mDD1=1; IDD1=1; % Masa e Inercia EF mEF=3; IEF=10; % Masa e Inercia F mF=4; IF=10; % Masa e Inercia C mC=5; IC=7;
% Gravedad g=9.80;
%Torque % MTorque=100; % Fcorte=-50; MTorque=100; Fcorte=-50;
ANEXOS ANEXO L
%*********************************************************** %****************** POSICIÓN ************************** %*********************************************************** % Ecuaciones de Restricción, determinación de Phi, Beta. % NOTA: Cuando P, esta de lado izquierdo, entonces Phi, tiene valores % negativos. Es importante tomarlo en cuenta a la hora de la
implementación
Phi=atan((LBC*sin(Theta)+P)/((LBC*cos(Theta))-H));
% Estos dos if, se introducen, pues no queremos tener ángulos phi, % negativos ya que puede causar problemas al implementarlos en un encoder
if ((LBC*cos(Theta))-H)<0 Phi=pi+Phi;
end
if -(-LBC*sin(Theta)-P)<0 && ((LBC*cos(Theta))-H)>0 Phi=2*pi+Phi; end
%Este factor, se agrega, en caso de que P>0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, cruzara los 360° antes que la %barra motriz.
if Phi*180/pi<180 && (Theta*180/pi)>300 Phi=2*pi+Phi;
end
%Este factor, se agrega, en caso de que P<0, en cuyo caso, la barra que %define el retroceso rapido del mecanismo, presenta angulos mayores a
300°, %por lo cual se definen en su lugar ángulos negativos.
if Phi*180/pi>300 && (Theta*180/pi)<180 Phi=-(2*pi-Phi); end
Beta=-acos((LAE*cos(Phi)+(-H-m))/(LEF));
%Calculamos LAC, pero hay dos ecuaciones que tenemos que distinguir
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LAC=abs(((LBC*cos(Theta)-H)/cos(Phi)));
else LAC=abs((((LBC*sin(Theta)+P)/sin(Phi)))); end
ANEXOS ANEXO L
LACH=LAC;
%Definimos las posiciones de los eslabones
RBFx=(P+LAE*sin(Phi)-LEF*sin(Beta));
%*********************************************************** %*********** Coeficientes de Velocidad **************** %*********************************************************** %Se puede resolver por manipulacion de ecuaciones o de forma matricial
%Solución mediante, manipulación de ecuaciones.
KPhi=(LBC/LACH)*cos(Phi-Theta);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360 KLAC=((LACH*sin(Phi)*KPhi)-(LBC*sin(Theta)))/(cos(Phi)); else KLAC=((-LACH*cos(Phi)*KPhi)+(LBC*cos(Theta)))/(sin(Phi)); end
KBeta=(LAE*sin(Phi)*KPhi)/(LEF*sin(Beta)); KRBFx=(LAE*cos(Phi)*KPhi)-(LEF*cos(Beta)*KBeta);
K=[KPhi;KLAC;KBeta;KRBFx;1];
%*********************************************************** %*********** Coeficientes de Aceleración **************** %*********************************************************** %Solución mediante, manipulación de ecuaciones. %NOTA: Checar los coeficientes sustituyendo por K*ThetaP
%Se divide entre ThetaP, Para que exista coherencia en este método, ya
que %las ecuaciones se obtuvieron, primero mediante el metodo de los %multiplicadores ó %Se obtienen nuevamente los coeficientes L, con respecto a ThetaP, como
se %hizo ahora.
LPhi=((-LBC/LACH)*sin(Phi-Theta)*(KPhi-1))-((LBC*cos(Phi-
Theta)*KLAC)/LACH^2);
if Phi*180/pi ==0 || Phi*180/pi == 180 || Phi*180/pi == 360
LLAC=((((KLAC*sin(Phi)*KPhi)+(LAC*cos(Phi)*KPhi^2)+(LAC*sin(Phi)*LPhi)-
(LBC*cos(Theta)))*cos(Phi))+(((LAC*sin(Phi)*KPhi)-
(LBC*sin(Theta)))*sin(Phi)*cos(Phi)))/((cos(Phi))^2);
ANEXOS ANEXO L
else LLAC=((((-KLAC*cos(Phi)*KPhi)+(LAC*sin(Phi)*KPhi^2)-
(LAC*cos(Phi)*LPhi)-(LBC*sin(Theta)))*sin(Phi))-(((-
LAC*cos(Phi)*KPhi)+(LBC*cos(Theta)))*cos(Phi)*KPhi))/((sin(Phi))^2);
end
LBeta=((((LAE*cos(Phi)*KPhi^2)+(LAE*sin(Phi)*LPhi))*(LEF*sin(Beta)))-
((LAE*sin(Phi)*KPhi)*(LEF*cos(Beta)*KBeta)))/((LEF*sin(Beta))^2); LRBFx=(-LAE*sin(Phi)*KPhi^2)+(LAE*cos(Phi)*LPhi)+(LEF*sin(Beta)*KBeta^2)-
(LEF*cos(Beta)*LBeta);
L=[LPhi;LLAC;LBeta;LRBFx;0];
%*********************************************************** %****************** POSICIÓN CM ************************ %***********************************************************
% Matriz de Transformacion Del sistema de coordenadas (U,V) a (X,Y) Mtz_TBB1=[cos(Theta),-sin(Theta);sin(Theta),cos(Theta)]; Mtz_TDD1=[cos(Phi),-sin(Phi);sin(Phi),cos(Phi)]; Mtz_TEF=[cos(Beta),-sin(Beta);sin(Beta),cos(Beta)];
% Posición del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CM=Mtz_TBB1*UV_ELmBB1; RBB1CMx=RBB1CM((1)); RBB1CMy=RBB1CM((2)); % Posición del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CM=RBA+Mtz_TDD1*UV_ELmDD1; RDD1CMx=RDD1CM((1)); RDD1CMy=RDD1CM((2)); % Posición del CM_ELmEF desde el sistema de coordenadas (X,Y) RAE=[LAE*sin(Phi);-LAE*cos(Phi)]; REFCM=RBA+RAE+Mtz_TEF*UV_ELmEF; REFCMx=REFCM((1)); REFCMy=REFCM((2)); % Posición del CM_ELmF desde el sistema de coordenadas (X,Y) REF=[-LEF*sin(Beta);LEF*cos(Beta)]; RFCM=RBA+RAE+REF+UV_ELmF; RFCMx=RFCM((1)); RFCMy=RFCM((2)); % Posición del CM_ELmC desde el sistema de coordenadas (X,Y) RCCM=RBA+[-LAC*sin(Phi);LAC*cos(Phi)]+Mtz_TDD1*UV_ELmC; RCCMx=RCCM((1)); RCCMy=RCCM((2));
ANEXOS ANEXO L
%*********************************************************** %****************** VELOCIDAD CM ************************ %***********************************************************
% Derivada Matriz de Transformacion Del sistema de coordenadas (U,V) a
(X,Y) Mtz_TBB1P=[-sin(Theta),-cos(Theta);cos(Theta),-sin(Theta)]; Mtz_TDD1P=[-sin(Phi),-cos(Phi);cos(Phi),-sin(Phi)]; Mtz_TEFP=[-sin(Beta),-cos(Beta);cos(Beta),-sin(Beta)];
% Velocidad del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMP=Mtz_TBB1P*UV_ELmBB1*ThetaP; RBB1CMxP=RBB1CMP((1)); RBB1CMyP=RBB1CMP((2)); % Velocidad del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMP=Mtz_TDD1P*UV_ELmDD1*KPhi*ThetaP; RDD1CMxP=RDD1CMP((1)); RDD1CMyP=RDD1CMP((2)); % Velocidad del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP+Mtz_TEFP*UV_ELmEF*KBeta*Th
etaP; REFCMxP=REFCMP((1)); REFCMyP=REFCMP((2)); % Velocidad del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaP-
[LEF*cos(Beta);LEF*sin(Beta)]*KBeta*ThetaP; RFCMxP=RFCMP((1)); RFCMyP=RFCMP((2)); % Velocidad del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi*ThetaP;KLAC*ThetaP]+Mtz_TDD1P*UV_ELmC*KPhi*ThetaP; RCCMxP=RCCMP((1)); RCCMyP=RCCMP((2)); %*********************************************************** %****************** ACELERACIÓN CM ********************** %***********************************************************
% Aceleración del CM_ELmBB1 desde el sistema de coordenadas (X,Y) RBB1CMPP=Mtz_TBB1P*UV_ELmBB1*ThetaPP-Mtz_TBB1*UV_ELmBB1*ThetaP^2; RBB1CMxPP=RBB1CMPP((1)); RBB1CMyPP=RBB1CMPP((2)); % Aceleración del CM_ELmDD1 desde el sistema de coordenadas (X,Y) RDD1CMPP=Mtz_TDD1P*(UV_ELmDD1*KPhi*ThetaPP)+Mtz_TDD1P*(UV_ELmDD1*LPhi*The
taP^2)-Mtz_TDD1*UV_ELmDD1*KPhi^2*ThetaP^2; RDD1CMxPP=RDD1CMPP((1)); RDD1CMyPP=RDD1CMPP((2)); % Aceleración del CM_ELmEF desde el sistema de coordenadas (X,Y) REFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*KPhi*ThetaPP+[LAE*cos(Phi);LAE*sin(Ph
i)]*LPhi*ThetaP^2+[-
LAE*sin(Phi);LAE*cos(Phi)]*KPhi^2*ThetaP^2+Mtz_TEFP*UV_ELmEF*KBeta*ThetaP
P+Mtz_TEFP*UV_ELmEF*LBeta*ThetaP^2-Mtz_TEF*UV_ELmEF*KBeta^2*ThetaP^2; REFCMxPP=REFCMPP((1)); REFCMyPP=REFCMPP((2));
ANEXOS ANEXO L
% Aceleración del CM_ELmF desde el sistema de coordenadas (X,Y) RFCMPP=[LAE*cos(Phi);LAE*sin(Phi)]*(KPhi*ThetaPP)+[LAE*cos(Phi);LAE*sin(P
hi)]*(LPhi*ThetaP^2)+[-LAE*sin(Phi);LAE*cos(Phi)]*(KPhi^2*ThetaP^2)-
[LEF*cos(Beta);LEF*sin(Beta)]*(KBeta*ThetaPP)-
[LEF*cos(Beta);LEF*sin(Beta)]*(LBeta*ThetaP^2)+[LEF*sin(Beta);-
LEF*cos(Beta)]*(KBeta^2*ThetaP^2); RFCMxPP=RFCMPP((1)); RFCMyPP=RFCMPP((2)); % Aceleración del CM_ELmC desde el sistema de coordenadas (X,Y) RCCMPP=[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[KPhi;KLAC]*ThetaPP+[-LAC*cos(Phi) -sin(Phi);-LAC*sin(Phi)
cos(Phi)]*[LPhi;LLAC]*ThetaP^2+[-KLAC*cos(Phi)+KPhi*LAC*sin(Phi) -
KPhi*cos(Phi);-KLAC*sin(Phi)-KPhi*LAC*cos(Phi) -
KPhi*sin(Phi)]*[KPhi;KLAC]*ThetaP^2+Mtz_TDD1P*UV_ELmC*KPhi*ThetaPP+Mtz_TD
D1P*UV_ELmC*KPhi*LPhi*ThetaP^2-
Mtz_TDD1*UV_ELmC*KPhi^2*ThetaP^2;RCCMxPP=RCCMPP((1)); RCCMyPP=RCCMPP((2));
%*********************************************************** %****************** REACCIONES ********************** %***********************************************************
%*********** %ESLABON BB1 %***********
% Distancia del CM del elemento BB1 a B, medido desde el sistema de
coordenadas(x2,y2)
RCMBB1B=Mtz_TBB1*[-u2;-v2]; RCMBB1Bx=RCMBB1B((1)); RCMBB1By=RCMBB1B((2));
% Distancia del CM del elemento BB1 a C, medido desde el sistema de % coordenadas (ucm2,vcm2); RCMBB1B(VCM2)=LCMBB1C
if v2<0 LCMBB1C=LBC+v2; else LCMBB1C=LBC-v2; end
% Distancia del CM del elemento BB1 a C, medido desde el sistema de % coordenadas (x2,y2)
RCMBB1C=Mtz_TBB1*[-u2;LCMBB1C]; RCMBB1Cx=RCMBB1C((1)); RCMBB1Cy=RCMBB1C((2));
ANEXOS ANEXO L
% Sumatoria de Fuerzas y Momentos % fxBB1: f1BB1x+fCBB1x=(mBB1*RBB1CMxPP); % fyBB1: f1BB1y+fCBB1y-(mBB1*g)=(mBB1*RBB1CMyPP); % MBB1: ((RCMBB1Bx)*(f1BB1y))-
((RCMBB1By)*(f1BB1x))+((RCMBB1Cx)*(fCBB1y))-
((RCMBB1Cy)*(fCBB1x))=(IBB1*ThetaPP)-MTorque;
%*********** %ESLABON C %***********
% Distancia del CM del elemento C a C, medido desde el sistema de % coordenadas(x3,y3)
RCMCC=Mtz_TDD1*[-u3;-v3]; RCMCCx=RCMCC((1)); RCMCCy=RCMCC((2));
% Distancia del CM del elemento C al punto de aplicaciòn de la fuerza % normal al eslabon C (NC), medido desde el sistema de coordenadas
(x3,y3)
RCMCNC=Mtz_TDD1*[(uCNCx-u3);(uCNCy-v3)]; RCMCNCx=RCMCNC((1)); RCMCNCy=RCMCNC((2));
% Sumatoria de fuerzas % fxC: fBB1Cx+fDD1Cx=(mC*RCCMxPP); % fyC: fBB1Cy+fDD1Cy-(mC*g)=(mC*RCCMyPP); % MC: ((RCMCCx)*(fBB1Cy))-((RCMCCy)*(fBB1Cx))+((RCMCNCx)*(fDD1Cy))-
((RCMCNCy)*(fDD1Cx))=IC*PhiPP
% fBB1C=-fCBB1; % fxC: -fCBB1x+fDD1Cx=(mC*RCCMxPP); % fyC: -fCBB1y+fDD1Cy-(mC*g)=(mC*RCCMyPP); % MC: -((RCMCCx)*(fCBB1y))+((RCMCCy)*(fCBB1x))+((RCMCNCx)*(fDD1Cy))-
((RCMCNCy)*(fDD1Cx))=(IC*(KPhi*ThetaPP+LPhi*ThetaP^2))
%*********** %ESLABON DD1 %***********
% Distancia del CM del elemento DD1 al punto A, medido desde el sistema
de % coordenadas(x4,y4)
RCMDD1A=Mtz_TDD1*[-u4;-v4]; RCMDD1Ax=RCMDD1A((1)); RCMDD1Ay=RCMDD1A((2));
ANEXOS ANEXO L
% Distancia del CM del elemento DD1 al punto E, medido desde el sistema
de % coordenadas (ucm4,vcm4); RCMDD1E(VCM4)=LCMDD1E
if v4<0 LCMDD1E=LAE+v4; else LCMDD1E=LAE-v4; end
% Distancia del CM del elemento DD1 a E, medido desde el sistema de % coordenadas (x4,y4)
RCMDD1E=Mtz_TDD1*[-u4;-LCMDD1E]; RCMDD1Ex=RCMDD1E((1)); RCMDD1Ey=RCMDD1E((2));
% Distancia del CM del elemento DD1 al punto de aplicaciòn de la fuerza % normal al eslabon C (NC), medido desde el sistema de coordenadas
(x4,y4)
RCMDD1NC=Mtz_TDD1*[uCNCx-u4;LAC+uCNCy-v4]; RCMDD1NCx=RCMDD1NC((1)); RCMDD1NCy=RCMDD1NC((2));
%Sumatoria de fuerzas % fxDD1: f1DD1x+fEFDD1x+fCDD1x=(mDD1*RDD1CMxPP); % fyDD1: f1DD1y+fEFDD1y+fCDD1y-(mDD1*g)=(mDD1*RDD1CMyPP); % MDD1: ((RCMDD1Ax)*(f1DD1y))-
((RCMDD1Ay)*(f1DD1x))+((RCMDD1Ex)*(fEFDD1y))-
((RCMDD1Ey)*(fEFDD1x))+((RCMDD1NCx)*(fCDD1y))-
((RCMDD1NCy)*(fCDD1x))=IDD1*PhiPP
% fDD1C=-fCDD1 % fxDD1: f1DD1x+fEFDD1x-fDD1Cx=(mDD1*RDD1CMxPP); % fyDD1: f1DD1y+fEFDD1y-fDD1Cy-(mDD1*g)=(mDD1*RDD1CMyPP); % MDD1: ((RCMDD1Ax)*(f1DD1y))-
((RCMDD1Ay)*(f1DD1x))+((RCMDD1Ex)*(fEFDD1y))-((RCMDD1Ey)*(fEFDD1x))-
((RCMDD1NCx)*(fDD1Cy))+((RCMDD1NCy)*(fDD1Cx))=(IDD1*(KPhi*ThetaPP+LPhi*Th
etaP^2))
%*********** %ESLABON EF %***********
% Distancia del CM del elemento EF al punto E, medido desde el sistema de % coordenadas(x5,y5)
RCMEFE=Mtz_TEF*[-u5;-v5]; RCMEFEx=RCMEFE((1)); RCMEFEy=RCMEFE((2));
ANEXOS ANEXO L
% Distancia del CM del elemento EF al punto F, medido desde el sistema de % coordenadas (ucm5,vcm5); RCMEFF(VCM5)=LCMEFF
if v5<0 LCMEFF=LEF+v5; else LCMEFF=LEF-v5; end
RCMEFF=Mtz_TEF*[-u5;LCMEFF]; RCMEFFx=RCMEFF((1)); RCMEFFy=RCMEFF((2));
% Sumatoria de Fuerzas %fxEF: fDD1EFx+fFEFx=mEF*REFCMxPP; %fyEF: fDD1EFy+fFEFy-(mEF*g)=mEF*REFCMyPP; %MEF:((RCMEFEx)*(fDD1EFy))-((RCMEFEy)*(fDD1EFx))-
((RCMEFFx)*(fFEFy))+(RCMEFFy)*(fFEFx)=IEF*BetaPP %BetaPP=KBeta*ThetaPP+LBeta*ThetaP^2
% fDD1EFx=-fEFDD1x; % fDD1EFy=-fEFDD1y; % fxEF: -fEFDD1x+fFEFx=mEF*REFCMxPP; % fyEF: -fEFDD1y+fFEFy-(mEF*g)=mEF*REFCMyPP; % MEF: -((RCMEFEx)*(fEFDD1y))+((RCMEFEy)*(fEFDD1x))+((RCMEFFx)*(fFEFy))-
(RCMEFFy)*(fFEFx)=(IEF*(KBeta*ThetaPP+LBeta*ThetaP^2))
%*********** %ESLABON F %***********
% Distancia del CM del elemento F al punto F, medido desde el sistema de % coordenadas(x6,y6)
RCMFFx=-u6; RCMFFy=-v6;
% Distancia del CM del elemento F al punto de aplicaciòn de la fuerza
Fcorte, medido desde el sistema de % coordenadas(x6,y6)
RCMFfcortex=-u6+u7; RCMFfcortey=-v6+v7;
ANEXOS ANEXO L
% Sumatoria de Fuerzas % fEFFx+f1Fx-Fcorte=mF*RFCMxPP; % fEFFy+f1Fy-(mF*g)=mF*RFCMyPP; % ((RCMFFx)*(fEFFy))-((RCMFFy)*(fEFFx))+(RCMFNFx)(f1Fy)-(RCMFNFy)(f1Fx)=0
% fEFFx=-fFEFx; % fEFFy=-fFEFy; % f1Fx=0; % fxF: -fFEFx+Fcorte=(mF*RFCMxPP); % fyF: -fFEFy+f1Fy-(mF*g)=mF*RFCMyPP; % MF-(RCMFFx)*(fFEFy)+(RCMFFy)*(fFEFx)+(RCMFNFx)(f1Fy)=0
%********************** %ECUACIONES RETORNO RAPIDO %**********************
% fxBB1: f1BB1x+fCBB1x=(mBB1*RBB1CMxPP); % fyBB1: f1BB1y+fCBB1y-(mBB1*g)=(mBB1*RBB1CMyPP); % MBB1: ((RCMBB1Bx)*(f1BB1y))-
((RCMBB1By)*(f1BB1x))+((RCMBB1Cx)*(fCBB1y))-
((RCMBB1Cy)*(fCBB1x))=(IBB1*ThetaPP)-MTorque;
% fxC: -fCBB1x+fDD1Cx=(mC*RCCMxPP); % fyC: -fCBB1y+fDD1Cy-(mC*g)=(mC*RCCMyPP); % MC: -((RCMCCx)*(fCBB1y))+((RCMCCy)*(fCBB1x))+((RCMCNCx)*(fDD1Cy))-
((RCMCNCy)*(fDD1Cx))=(IC*(KPhi*ThetaPP+LPhi*ThetaP^2))
% fxDD1: f1DD1x+fEFDD1x-fDD1Cx=(mDD1*RDD1CMxPP); % fyDD1: f1DD1y+fEFDD1y-fDD1Cy-(mDD1*g)=(mDD1*RDD1CMyPP); % MDD1: ((RCMDD1Ax)*(f1DD1y))-
((RCMDD1Ay)*(f1DD1x))+((RCMDD1Ex)*(fEFDD1y))-((RCMDD1Ey)*(fEFDD1x))-
((RCMDD1NCx)*(fDD1Cy))+((RCMDD1NCy)*(fDD1Cx))=(IDD1*(KPhi*ThetaPP+LPhi*Th
etaP^2))
% INCOGNITAS: %
f1BB1x,f1BB1y,fCBB1x,fCBB1y,fDD1Cx,fDD1Cy,f1DD1x,f1DD1y,uCNCy,fEFDD1x,fEF
DD1y % DATO: uCNCx
%************************* %ECUACIONES BIELA CORREDERA %*************************
% fxEF: -fEFDD1x+fFEFx=mEF*REFCMxPP; % fyEF: -fEFDD1y+fFEFy-(mEF*g)=mEF*REFCMyPP; % MEF: -((RCMEFEx)*(fEFDD1y))+((RCMEFEy)*(fEFDD1x))+((RCMEFFx)*(fFEFy))-
(RCMEFFy)*(fFEFx)=(IEF*(KBeta*ThetaPP+LBeta*ThetaP^2))
% fxF: -fFEFx+Fcorte=(mF*RFCMxPP); % fyF: -fFEFy+f1Fy-(mF*g)=mF*RFCMyPP; % MF-(RCMFFx)*(fFEFy)+(RCMFFy)*(fFEFx)+(RCMFNFx)(f1Fy)=0
ANEXOS ANEXO L
% INCOGNITAS: % fEFDD1x,fEFDD1y,fFEFx,fFEFy,f1F,RCMFfcortey % DATO: f1x
%********************** %SOLUCIONES %**********************
% Se tienen entonces 15 ecuaciones con 15 incognitas, por tanto,
resolvemos % un sistema de ecuaciones simultaneas.
%DATOS
% -------------------------------------------- uCNCx=0; f1Fx=0;
%Distancias que contienen uCNCx RCMCNC=Mtz_TDD1*[(uCNCx-u3);(uCNCy-v3)]; RCMCNCx=RCMCNC((1)); RCMCNCy=RCMCNC((2));
RCMDD1NC=Mtz_TDD1*[uCNCx-u4;LAC+uCNCy-v4]; RCMDD1NCx=RCMDD1NC((1)); RCMDD1NCy=RCMDD1NC((2)); % --------------------------------------------
f1=f1BB1x+fCBB1x-(mBB1*RBB1CMxPP); f2=f1BB1y+fCBB1y-(mBB1*g)-(mBB1*RBB1CMyPP); f3=((RCMBB1Bx)*(f1BB1y))-((RCMBB1By)*(f1BB1x))+((RCMBB1Cx)*(fCBB1y))-
((RCMBB1Cy)*(fCBB1x))-(IBB1*ThetaPP)+MTorque; f4=-fCBB1x+fDD1Cx-(mC*RCCMxPP); f5=-fCBB1y+fDD1Cy-(mC*g)-(mC*RCCMyPP); f6=-((RCMCCx)*(fCBB1y))+((RCMCCy)*(fCBB1x))+((RCMCNCx)*(fDD1Cy))-
((RCMCNCy)*(fDD1Cx))-(IC*(KPhi*ThetaPP+LPhi*ThetaP^2)); f7=f1DD1x+fEFDD1x-fDD1Cx-(mDD1*RDD1CMxPP); f8=f1DD1y+fEFDD1y-fDD1Cy-(mDD1*g)-(mDD1*RDD1CMyPP); f9=((RCMDD1Ax)*(f1DD1y))-((RCMDD1Ay)*(f1DD1x))+((RCMDD1Ex)*(fEFDD1y))-
((RCMDD1Ey)*(fEFDD1x))-((RCMDD1NCx)*(fDD1Cy))+((RCMDD1NCy)*(fDD1Cx))-
(IDD1*(KPhi*ThetaPP+LPhi*ThetaP^2)); f10=-fEFDD1x+fFEFx-mEF*REFCMxPP; f11=-fEFDD1y+fFEFy-(mEF*g)-mEF*REFCMyPP; f12=-((RCMEFEx)*(fEFDD1y))+((RCMEFEy)*(fEFDD1x))+((RCMEFFx)*(fFEFy))-
(RCMEFFy)*(fFEFx)-(IEF*(KBeta*ThetaPP+LBeta*ThetaP^2)); f13=-fFEFx+f1Fx+Fcorte-(mF*RFCMxPP); f14= -fFEFy+f1Fy-(mF*g)-mF*RFCMyPP; f15= -(RCMFFx)*(fFEFy)+(RCMFFy)*(fFEFx)+(RCMFNFx)*(f1Fy)-
(RCMFfcortey)*(Fcorte)-(RCMFNFy)*(f1Fx);
%Incognitas % f1BB1x,f1BB1y,fCBB1x,fCBB1y,fDD1Cx,fDD1Cy,f1DD1x,f1DD1y,uCNCy % fEFDD1x,fEFDD1y,fFEFx,fFEFy,f1Fy,RCMFNFx
ANEXOS ANEXO L
S=solve(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f1BB1x,f1BB1y,
fCBB1x,fCBB1y,fDD1Cx,fDD1Cy,f1DD1x,f1DD1y,uCNCy,fEFDD1x,fEFDD1y,fFEFx,fFE
Fy,f1Fy,RCMFNFx); S=[S.f1BB1x S.f1BB1y S.fCBB1x S.fCBB1y S.fDD1Cx S.fDD1Cy S.f1DD1x
S.f1DD1y S.uCNCy S.fEFDD1x S.fEFDD1y S.fFEFx S.fFEFy S.f1Fy S.RCMFNFx];
f1BB1x=eval(S((1))); f1BB1y=eval(S((2))); fCBB1x=eval(S((3))); fCBB1y=eval(S((4))); fDD1Cx=eval(S((5))); fDD1Cy=eval(S((6))); f1DD1x=eval(S((7))); f1DD1y=eval(S((8))); uCNCy=eval(S((9))); fEFDD1x=eval(S((10))); fEFDD1y=eval(S((11))); fFEFx=eval(S((12))); fFEFy=eval(S((13))); f1Fy=eval(S((14))); RCMFNFx=eval(S((15)));
%********************** %CONDICIONES DE PRUEBA %********************** % f1BB1x=0; % f1BB1y=0; f1DD1x=-f1DD1x; f1DD1y=-f1DD1y; fCBB1x=-fCBB1x; fCBB1y=-fCBB1y; % fDD1C=0; % fEFDD1x=0; % fEFDD1y=0; % fFEFx=0; % fFEFy=0;
%*********************************************************** %*************** IMPRESIONES ********************* %***********************************************************
fprintf('(*Theta en Grados*)\n'); fprintf('ThetaDeg= %g ;\n',Theta*180/pi); fprintf('(*POSICIÓN, VELOCIDAD Y ACELERACIÓN*)\n'); fprintf('Theta= %g ;\n',Theta); fprintf('ThetaP= %g ;\n',ThetaP); fprintf('ThetaPP= %g ;\n',ThetaPP); fprintf('(*MAGNITUD DE LOS ESLABONES*)\n'); fprintf('LBB1= %g ;\n',LBB1); fprintf('LCB1= %g ;\n',LCB1); fprintf('LAD= %g ;\n',LAD); fprintf('LAD1= %g ;\n',LAD1); fprintf('LDD1= %g ;\n',LDD1); fprintf('LED1= %g ;\n',LED1);
ANEXOS ANEXO L
fprintf('LEF= %g ;\n',LEF); fprintf('LAE= %g ;\n',LAE); fprintf('LBC= %g ;\n',LBC); fprintf('(*MAGNITUD VARIABLES DE DISEÑO*)\n'); fprintf('P= %g ;\n',P); fprintf('H= %g ;\n',H); fprintf('m= %g ;\n',m); fprintf('(*DEFINICION CM BB1*)\n'); fprintf('u2= %g ;\n',u2); fprintf('v2= %g ;\n',v2); fprintf('(*DEFINICION CM DD1*)\n'); fprintf('u4= %g ;\n',u4); fprintf('v4= %g ;\n',v4); fprintf('(*DEFINICION CM C*)\n'); fprintf('u3= %g ;\n',u3); fprintf('v3= %g ;\n',v3); fprintf('(*DEFINICION CM EF*)\n'); fprintf('u5= %g ;\n',u5); fprintf('v5= %g ;\n',v5); fprintf('(*DEFINICION CM F*)\n'); fprintf('u6= %g ;\n',u6); fprintf('v6= %g ;\n',v6); fprintf('(*APLICACION DE LA FUERZA EN*)\n'); fprintf('u7= %g ;\n',u7); fprintf('v7= %g ;\n',v7); fprintf('(*MASA E INERCIA BB1*)\n'); fprintf('mBB1= %g ;\n',mBB1); fprintf('IBB1= %g ;\n',IBB1); fprintf('(*MASA E INERCIA DD1*)\n'); fprintf('mDD1= %g ;\n',mDD1); fprintf('IDD1= %g ;\n',IDD1); fprintf('(*MASA E INERCIA EF*)\n'); fprintf('mEF= %g ;\n',mEF); fprintf('IEF= %g ;\n',IEF); fprintf('(*MASA E INERCIA EF*)\n'); fprintf('mF= %g ;\n',mF); fprintf('IF= %g ;\n',IF); fprintf('(*MASA E INERCIA C*)\n'); fprintf('mC= %g ;\n',mC); fprintf('IC= %g ;\n',IC); fprintf('(*FUERZAS EXTERNAS*)\n'); fprintf('g= %g ;\n',g); fprintf('MTorque= %g ;\n',MTorque); fprintf('Fcorte= %g ;\n',Fcorte); fprintf('(*COORDENADAS GENERALIZADAS*)\n'); fprintf('Phi= %g ;\n',Phi); fprintf('LAC= %g ;\n',LAC); fprintf('Beta= %g ;\n',Beta); fprintf('RBFx= %g ;\n',RBFx); fprintf('(*COEFICIENTES DE VELOCIDAD*)\n'); fprintf('KPhi= %g ;\n',KPhi); fprintf('KLAC= %g ;\n',KLAC); fprintf('KBeta= %g ;\n',KBeta); fprintf('KRBFx= %g ;\n',KRBFx); fprintf('(*COEFICIENTES DE ACELERACION*)\n');
ANEXOS ANEXO L
fprintf('LPhi= %g ;\n',LPhi); fprintf('LLAC= %g ;\n',LLAC); fprintf('LBeta= %g ;\n',LBeta); fprintf('LRBFx= %g ;\n',LRBFx); fprintf('(*ACELERACION CM BB1*)\n'); fprintf('RBB1CMxPP= %g ;\n',RBB1CMxPP); fprintf('RBB1CMyPP= %g ;\n',RBB1CMyPP); fprintf('(*ACELERACION CM DD1*)\n'); fprintf('RDD1CMxPP= %g ;\n',RDD1CMxPP); fprintf('RDD1CMyPP= %g ;\n',RDD1CMyPP); fprintf('(*ACELERACION CM EF*)\n'); fprintf('REFCMxPP= %g ;\n',REFCMxPP); fprintf('REFCMyPP= %g ;\n',REFCMyPP); fprintf('(*ACELERACION CM F*)\n'); fprintf('RFCMxPP= %g ;\n',RFCMxPP); fprintf('RFCMyPP= %g ;\n',RFCMyPP); fprintf('(*ACELERACION CM C*)\n'); fprintf('RCCMxPP= %g ;\n',RCCMxPP); fprintf('RCCMyPP= %g ;\n',RCCMyPP); fprintf('(*DISTANCIA BB1CM B y C*)\n'); fprintf('RCMBB1Bx= %g ;\n',RCMBB1Bx); fprintf('RCMBB1By= %g ;\n',RCMBB1By); fprintf('RCMBB1Cx= %g ;\n',RCMBB1Cx); fprintf('RCMBB1Cy= %g ;\n',RCMBB1Cy); fprintf('(*DISTANCIA CCM C*)\n'); fprintf('RCMCCx= %g ;\n',RCMCCx); fprintf('RCMCCy= %g ;\n',RCMCCy); fprintf('(*DISTANCIA DD1CM A,E*)\n'); fprintf('RCMDD1Ax= %g ;\n',RCMDD1Ax); fprintf('RCMDD1Ay= %g ;\n',RCMDD1Ay); fprintf('RCMDD1Ex= %g ;\n',RCMDD1Ex); fprintf('RCMDD1Ey= %g ;\n',RCMDD1Ey); fprintf('(*DISTANCIA EFCM E,F*)\n'); fprintf('RCMEFEx= %g ;\n',RCMEFEx); fprintf('RCMEFEy= %g ;\n',RCMEFEy); fprintf('RCMEFFx= %g ;\n',RCMEFFx); fprintf('RCMEFFy= %g ;\n',RCMEFFy); fprintf('(*DISTANCIA FCM F,Fcorte*)\n'); fprintf('RCMFFx= %g ;\n',RCMFFx); fprintf('RCMFFy= %g ;\n',RCMFFy); fprintf('RCMFfcortex= %g ;\n',RCMFfcortex); fprintf('RCMFfcortey= %g ;\n',RCMFfcortey); fprintf('(*RESULTADOS*)\n'); fprintf('f1BB1x= %g ;\n',f1BB1x); fprintf('f1BB1y= %g ;\n',f1BB1y); fprintf('fCBB1x= %g ;\n',-fCBB1x); fprintf('fCBB1y= %g ;\n',-fCBB1y); fprintf('f1DD1x= %g ;\n',-f1DD1x); fprintf('f1DD1y= %g ;\n',-f1DD1y); fprintf('fDD1Cx= %g ;\n',fDD1Cx); fprintf('fDD1Cy= %g ;\n',fDD1Cy); fprintf('fEFDD1x= %g ;\n',fEFDD1x); fprintf('fEFDD1y= %g ;\n',fEFDD1y); fprintf('fFEFx= %g ;\n',fFEFx); fprintf('fFEFy= %g ;\n',fFEFy);
ANEXOS ANEXO L
fprintf('f1Fy= %g ;\n',f1Fy); fprintf('uCNCy= %g ;\n',uCNCy); fprintf('RCMFNFx= %g ;\n',RCMFNFx);
fprintf('\n \n');
fDD1C=(fDD1Cx^2+fDD1Cy^2)^0.5;
F=[f1BB1x; f1BB1y; fCBB1x; fCBB1y; f1DD1x; f1DD1y; fDD1Cx; fDD1Cy;
fEFDD1x; fEFDD1y; fFEFx; fFEFy; f1Fy; uCNCy; RCMFNFx; fDD1C];