upiita mecatronica 9 comparación de la simulación y animación de un robot "r" y...

15

Click here to load reader

Upload: juan-de-dios-rodriguez

Post on 27-Jul-2015

212 views

Category:

Documents


2 download

DESCRIPTION

Implementación del método de Euler para resolver ecuaciones diferenciales.Implementación del método de Runge-Kutta de 4to orden para resolver ecuaciones diferenciales.Comparación de la simulación y la animación de un mecanismo "R" de 1GDL.Comparación de la simulación y la animación de un mecanismo "RR" de 2GDL.

TRANSCRIPT

Page 1: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas.

MECATRONICA IX

ROBOTICA II

� Implementación del método de Euler para resolver ecuaciones diferenciales.� Implementación del método de Runge-Kutta de 4to orden para resolver ecua-ciones diferenciales.

� Comparación de la simulación y la animación de un mecanismo "R" de 1GDL.

� Comparación de la simulación y la animación de un mecanismo "RR" de 2GDL.

Responsable de la asignatura: Dr. Miguel Gabriel Villarreal Cervantes

Alumno: Rodríguez Ramírez Juan de DiosGrupo: 9MV1

México, D.F.29 de septiembre ,2010.

Page 2: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

Indice

1 Implementación del método de Euler para resolver ecuaciones diferenciales. 3

2 Implementación del método de Runge-Kutta de 4to orden para resolver ecuaciones diferen-ciales. 3

3 Conclusión de las secciones 1 y 2. 4

4 Comparación de la simulación y la animación de un mecanismo "R" de 1 GDL. 44.1 Obtención del modelo dinámico de un mecanismo "R" de 1 GDL . . . . . . . . . . . . . . . . . . . . 4

4.1.1 Asignar el sistema de coordenadas a cada eslabón (según las normas de D-H) y obtener losparámetros de D-H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4.1.2 Obtener ii+1T; para todo i = 0; :::; n, donde n es el número de eslabones . . . . . . . . . . . . 54.1.3 Establecer condiciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54.1.4 Cálculo de las velocidades y aceleraciones. Propagación hacia delante . . . . . . . . . . . . . 54.1.5 Aceleración lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54.1.6 Aceleración lineal en el centro de masa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64.1.7 Cálculo de las fuerzas y pares. Propagación hacia atrás . . . . . . . . . . . . . . . . . . . . . 64.1.8 Par o fuerza resultante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64.1.9 Modelo dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4.2 Animación un mecanismo "R" de 1GDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.3 Comparación del modelo dinámico obtenido y las gra�cas de la animación. . . . . . . . . . . . . . . . 7

5 Obtención del modelo dinámico de un mecanismo "RR" de 2 GDL 85.1 Asignar el sistema de coordenadas a cada eslabón (según las normas de D-H) y obtener los parámetros

de D-H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85.2 Obtener para todo i = 0; :::; n, donde n es el número de eslabones . . . . . . . . . . . . . . . . . . . . 85.3 Establecer condiciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5.3.1 Obtener iPCi ;CiIi; mi y n+1fn+1;

n+1nn+1 para todo i = 1; :::; n: . . . . . . . . . . . . . . . . 85.3.2 Sistema base: 0w0 = 0; 0 _w0 = 0; 0 _v0 = g 0XY Z0;

0XY Z0 : Es un vector unitario en ladirección opuesta de la gravedad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5.3.3 Sistema base: 0w0 = 0; 0 _w0 = 0; 0 _v0 = g 0XY Z0;0XY Z0 : Es un vector unitario en la

dirección opuesta de la gravedad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95.4 Cálculo de las velocidades y aceleraciones. Propagación hacia delante . . . . . . . . . . . . . . . . . . 9

5.4.1 Velocidad y aceleración angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95.4.2 Aceleración lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5.5 Cálculo de las fuerzas y pares. Propagación hacia atrás . . . . . . . . . . . . . . . . . . . . . . . . . 105.5.1 Fuerza y momento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.6 Par o fuerza resultante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.6.1 Si la unión i es de tipo rotacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.6.2 Modelo dinamico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6 Animación un mecanismo "RR" de 2GDL 12

7 Comparación del modelo dinámico obtenido y las gra�cas de la animación 13

8 Conclusiones: 13

9 Anexo 139.1 Programa en Matlab para solucionar la ecuación diferencial _y = sin(x) con el metodo de Euler . . . 139.2 Programa en Matlab para solucionar la ecuación diferencial _y = sin(x) con el metodo de Runge-Kutta

de 4to orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149.3 Programa en Matlab para solucionar la ecuación diferencial del modelo dinámico de un mecanismo

"R" de 1GDL con el método de Runge-Kutta de 4to orden . . . . . . . . . . . . . . . . . . . . . . . . 149.4 Función en Matlab para evaluar numéricamente el modelo dinámico de un mecanismo "RR" de 2 GDL 149.5 Programa en matlab para solucionar la ecuacion diferencial del modelo dinamico de un mecanismo

"RR" de 2GDL con el metodo de Runge-Kutta de 4to orden . . . . . . . . . . . . . . . . . . . . . . . 152

Page 3: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

1 Implementación del método de Euler para resolver ecuaciones difer-enciales.

Se necesita implementar el método de Euler para resolver la ecuación diferencial: dydx = cos(x) , para lo cual se utilizóel programa No.1 mostrado en el anexo , y se obtuvo lo siguiente:

numero de pasos=100, intervalo de x0 = 0 a xf = 4� numero de pasos=300, intervalo de x0 = 0 a xf = 4�

numero de pasos=1000, intervalo de x0 = 0 a xf = 4�

2 Implementación del método de Runge-Kutta de 4to orden para re-solver ecuaciones diferenciales.

Se necesita implementar el método de Runge-Kutta de 4to orden para resolver la ecuación diferencial: dydx = cos(x) ,para lo cual se utilizo el programa mostrado en el anexo , y se obtuvo lo siguiente:

numero de pasos=100, intervalo de x0 = 0 a xf = 4�

3

Page 4: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

numero de pasos=300, intervalo de x0 = 0 a xf = 4� numero de pasos=1000, intervalo de x0 = 0 a xf = 4�

3 Conclusión de las secciones 1 y 2.

En las gra�cas se puede observar que el método de Euler se acerca mucho a la gra�ca de sin(x), sin embargo es muynotable que se requiere un numero de pasos mayor, cuando el numero de pasos fue igual a 1000 la aproximación fuemuy precisa. Aplicando el método de Runge-Kutta se hace evidente que la aproximación a la gra�ca real es mayorque con el método de Euler, y con un número menor de pasos, sin embargo el método de Runge-Kutta requiere demás operaciones para cada iteración.

4 Comparación de la simulación y la animación de un mecanismo "R"de 1 GDL.

4.1 Obtención del modelo dinámico de un mecanismo "R" de 1 GDL

4.1.1 Asignar el sistema de coordenadas a cada eslabón (según las normas de D-H) y obtener losparámetros de D-H.

D =

264 i �i�1 ai�1 di �i

1 0 0 0 �1 ��

22 0 L1 0 0

375

4

Page 5: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

4.1.2 Obtener ii+1T; para todo i = 0; :::; n, donde n es el número de eslabones

T (i) =

2664cos(Di+1;5) � sin(Di+1;5) 0 Di+1;3

sin(Di+1;5) cos(Di+1;2) cos(Di+1;5) cos(Di+1;2) � sin(Di+1;2) � sin(Di+1;2)Di+1;4sin(Di+1;5) sin(Di+1;2) cos(Di+1;5) sin(Di+1;2) cos(Di+1;2) cos(Di+1;2)Di+1;4

0 0 0 1

3775

T(1)=

2664cosD2;5 � sinD2;5 0 D2;3

cosD2;2 sinD2;5 cosD2;2 cosD2;5 � sinD2;2 � (sinD2;2)D2;4sinD2;2 sinD2;5 cosD2;5 sinD2;2 cosD2;2 (cosD2;2)D2;4

0 0 0 1

3775 =2664

sin �1 cos �1 0 0� cos �1 sin �1 0 00 0 1 00 0 0 1

3775T(2)=

2664cosD3;5 � sinD3;5 0 D3;3

cosD3;2 sinD3;5 cosD3;2 cosD3;5 � sinD3;2 � (sinD3;2)D3;4sinD3;2 sinD3;5 cosD3;5 sinD3;2 cosD3;2 (cosD3;2)D3;4

0 0 0 1

3775 =26641 0 0 L10 1 0 00 0 1 00 0 0 1

3775R1 =

24 sin �1 cos �1 0� cos �1 sin �1 00 0 1

35 P1 =

24 000

35R2 =

24 1 0 00 1 00 0 1

35 P2 =

24 L100

354.1.3 Establecer condiciones iniciales

Obtener iPCi ;CiIi; mi y n+1fn+1;

n+1nn+1 para todo i = 1; :::; n:Sistema base: 0w0 = 0; 0 _w0 = 0; 0 _v0 = g 0XY Z0;

0XY Z0 : Es un vector unitario en la dirección opuesta dela gravedad.

1PC1 = PC =

24 L00

35 C1I1 = I1 =

24 Ix 0 00 Iy 00 0 Iz

35 2f2 = f2 =

24 000

35 2n2 = n2 =

24 Mx

My

Mz

350w0 = w0 =

24 000

35 _w0 = w00 =

24 000

35 0 _v0 = v00 =

24 0g0

35Método de Newton-Euler

4.1.4 Cálculo de las velocidades y aceleraciones. Propagación hacia delante

Para i = 0; :::; n� 1Velocidad y aceleración angular:Si la unión i+ 1 es de tipo rotacionali+1wi+1 =

i+1i Riwi + _�i+1

i+1Zi+1i+1

_wi+1 =i+1i Ri _wi +

i+1i Riwi � _�i+1 i+1Zi+1 + ��i+1 i+1Zi+1

1w1 =10 R

0w0 + _�11Z1 = R

T1 w0 +

24 00�01

35 = w1 =24 00�01

351 _w1 =

10 R

0 _w0 +10 R

0w0 � _�1 1Z1 + ��1 1Z1 = RT1 w00 +RT1 w0 �

24 00�01

35+24 00�001

35 = w01 =24 00�001

354.1.5 Aceleración lineal

Si la unión i+ 1 es de tipo rotacionali+1 _vi+1 =

i+1i R

�i _vi +

i _wi �i Pi+1 +i wi ��iwi �i Pi+1

��_v1 =

10 R

�0 _v0 +

0 _w0 �0 P1 +0 w0 ��0w0 �0 P1

��= RT1 (v

00 + w

00 � P1 + w0 � (w0 � P1)) = v01 =

24 �g cos �1g sin �10

355

Page 6: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

4.1.6 Aceleración lineal en el centro de masai+1 _vCi+1 =

i+1 _vi+1 +i+1 _wi+1 �i+1 PCi+1 +i+1 wi+1 �

�i+1wi+1 �i+1 PCi+1

�1 _vC1 =

1 _v1+1 _w1�1PC1+1w1�

�1w1 �1 PC1

�= v01+w

01�PC+w1� (w1�PC) = v0C =

24 �L(�01)2 � g cos �1L�001 + g sin �1

0

35Método de Newton-Euler

4.1.7 Cálculo de las fuerzas y pares. Propagación hacia atrás

Para i = n; :::; 1Fuerza y momento:ifi =

i Fi +ii+1 R

i+1f ii+1ni =

i Ni +ii+1 R

i+1ni+1 +i PCi �i Fi +i Pi+1 �ii+1 Ri+1fi+1

donde:iFi = mii _vci y

iNi =ciIi

i _wi +i wi �Ci Ii iwi

1F1 = m11 _vc1 = m1v

0C = F1 =

24 �m1

�L(�01)

2 + g cos �1�

m1

�L�001 + g sin �1

�0

351f1 =

1 F1 +12 R

2f2 = F1 +R2f2 = f1 =

24 �m1

�L(�01)

2 + g cos �1�

m1

�L�001 + g sin �1

�0

351N1 =

c1I11 _w1 +

1 w1 �C1 I1 1w1 = I1w01 + w1 � (I1w1) = N1 =

24 00�001Iz

351n1 =

1 N1 +12 R

2n2 +1 PC1 �1 F1 +1 P2 �12 R2f2 = N1 +R2n2 + PC � F1 + P2 � (R2f2) =

n1 =

24 Mx

My

Mz + �001Iz + Lm1

�L�001 + g sin �1

�35

4.1.8 Par o fuerza resultante

Si la unión i es de tipo rotacional� i =

i nTiiZi

�1 =1 nT1

1Z1 = nT1

24 001

35 =Mz + �001Iz + Lm1

�L�001 + g sin �1

�4.1.9 Modelo dinámico

Mz + �001Iz + Lm1

�L�001 + g sin �1

�= �001m1L

2 + gm1 (sin �1)L+Mz + �001Iz

M = m1L2

C = 0G = gm1 (sin �1)L+Mz + �

001Iz

�1 =M�001 + C�

01 +G

6

Page 7: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

4.2 Animación un mecanismo "R" de 1GDL

Se utilizo working model, que permite simular un modelo dinámico virtual de un objeto, en este caso una barra"R" unida a un motor:

El objeto tiene una masa de 10 kg , una longitud de 6 m, el centro de masa esta a la mitad del objeto, y tieneun momento de inercia de 30.833 kg �m2

4.3 Comparación del modelo dinámico obtenido y las gra�cas de la animación.

Haciendo uso de el método de Runge-Kutta implementado en Matlab, se soluciono numéricamente la ecuacióndiferencial del modelo dinámico del mecanismo (línea roja y verde) , y se comparo con el resultado obtenido de laanimación en Working Model (puntos azules).

7

Page 8: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

5 Obtención del modelo dinámico de un mecanismo "RR" de 2 GDL

5.1 Asignar el sistema de coordenadas a cada eslabón (según las normas de D-H) yobtener los parámetros de D-H

D =

2664i �i�1 ai�1 di �i1 0 0 0 �12 0 L1 0 �23 0 L2 0 0

37755.2 Obtener para todo i = 0; :::; n, donde n es el número de eslabones

T (i) =

2664cos(Di+1;5) � sin(Di+1;5) 0 Di+1;3

sin(Di+1;5) cos(Di+1;2) cos(Di+1;5) cos(Di+1;2) � sin(Di+1;2) � sin(Di+1;2)Di+1;4sin(Di+1;5) sin(Di+1;2) cos(Di+1;5) sin(Di+1;2) cos(Di+1;2) cos(Di+1;2)Di+1;4

0 0 0 1

377501T = T (1) =

2664cosD2;5 � sinD2;5 0 D2;3

cosD2;2 sinD2;5 cosD2;2 cosD2;5 � sinD2;2 � (sinD2;2)D2;4sinD2;2 sinD2;5 cosD2;5 sinD2;2 cosD2;2 (cosD2;2)D2;4

0 0 0 1

3775= T1=2664cos �1 � sin �1 0 0sin �1 cos �1 0 00 0 1 00 0 0 1

377501R = R1 =

24 cos �1 � sin �1 0sin �1 cos �1 00 0 1

35 0P1 = P1 =

24 000

3512T = T (2) =

2664cosD3;5 � sinD3;5 0 D3;3

cosD3;2 sinD3;5 cosD3;2 cosD3;5 � sinD3;2 � (sinD3;2)D3;4sinD3;2 sinD3;5 cosD3;5 sinD3;2 cosD3;2 (cosD3;2)D3;4

0 0 0 1

3775= T2=2664cos �2 � sin �2 0 L1sin �2 cos �2 0 00 0 1 00 0 0 1

377512R = R2 =

24 cos �2 � sin �2 0sin �2 cos �2 00 0 1

35 1P2 = P2 =

24 L100

3523T = T (3) =

2664cosD4;5 � sinD4;5 0 D4;3

cosD4;2 sinD4;5 cosD4;2 cosD4;5 � sinD4;2 � (sinD4;2)D4;4sinD4;2 sinD4;5 cosD4;5 sinD4;2 cosD4;2 (cosD4;2)D4;4

0 0 0 1

3775 = T3 =26641 0 0 L20 1 0 00 0 1 00 0 0 1

377523R = R3 =

24 1 0 00 1 00 0 1

35 2P3 = P3 =

24 L200

355.3 Establecer condiciones iniciales

5.3.1 Obtener iPCi ;CiIi; mi y n+1fn+1;

n+1nn+1 para todo i = 1; :::; n:

5.3.2 Sistema base: 0w0 = 0;0 _w0 = 0;

0 _v0 = g0XY Z0;

0XY Z0 : Es un vector unitario en la direcciónopuesta de la gravedad

1Pc1 = P01 =

24 P11P120

35 2Pc2 = P02 =

24 P21P220

35 C1I1 = I1 =

24 I11 0 00 I12 00 0 I13

35C2I2 = I2 =

24 I21 0 00 I22 00 0 I23

35 3f3 = f3 =

24 f31f32f33

35 3n3 = n3 =

24 000

35

8

Page 9: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

5.3.3 Sistema base: 0w0 = 0;0 _w0 = 0;

0 _v0 = g0XY Z0;

0XY Z0 : Es un vector unitario en la direcciónopuesta de la gravedad

0w0 = w00 =

24 000

35 0 _w0 = w000 =

24 000

35 0 _v0 = v000 =

24 �g00

355.4 Cálculo de las velocidades y aceleraciones. Propagación hacia delante

5.4.1 Velocidad y aceleración angular

Si la unión i+ 1 es de tipo rotacional

i+1wi+1 =i+1i Riwi + _�

i+1

i+1Zi+1

i+1 _wi+1 =i+1i Ri _wi +

i+1i Riwi � _�

i+1

i+1Zi+1 +��i+1

i+1Zi+1

Para fi = 0g

1w1 =10 R

0w0 + _�1

1 Z1 = RT1 � w00 +

24 00�01

35 = w11 =24 00�01

351 _w1 =

10 R

0 _w0 +10 R

0w0 � _�1 1Z1 + ��1 1Z1 = RT1 � w000 +�RT1 � w00

��

24 00�01

35+24 00�001

35 = w011 =24 00�001

35Para fi = 1g

2w2 =21 R

1w1 + _�2

2 Z2 = RT2 � w11 +

24 00�02

35 = w22 =24 0

0�01 + �

02

352 _w2 =

21 R

1 _w1+21 R

1w1� _�2

2 Z2+��2

2 Z2 = RT2 �w011+

�RT2 � w11

��

24 00�02

35+24 00�002

35 = w022 =24 0

0�001 + �

002

355.4.2 Aceleración lineal

Si la unión i+ 1 es de tipo rotacional

i+1 _vi+1 =i+1i R

�i _vi +

i _wi �i Pi+1 +i wi ��iwi �i Pi+1

��Aceleración lineal en el centro de masa:

i+1 _vCi+1 =i+1 _vi+1 +

i+1 _wi+1 �i+1 PCi+1 +i+1 wi+1 ��i+1wi+1 �i+1 PCi+1

�Para fi = 0g

1 _v1 =10 R

�0 _v0 +

0 _w0 �0 P1 +0 w0 ��0w0 �0 P1

��= RT1 (v

000+w

000�P1+w00�(w00�P1)) = v011 =

24 �g cos �1g sin �10

351 _vC1 =

1 _v1+1 _w1�1PC1+1w1�

�1w1 �1 PC1

�= v011+w

011�P 01+w11�(w11�P 01) = C1 =

24 �P11(�01)2 � g cos �1 � �001P12�P12(�01)2 + g sin �1 + �001P11

0

35

9

Page 10: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

Para fi = 1g2 _v2 =

21 R

�1 _v1 +

1 _w1 �1 P2 +1 w1 ��1w1 �1 P2

��= RT2 (v

011 + w

011 � P2 + w11 � (w11 � P2)) =

v022 =

24 (sin �2)�g sin �1 + �

001L1

�� (cos �2)

�L1(�

01)2 + g cos �1

�(cos �2)

�g sin �1 + �

001L1

�+ (sin �2)

�L1(�

01)2 + g cos �1

�0

352 _vC2 =

2 _v2 +2 _w2 �2 PC2 +2 w2 �

�2w2 �2 PC2

�= v022 + w

022 � P 02 + w22 � (w22 � P 02) =

C2 =

264 (sin �2)�g sin �1 + �

001L1

�� P22

��001 + �

002

�� P21

��01 + �

02

�2 � (cos �2) �L1(�01)2 + g cos �1�P21

��001 + �

002

�+ (cos �2)

�g sin �1 + �

001L1

�� P22

��01 + �

02

�2+ (sin �2)

�L1(�

01)2 + g cos �1

�0

3755.5 Cálculo de las fuerzas y pares. Propagación hacia atrás

5.5.1 Fuerza y momento

ifi =i Fi +

ii+1 R

i+1fi+1

ini =i Ni +

ii+1 R

i+1ni+1 +i PCi �i Fi +i Pi+1 �ii+1 Ri+1fi+1

donde: iFi = mii _vci y iNi =

CiIii _wi +

i wi �Ci Ii iwi

Para fi = 2g2F2 = m2

2 _vc2 = m2 � C2 =

F2 =

2664�m2

�P22

��001 + �

002

�� (sin �2)

�g sin �1 + �

001L1

�+ P21

��01 + �

02

�2+ (cos �2)

�L1(�

01)2 + g cos �1

��m2

�P21

��001 + �

002

�+ (cos �2)

�g sin �1 + �

001L1

�� P22

��01 + �

02

�2+ (sin �2)

�L1(�

01)2 + g cos �1

��0

37752N2 =

C2I22 _w2 +

2 w2 �C2 I2 2w2 = I2 � w022 + w22 � (I2 � w22) = N2 =

24 00

I23��001 + �

002

�35

2f2 =2 F2 +

23 R

3f3 = F2 + (R3 � f3) =

f2 =

2664f31 �m2

�P22

��001 + �

002

�+ (sin �2)

�g sin �1 � �001L1

�+ P21

��01 + �

02

�2 � (cos �2) �g cos �1 � (�01)2L1��f32 �m2

�(cos �2)

�g sin �1 � �001L1

�� P21

��001 + �

002

�+ P22

��01 + �

02

�2+ (sin �2)

�g cos �1 � (�01)2L1

��f33

37752n2 =

2 N2 +23 R

3n3 +2 PC2 �2 F2 +2 P3 �23 R3f3 = N2 +R3n3 + P 02 � F2 + P3 � (R3f3) =

n2 =

24 0�L2f33

I23��001 + �

002

�+ L2f32 +A+B

35Donde:A = P21m2

�P21

��001 + �

002

�+ (cos �2)

�g sin �1 + �

001L1

�� P22

��01 + �

02

�2+ (sin �2)

�L1(�

01)2 + g cos �1

��B = P22m2

�P22

��001 + �

002

�� (sin �2)

�g sin �1 + �

001L1

�+ P21

��01 + �

02

�2+ (cos �2)

�L1(�

01)2 + g cos �1

��Para fi = 1g

1F1 = m11 _vc1 = m1 � C1 = F1 =

24 �m1

�P11(�

01)2 + g cos �1 + �

001P12

�m1

��P12(�01)2 + g sin �1 + �001P11

�0

351f1 =

1 F1 +12 R

2f2 = F1 +R2f2 =

f1 =

24 C �D �m1

�P11(�

01)2 + g cos �1 + �

001P12

�E + F +m1

��P12(�01)2 + g sin �1 + �001P11

�f33

3510

Page 11: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

Donde:

C = (cos �2)�f31 �m2

�P22

��001 + �

002

�+ (sin �2)

�g sin �1 � �001L1

�+ P21

��01 + �

02

�2 � (cos �2) �g cos �1 � (�01)2L1���D = (sin �2)

�f32 �m2

�(cos �2)

�g sin �1 � �001L1

�� P21

��001 + �

002

�+ P22

��01 + �

02

�2+ (sin �2)

�g cos �1 � (�01)2L1

���E = (cos �2)

�f32 �m2

�(cos �2)

�g sin �1 � �001L1

�� P21

��001 + �

002

�+ P22

��01 + �

02

�2+ (sin �2)

�g cos �1 � (�01)2L1

���F = (sin �2)

�f31 �m2

�P22

��001 + �

002

�+ (sin �2)

�g sin �1 � �001L1

�+ P21

��01 + �

02

�2 � (cos �2) �g cos �1 � (�01)2L1���1N1 =

C1I11 _w1 +

1 w1 �C1 11 1w1 = I1 � w011 + w11 � (I1 � w11) = N1 =

24 00

�001I13

351n1 =

1 N1 +12 R

2n2 +1 PC1 �1 F1 +1 P2 �12 R2f2 = N1 + (R2n2) + (P 01 � F1) + P2 � (R2f2) =

n1 =

24 L2f33 sin �2�L1f33 � L2f33 cos �2

I23��001 + �

002

�+ �001I13 + L2f32 + L1 (I + J) +K + P11m1

��P12(�01)2 + g sin �1 + �001P11

�+G+H

35Donde:G = P21m2

�P21

��001 + �

002

�+ (cos �2)

�g sin �1 + �

001L1

�� P22

��01 + �

02

�2+ (sin �2)

�L1(�

01)2 + g cos �1

��H = P22m2

�P22

��001 + �

002

�� (sin �2)

�g sin �1 + �

001L1

�+ P21

��01 + �

02

�2+ (cos �2)

�L1(�

01)2 + g cos �1

��I = (cos �2)

�f32 �m2

�(cos �2)

�g sin �1 � �001L1

�� P21

��001 + �

002

�+ P22

��01 + �

02

�2+ (sin �2)

�g cos �1 � (�01)2L1

���J = (sin �2)

�f31 �m2

�P22

��001 + �

002

�+ (sin �2)

�g sin �1 � �001L1

�+ P21

��01 + �

02

�2 � (cos �2) �g cos �1 � (�01)2L1���K = P12m1

�P11(�

01)2 + g cos �1 + �

001P12

�5.6 Par o fuerza resultante

5.6.1 Si la unión i es de tipo rotacional

� i =i nTi

iZi

�2 =2 nT2

2Z2 = nT2 �

24 001

35 = �2 = I23 ��001 + �002�+ L2f32 +A+B =�001I23+�

002I23+L2f32+�

001P

221m2+�

001P

222m2+�

002P

221m2+�

002P

222m2+gP22m2 cos (�1 + �2)+gP21m2 sin (�1 + �2)+

�001L1P21m2 cos �2 � �001L1P22m2 sin �2 + (�01)2L1P22m2 cos �2 + (�

01)2L1P21m2 sin �2

�1 =1nT1

1Z1 = nT1 �

24 001

35 = �1 = I23 ��001 + �002�+�001I13+L2f32+L1 (I + J)+K+P11m1

��P12(�01)2 + g sin �1 + �001P11

�+

G+H =�001I13 + �

001I23 + �

002I23 +L2f32 + �

001L

21m2 + �

001P

211m1 + �

001P

212m1 + �

001P

221m2 + �

001P

222m2 + �

002P

221m2 + �

002P

222m2 +

L1f32 cos �2+L1f31 sin �2+gP22m2 cos (�1 + �2)+gP21m2 sin (�1 + �2)+gP12m1 cos �1+gL1m2 sin �1+gP11m1 sin �1+2�001L1P21m2 cos �2+�

002L1P21m2 cos �2�2�001L1P22m2 sin �2��002L1P22m2 sin �2�(�02)2L1P22m2 cos �2�(�02)2L1P21m2 sin �2�

2�01�02L1P22m2 cos �2 � 2�01�02L1P21m2 sin �2

11

Page 12: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

5.6.2 Modelo dinamico��1�2

�=

�L M

I23 + P221m2 + P

222m2 + L1P21m2 cos �2 � L1P22m2 sin �2 I23 + P

221m2 + P

222m2

� ��001�002

�+�

�2�02L1P22m2 cos �2 � 2�02L1P21m2 sin �2 �(�02)L1P21m2 sin �2 � (�02)L1P22m2 cos �2(�01)L1P22m2 cos �2 + (�

01)L1P21m2 sin �2 0

� ��01�02

�+�

gP22m2 cos (�1 + �2) + gP21m2 sin (�1 + �2) + gP12m1 cos �1 + gL1m2 sin �1 + gP11m1 sin �1gP22m2 cos (�1 + �2) + gP21m2 sin (�1 + �2)

�+�

L2f32 + L1f32 cos �2 + L1f31 sin �2L2f32

�Donde:L = I13 + I23 + L

21m2 + P

211m1 + P

212m1 + P

221m2 + P

222m2 + 2L1P21m2 cos �2 � 2L1P22m2 sin �2

M = I23 + P221m2 + P

222m2 + L1P21m2 cos �2 � L1P22m2 sin �2

6 Animación un mecanismo "RR" de 2GDL

Se utilizo working model, que permite simular un modelo dinámico virtual de un objeto, en este caso una barra"RR" unidas por motores:

Los eslabones son identicos, tienen una masa de 4 kg , una longitud de 4 m, el centro de masa esta a la mitaddel objeto, y tienen un momento de inercia de 5.667 kg �m2

12

Page 13: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

7 Comparación del modelo dinámico obtenido y las gra�cas de la an-imación

Haciendo uso de el método de Runge-Kutta implementado en Matlab, se soluciono numéricamente la ecuacióndiferencial del modelo dinamico del mecanismo (línea roja y verde) , y se comparo con el resultado obtenido de laanimación en Working Model (puntos azules) para cada eslabón (�las).

8 Conclusiones:

En la comparación de la simulación con la animación del robot "R" se puede apreciar que las gra�cas son muysimilares, por lo que se comprobó que el modelo dinámico obtenido es correcto.En la comparación de la simulación con la animación del robot "RR" se puede apreciar que las gra�cas son muy

similares, aunque en la animación existen pequeñas fuerzas de fricción, por lo cual se puede llegar a la conclusiónde que estas fuerzas se hacen prácticamente despreciables cuando los pares en los motores son muy grandes.

9 Anexo

9.1 Programa en Matlab para solucionarla ecuación diferencial _y = sin(x) conel metodo de Euler

clc;clear all;close all;%rango de integracion:xi=0;xf=4*pi;rang=xf-xi;%numero de diviciones(pasos):

np=1000;step=(xf-xi)/np;%condiciones iniciales:xi=0;yi=0;sn=0;i=1;t=xi:step:xf;for x=0:step:rangecdif=cos(x+step);sn=sn+ecdif*step;y(i)=sn;

13

Page 14: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

i=i+1;end% solucion realyr=sin(t);plot(t,y,�r�)hold on;plot(t,yr,�g�)axis([xi xf min(y)+min(y)/10 max(y)+max(y)/10])

9.2 Programa en Matlab para solucionarla ecuación diferencial _y = sin(x) conel metodo de Runge-Kutta de 4to or-den

clc;clear all;close all;xi=0;xf=4*pi;rang=xf-xi;np=200;step=(xf-xi)/np;xi=0;sn=0;i=1;f=@(x) cos(x);for x=xi:step:xfk1=f(x);k2=f(x+step/2);k3=f(x+step/2);k4=f(x+step);sn=sn+(1/6)*(k1+2*k2+2*k3+k4)*step;y(i)=sn;i=i+1;endts=xi:step:xf;tr=xi:0.1:xf;yr=sin(tr);plot(ts,y,�r�) %solucion numerica en rojohold on;plot(tr,yr,�g�) %solucion numerica en verdeaxis([xi xf min(y)+min(y)/10 max(y)+max(y)/10])

9.3 Programa en Matlab para solucionarla ecuación diferencial del modelodinámico de un mecanismo "R" de1GDL con el método de Runge-Kutta de 4to orden

clc;clear all;close all;ti=0;tf=10;np=1000;

Iz=30.833; m=10; lc=3; k=Iz+m*lc^2; tau=100;g=9.81; i=1;y=[0;0];f1=@(t,y) [y(2);(tau/k)-((lc*m*g)/k)*sin(y(1))];h=(tf-ti)/np;for t=ti:h:(tf-h)k1=f1(t,y(:,i));k2=f1(t+h/2,y(:,i)+h*k1/2);k3=f1(t+h/2,y(:,i)+h*k2/2);k4=f1(t+h,y(:,i)+h*k3);y(:,i+1)=y(:,i)+h/6*(k1+2*(k2+k3)+k4);i=i+1;endt=[ti:h:tf];subplot(1,2,1)plot(t,y(1,:),�r�)hold on[tg,rot,vel]=WM1gdl;grid onplot(tg,rot,�.�)title(�Posición angular�)axis([ti tf min(y(1,:))+min(y(1,:))/10 max(y(1,:))

+max(y(1,:))/10])subplot(1,2,2)plot(t,y(2,:),�g�)hold onplot(tg,vel,�.�)grid ontitle(�Velocidad angular�)axis([ti tf min(y(2,:))+min(y(2,:))/10 max(y(2,:))

+max(y(2,:))/10])

9.4 Función en Matlab para evaluarnuméricamente el modelo dinámicode un mecanismo "RR" de 2 GDL

function [Y]=val2gdl(t,y)P=[2,0,0;2,0,0;4,4,0];I=[0,0,5.667;0,0,5.667];T=[50;50];m=[4,4];m1=m(1,1);m2=m(1,2);I13=I(1,3);I23=I(2,3);p11=P(1,1);p12=P(1,2);p21=P(2,1);p22=P(2,2);L1=P(3,1);L2=P(3,2);M=@(t,y) [I13 +I23 +L1^2*m2 +m1*p11^2

+m1*p12^2 +m2*p21^2 +m2*p22^2 +2*L1*m2*p21*cos(y(3)) -2*L1*m2*p22*sin(y(3)),I23

+ m2*p21^2+m2*p22^2 +L1*m2*p21*cos(y(3))-L1*m2*p22*sin(y(3));

14

Page 15: UPIITA MECATRONICA 9 Comparación de la simulación y animación de un  robot "R" y "RR" (modelo dinamico)

I23 +m2*p21^2 +m2*p22^2 +L1*m2*p21*cos(y(3))-L1*m2*p22*sin(y(3)),I23+m2*p21^2+m2*p22^2];C=@(t,y) [-2*y(4)*L1*m2*p22*cos(y(3)) -

2*y(4)*L1*m2*p21*sin(y(3)), -y(4)*L1*m2*p22*cos(y(3))-y(4)*L1*m2*p21*sin(y(3));y(2)*L1*m2*p22*cos(y(3)) +y(2)*L1*m2*p21*sin(y(3)),0];G=@(t,y) [9.81*m2*p22*cos(y(1) +y(3)) +9.81*m2*p21*sin(y(1) +y(3)) +9.81*m1*p12*cos(y(1))

+9.81*m1*p11*sin(y(1)) +9.81*L1*m2*sin(y(1));9.81*m2*p22*cos(y(1) +y(3)) +9.81*m2*p21*sin(y(1)

+y(3))];theta=((M(t,y))^-1)*(T-C(t,y)*[y(2);y(4)]-G(t,y));Y=[y(2);theta(1,1);y(4);theta(2,1)];

9.5 Programa en matlab para solucionarla ecuacion diferencial del modelodinamico de un mecanismo "RR"de 2GDL con el metodo de Runge-Kutta de 4to orden

clc;clear all;close all;ti=0;tf=10;np=1000;y=[0;0;0;0];h=(tf-ti)/np;i=1;for t=ti:h:(tf-h)k1=val2gdl(t,y(:,i));k2=val2gdl(t+h/2,y(:,i)+h*k1/2);k3=val2gdl(t+h/2,y(:,i)+h*k2/2);k4=val2gdl(t+h,y(:,i)+h*k3);y(:,i+1)=y(:,i)+h/6*(k1+2*(k2+k3)+k4);i=i+1;

end%posición angular1t=[ti:h:tf];subplot(2,2,1)plot(t,y(1,:),�r�)hold on[tg,rot,vel]=WM2gdl1;grid onplot(tg,rot,�.�)title(�Posición angular�)axis([ti tf min(y(1,:)) + min(y(1,:))/10 max(y(1,:))

+ max(y(1,:))/10])%Velocidad angular1subplot(2,2,2)plot(t,y(2,:),�g�)hold onplot(tg,vel,�.�)grid ontitle(�Velocidad angular�)axis([ti tf min(y(2,:)) + min(y(2,:))/10 max(y(2,:))

+ max(y(2,:))/10])%posición angular2t=[ti:h:tf];subplot(2,2,3)plot(t,y(3,:),�r�)hold on[tg,rot,vel]=WM2gdl2;grid onplot(tg,rot,�.�)title(�Posición angular�)axis([ti tf min(y(3,:)) + min(y(3,:))/10 max(y(3,:))

+ max(y(3,:))/10])%Velocidad angular2subplot(2,2,4)plot(t,y(4,:),�g�)hold onplot(tg,vel,�.�)grid ontitle(�Velocidad angular�)axis([ti tf min(y(4,:)) + min(y(4,:))/10 max(y(4,:))

+ max(y(4,:))/10])

15