Está en la página 1de 11

1.2.

Desarrollo de test de comprobación // solo de guía


//**************************************************************
Del mecanismo mostrado en la Figura #, se realizará el análisis de posición usando la metodología
usada en el laboratorio.
Figura #. Mecanismo propuesto

a) Análisis de los GDL del mecanismo.


Usando el criterio de Gruebeler

G=3 ( N −1 )−2 P1−P2


Del mecanismo propuesto se tienen los siguientes datos

N=5 P1=5P2=1

Remplazando:

G=1
b) Indicar los puntos fijos y las coordenadas naturales. Proponer medidas de los puntos fijos (se puede
hacer uso de un software).

Usando GeoGebra se propuso las medidas de los puntos fijos, Figura


c)
d) Figura #. Puntos fijos en GeoGebra

Datos recopilados:

En este caso tenemos que:

-Los puntos fijos son los puntos P A , PB , PF y PG .

-Las coordenadas naturales están en los puntos móviles P1 , P2 y P3 , entonces tenemos las
coordenadas x 1 , y 1 , x 2 , y 2 , x3 y y 3, es decir, tenemos 6 coordenadas naturales.
Figura #. Identificación de articulaciones y elementos.

Nota: con estos valores se pueden determinar las medidas de los otros puntos y el tamaño
de los eslabones.

e) Ecuaciones de restricción y matriz jacobiana.


Planteamos las ecuaciones de restricción, usando la geometría:

 Eslabón AB

Para su posicionamiento, usaremos los puntos 𝑃A(𝑥A, 𝑦A) 𝑦 𝑃1(𝑥1, 𝑦1) y la


longitud 𝐿2 del eslabón. Con ello, podemos plantear la siguiente ecuación:

2 2 2
( x A −x1 ) + ( y A − y 1 ) = ( L2)

 Eslabón BC

Para su posicionamiento, usaremos los puntos 𝑃1(𝑥1, 𝑦1) 𝑦 𝑃2(𝑥2, 𝑦2) y la


longitud 𝐿3 del eslabón. Con ello, podemos plantear la siguiente ecuación:

2 2 2
( x 1−x 2 ) + ( y 1− y 2 ) =( L3 )
 Eslabón DE

Para su posicionamiento, usaremos los puntos 𝑃D(𝑥D, 𝑦D) 𝑦 𝑃3(𝑥3, 𝑦3) y la


longitud 𝐿4 del eslabón. Con ello, podemos plantear la siguiente ecuación:

2 2 2
( x D −x 3 ) + ( y D− y 3 ) =( L4 )

 Corredera:

Usaremos los puntos 𝑃F(𝑥F, 𝑦F) , 𝑃2(𝑥2, 𝑦2) 𝑦 𝑃G(𝑥G, 𝑦G) que están sobre la
línea de movimiento de esta corredera.

Para este caso tenemos que:


mP P =mP
F 2 F P2

y 2− y F y G − y F
=
x 2−x F xG −x F

( y 2− y F ) ( x G −x F ) −( y G − y F ) ( x2 −x F ) =0

 Deslizadera:

Usaremos los puntos 𝑃D(𝑥D, 𝑦D) , 𝑃2(𝑥2, 𝑦2) 𝑦 𝑃3(𝑥3, 𝑦3) que están sobre la línea
de movimiento de esta deslizadera.

Para este caso tenemos que:


mP D P2 =mP E P2

y 2− y D y 3 − y D
=
x 2−x D x3 −x D

( y 2− y D ) ( x 3−x D )− ( y 3− y D ) ( x 2−x D ) =0
Se vio las 5 ecuaciones de restricción, pero sucede que se necesitarán 6 ecuaciones para obtener los
valores de las coordenadas naturales (𝑥1, 𝑦1 de 𝑃1, 𝑥2, 𝑦2 de 𝑃2 y 𝑥3, 𝑦3 de 𝑃3). Para ello usaremos dato
conocido 𝑦1= 3.49 que obtuvimos de GeoGebra. Con ello planteamos la ecuación:

y 1=3.49

En resumen, tenemos las siguientes ecuaciones de restricción:

2 2 2
 ( x A −x1 ) + ( y A − y 1 ) − ( L2) =0
2 2 2
 ( x 1−x 2 ) + ( y 1− y 2 ) −( L3 ) =0
2 2 2
 ( x D −x 3 ) + ( y D− y 3 ) −( L4 ) =0
 ( y 2− y F ) ( x G −x F ) −( y G − y F ) ( x2 −x F ) =0
 ( y 2− y D ) ( x 3−x D )− ( y 3− y D ) ( x 2−x D ) =0
 y 1=3.49

De la figura del mecanismo tenemos que:

{
x A =0
y A =0
x D=3.5
y D =−3.49
x F =4.41
y F=0
x G =9.64
y G=0
L2=3.49
L3=6.98
L4 =9.871

Entonces:
2 2
 ( x 1 ) + ( y 1 ) −12.1801=0 (𝑓1)
2 2
 ( x 1−x 2 ) + ( y 1− y 2 ) −48.7204=0 (𝑓2)
2 2
 ( 3.5−x3 ) + ( −3.49− y 3 ) −97.436641=0 (𝑓3)

 ( y 2 ) ( 5.23 )=0 (𝑓4)


 ( y 2 +3.49 ) ( x 3−3.5 ) −( y 3 +3.49 ) ( x 2−3.5 ) =0 (𝑓5)
 y 1−3.49=0 (𝑓6)

Para ⃗
F ( ⃗x ) :

( )
2 2
( x 1) +( y 1) −12.1801
2 2
( x1−x 2 ) + ( y 1− y 2) −48.7204
2 2
⃗ ( )
F ⃗x = ( 3.5−x 3 ) + (−3.49− y 3 ) −97.436641

( y 2 ) (5.23 )
( y 2 +3.49 ) ( x 3−3.5 ) −( y 3 +3.49 ) ( x 2−3.5 )
y 1−3.49

Para el jacobiano se tiene:

𝝏𝒇𝒊 𝝏𝒇𝒊 𝝏𝒇𝒊 𝝏𝒇𝒊 𝝏𝒇𝒊 𝝏𝒇𝒊


𝝏𝒙𝟏 𝝏𝒚𝟏 𝝏𝒙𝟐 𝝏𝒚𝟐 𝝏𝒙𝟑 𝝏𝒚𝟑

𝒅𝒇𝟏 2(𝑥1) 2(𝑦1) 0 0 0 0

𝒅𝒇𝟐 2(𝑥1- 𝑥2) 2(𝑦1- 𝑦2) -2 (𝑥1- 𝑥2) -2 (𝑦1- 𝑦2) 0 0

𝒅𝒇𝟑 0 0 0 0 -2(3.5- 𝑥3) -2(-3.49- y3)

𝒅𝒇𝟒 0 0 0 5.23 0 0

𝒅𝒇𝟓 0 0 − y 3−3.49 x 3−3.5 y 2 +3.49 3.5−x 2

𝒅𝒇𝟔 0 1 0 0 0 0
Luego, para ⃗
J ( ⃗x ) :

( )
2(x 1) 2( y 1) 0 0 0 0
2( x 1−x 2) 2( y 1− y 2) −2( x 2)( x 1−x 2) −2( y 2)( y 1− y 2) 0 0
⃗J ( ⃗x )= 0 0 0 0 −2(3.5−x 3) −2(−3.49− y 3)
0 0 0 5.23 0 0
0 0 − y 3 −3.49 x 3 −3.5 y 2 +3.49 3.5−x 2
0 1 0 0 0 0

f) Cálculos en Python
Para resolver el problema, se hará mediante el uso de software, para así no complicarse con las soluciones
iterativas. A continuación, tenemos la solución en Python (El archivo .py para descargar se encuentra en el
enlace del Anexo 2):

1. import numpy as np
2.
3. #............................................................

4. # Definimos las ecuaciones de las restricciones


5.
6. #X_1 = x[0][0]
7. #Y_1 = x[0][1]
8.
9. #X_2 = x[0][2]
10. #Y_2 = x[0][3]
11. #X_3 = x[0][4]
12. #Y_3 = x[0][5]
13.

14. def funcion(x):


15. global f
16.

17. f=np.zeros([6,1])

18.
19. f[0] = (x[0][0])**2 + (x[0][1])**2 - 12.1801 #f1

20. f[1] = (x[0][0]-x[0][2])**2 + (x[0][1]-x[0][3])**2 - 48.7204 #f2

21. f[2] = (3.5-x[0][4])**2 + (-3.49-x[0][5])**2 -97.436641#f3


22. f[3] = (x[0][3])*5.23 #f4

23. f[4] = (x[0][3]+3.49)*(x[0][4]-3.5) - (x[0][5]+3.49)*(x[0][2]-3.5) #f5

24. f[5] = x[0][1] - 3.49 #f6 *usando Y_1 = 3.49 como ecuación*

25.
26. return f

27.
28. #.......................................................

29. # Definimos el Jacobiano


30. def jacobiano(x):
31. global j
32.
33. j = np.zeros([6, 6])

34. j[0] = [2*(x[0][0]), 2*(x[0][1]), 0, 0, 0, 0] #df1

35. j[1] = [2*(x[0][0]-x[0][2]), 2*(x[0][1]-x[0][3]), -2*(x[0][0]-x[0][2]), -


2*(x[0][1]-x[0][3]), 0, 0] #df2

36. j[2] = [0, 0, 0, 0, -2*(3.5-x[0][4]), -2*(-3.49-x[0][5])] #df3

37. j[3] = [0, 0, 0, 5.23, 0, 0] #df4

38. j[4] = [0, 0, -x[0][5]-3.49, x[0][4]-3.5, x[0][3]+3.49, 3.5-x[0][2]#df5

39. j[5] = [0, 1, 0, 0, 0, 0] #df6

40.
41. return j

42. #...........................................................

43. # Para calcular el vector solución:


44. def valorfinal():
45. global f
46. global j
47. global x
48.
49. x = np.zeros([1,6])

50. x[0] = [1, 2, 4, 7, 3, 6] #Vector inicial [X_1, Y_1, X_2, Y_2, X_3,
Y_3]

51.
52. N = 30 #Número de iteraciones

53.
54. for i in range(N):
55. global f
56. global j
57. funcion(x)
58. jacobiano(x)
59.
#..................................................................

60. # Planteando la ecuación X_k+1 = X_k - (J(X_k)^-1)F(X_k)


61.
62. x_old = x #Para almacenar X_k (Almacena los X después de cada
iteración)

63.

64. jf = np.linalg.solve(j, f) #(J(X_k)^-1)F(X_k)


65. x = x - np.transpose(jf) #Para calcular X_k+1
66. error = np.linalg.norm(x-x_old) #Para calcular |X_k+1 -
X_k|
67.
68. print("Iteración N°",i+1,": \n","X = ",x, "\n", "Error =
",error)
69.

70. tolerancia = 1e-10 #para limitar el error |X_k+1 -


X_k|
71. if error <= tolerancia:
72. Break
73.

74. return x
75.
76. valorfinal()
77.

78. #.............................................................

79. # Vector de resultados


80. print("Valores del vector solución final:")
81. print("X_1 = ", x[0][0])
82. print("Y_1 = ", x[0][1])
83. print("X_2 = ", x[0][2])
84. print("Y_2 = ", x[0][3])
85. print("X_3 = ", x[0][4])
86. print("Y_3 = ", x[0][5])

g) Comprobación en el software SolidWorks.

Para corroborar que los resultados obtenidos mediante software son correctos, se

procederá a trazar los eslabones que enlazarán las coordenadas de los puntos fijos con

las nuevas posiciones de las coordenadas móviles calculadas. Se conocen las longitudes

de estos eslabones (eslabón 2, 𝐿2 = 3.49, eslabón 3, 𝐿3 = 2 𝐿2=6.98 y eslabón 4, 𝐿4 =

2 L2 √ 2=9.871). Estas longitudes no deberían de variar, siendo que las longitudes

desde los puntos fijos hacia los puntos móviles siempre deben ser las mismas. Esta será

la manera en la que se corroborará que las soluciones a las coordenadas encontradas

serán correctas. Para ello se hará uso de un software de dibujo, en este caso se empleará

SolidWorks. De Python se obtuvo los siguientes resultados para las coordenadas

naturales, esto cuando se planteó trabajar como dato conocido 𝑦1 =3.49

Con las coordenadas de los puntos fijos, que se obtienen viendo en la


Figura 10, y los valores de las coordenadas naturales obtenidas con
Python, se realizará los trazos en SolidWorks (El archivo del dibujo
está en la carpeta drive del Anexo 2).
Tenemos:
 Puntos Fijos:
 𝑃𝐴 = (0, 0)

 𝑃D = (3.5, -3.49)

 𝑃F = (4.41, 6)

 𝑃G = (9.64, 0)

 Coordenadas naturales (puntos móviles) encontradas con 𝑦2 =


3.49 (coordenadas con valores aproximados, con la mayor
cantidad de decimales posibles en SolidWorks):

 𝑃1 = (𝑥1, 𝑦1) = (2.2858675729395045e-08, 3.49)

 𝑃2 = (𝑥2, 𝑦2) = (6.0448573412740565, 0)

 𝑃3 = (𝑥3, 𝑦3) = (9.315816354342587, 4.48577088014452)

Con estos datos ya podremos graficar el mecanismo y simular el movimiento


del mismo a las posiciones que se requiera, solo se debe hacer clic y arrastra
sin soltar sobre el punto que representa a 𝑃2

Figura #. Mecanismo en SolidWorks

También podría gustarte