Você está na página 1de 80

Dinmica de Robots

Diseo y construccin de un interfaz hptica para el control de un robot


manipulador en una escena virtual
Cuarto Avance de Proyecto
Integrantes:

Aguilln Balderas Nestor Abraham


Cervantes Delgadillo Magda Karina
Garca Morales Ditzia Susana
Hernndez Crdenas Erick Josu
Navarro Gonzlez Oscar Jess
Ramrez Radilla Izcaltcatl Horacio
Sanchez Garca Hugo
Tovar Garca Carlos Antonio
Asesor: Dr. Roger Miranda Colorado.

Contenido
Redaccin y Ortografa
Seguridad,claridad y dominio
Respuesta a cuestionamientos
Calicacin:

Cd. Victoria Tamaulipas

8 de agosto de 2013

ndice

1. Introduccin

2. Objetivos
2.1. Objetivos Generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Objetivos Especcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Metodologa
3.1. Cinemtica directa del manipulador
3.2. Dinmica del manipulador . . . . . .
3.2.1. Mtodo Newton-Euler . . . .
3.2.2. Mtodo Directo . . . . . . . .
3.2.3. Mtodo usando Lagrangiano .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

5
5

6
8
9
16
21

4. Euler-Lagrange(cinemtica directa)
4.1. Ecuaciones dinmicas con valores reales . . . . . . . . . . . . . . . . . . . . . . .
4.2. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

5. Apndices
5.1. Apndice
5.2. Apndice
5.3. Apndice
5.4. Apndice
5.5. Apndice
5.6. Apndice

35

R . . . . . . . . . . . . . .
A Diseo en SolidWorks
B Ensamble de la estructura . . . . . . . . . . . .
R -Matlab
R . . . . . .
C Exportacin SolidWorks
D Diseo y construccin de mdulos de potencia
E Materiales(especicaciones) . . . . . . . . . . . .
F Anlisis de Esfuerzos . . . . . . . . . . . . . . . .

6. Conclusiones

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

27
28

35
44
49
55
65
75

79

Resumen
El siguiente documento presenta un exoesqueleto adaptado al brazo humano, el cual tiene como objetivo mover un brazo robtico en simulacin, tambin se presenta el desarrollo de una interfaz hptica
de modo que si en la simulacin el robot llega a tocar algn obstculo predenido, el sistema fsico debe
de presentar una reaccin a dicho choque.
El documento presenta el anlisis cinemtico y dinmico del sistema fsico, as como una ley de
control para la retropropagacin de fuerzas.

Abstract
The following document presents an exoskeleton adapted to the human arm which aims to move a
simulated robot arm. It also presents the development of an haptic interface so that if the simulation
robot touches a predened obstacle, the physical system must react to the collision.
The paper contains the kinematic and dynamic analysis of the physical system and a control law
for the propagation of forces.

1.

Introduccin

Introduccin

El concepto de

hptica anlogamente a el signicado de ptica o la acstica se designa al conjunto de

sensaciones que experimenta un individuo, proviene del griego

hpto, relativo al tacto, como tal el concepto

no se encuentra incluido en el diccionario de la Real Academia Espaola, en consecuente en cuanto sea


mencionado en las lineas del documento las palabras

interfaz hptica se har referencia a un dispositivo

que permite la interaccin de un espacio real y un espacio virtual realimentando el sistema fsico con los
datos recopilados dentro de la escena en simulacin.

En la naturaleza un exoesqueleto es un estructura externa que cubre la supercie de los artrpodos,


proporcionando mecnicamente el soporte para el aparato muscular, desde el punto de vista de la robtica
se dene un exoesqueleto como una estructura rgida que proporciona ayuda al movimiento del portador,
las aplicaciones de este tipo de dispositivos en esta rea son diversas, desde la reduccin de esfuerzos o
la sustitucin de miembros superiores e inferiores, de igual manera muy recientemente aplicaciones en el
control de vdeojuegos, o como se observa en la cultura popular nuevos lanzamientos como el Elysium o
Ironman que muestran un panorama futurista de este concepto.

Estos dos trminos nos permiten crear uno nuevo, el cual sera la base para el desarrollo del robot, el
cual en conjunto es un dispositivo rgido tipo exoesqueleto habilitado para la interpretacin de una seal
de control por medio de una retropopagacin de fuerzas adecuada a las seales enviadas de la simulacin.

2.

Objetivos

Objetivos

2.1. Objetivos Generales


Realizar el diseo de una interfaz hptica o sensitiva, la cual permitir el control e interaccin de un
dispositivo robtico fsico con un robot diseado en un espacio virtual dentro del entorno de simulacin

R , esta interfaz extraer la informacin capturada dentro de la escena y transmitir una


de SimMechanics
seal de control a los actuadores del robot, permitiendo obtener una sensacin realista de los elementos
dentro de la simulacin.

2.2. Objetivos Especcos


1

Mostrar el funcionamiento del mecanismo y su interfaz grca incluyendo obstculos inamovibles.

Mostrar el control y seguimiento de tres trayectorias distintas.

Presentar el clculo terico de las ecuaciones dinmicas del robot.

Lograr el control del mecanismo por el mtodo del par calculado.

3.

Metodologa

Metodologa

3.1. Cinemtica directa del manipulador


Para realizar la cinemtica directa del manipulador se realiz la simplicacin mostrada en la siguiente
Figura 1.

Figura 1:

Representacin simplicada del dispositivos

Con estos datos se construye la tabla de parmetros de la convencin de Denavit-Hartenberg:

a2
L3
Le

90

L2

-90

i
1
2
3

3
e

ai1

i1

di

Con base en los datos proporcionados por la tabla se construyen las matrices de transformacin correspondientes a cada uno de los sistemas de referencia, para ello se utilizar la matriz de trasformacin general
Tii1 :
6

Tii1

ci
si
0
ai1
si ci1 ci ci1 si1 di si1

=
si si1 ci si1 ci1
di ci1
0
0
0
1

(1)

Empleando esta matriz general y cada uno de los parmetros de la tabla se construyen las matrices de
transformacin para cada uno de los sistemas de referencia:

c1 s1

s 1 c1
T10 =
0
0
0
0
.

0
0
1
0

c3 s3
c2 s2 0
a2
0

0
0 1 L2 2 0
0 1 0
T =
T =
0
0 3 s3 c3
0 2 s2 c2
0
0
0
0
0
1
1

1
0 L3

1 0 3 0
T =
0
0 0 e
0
0 1

0
1
0
0

0 Le
0 0

1 0
0 1

A continuacin se referencia cada matriz de transformacin respecto al sistema 0:

T20 = T10 T21

(2)

c1 c2 c1 s2 s1 a2 c1 + L2 s1
s1 c2 s1 s2 c1 a2 s1 L2 c1

T20 =
s2

c2
0
0
0
0
0
1
T30 = T20 T32

(3)

c1 c2 c3 s1 s3 c1 c2 s3 s1 c3 c1 s2 L3 c1 c2 + a2 c1 + L2 s1
s1 c2 c3 + c1 s3 s1 c2 s3 + c1 c3 s1 s2 L3 s1 c2 + a2 s1 L2 c1

T30 =

s 2 c3
s2 s3
c2
L 3 s2
0
0
0
1
Te0 = T30 Te3 =

c1 c2 c3 s1 s3 c1 c2 s3 s1 c3 c1 s2 (c1 c2 c3 s1 s3 )Le + L3 c1 c2 + a2 c1 + L2 s1
s1 c2 c3 + c1 s3 s1 c2 s3 + c1 c3 s1 s2 (s1 c2 c3 + c1 s3 )Le + L3 s1 c2 + a2 s1 L2 c1

Te0 =

s 2 c3
s2 s3
c2
(s2 c3 )Le + L3 s2
0
0
0
1

(4)

3.2. Dinmica del manipulador


Dinmica del manipulador

Las ecuaciones de movimiento de robot se obtienen empleando el mtodos de Newton-Euler de esta


manera, si se conoce el valor de los ngulos de las juntas en el robot este problema se convierte en un
problema de control donde se pretende determinar los valores de

como se puede observar, el valor de

para el sistema en general esta dado por la siguiente ecuacin.

= M (q)
q + B(q)qq + C(q)q2 + G(q)

(5)

de esta ecuacin
1

M es la matriz de masa.


m11 m12 m13
q1
M (q) = m21 m22 m23 q2
m31 m32 m33
q3
2

B es la matriz de. fuerzas centrifugas.

q1 q2
2b112 2b113 2b123
B(q)(qq)
= 2b212 2b213 2b223 q1 q3
q2 q3
2b312 2b313 2b323
3

C es la matriz de fuerzas centrifugas.

b111 b122 b133


C( q)q2 = b211 b222 b233
b311 b222 b333
4

G es el vector de pares debidos a la gravedad.


12
2
2
32

(6)

3.2.1. Mtodo Newton-Euler

Mtodo Newton-Euler
Este mtodo tambin conocido como algoritmo iterativo de dinmica de Newton-Euler. Para obtener las

R .Para el caso de estudio


distribuciones y centros de masa se utilizarn los datos arrojados por SolidWorks
se considera que inicialmente el robot no se encuentra en interaccin con el medio, de esta manera las suma
de fuerzas y pares en el efector nal son cero.
Este mtodo consta de iteraciones externas e internas las cuales se realizan mediante frmulas denidas
comenzando por los siguientes datos.






0
0
0
0
0
e
e
e
e
e

fe = 0 ne = 0 e = 0 e = 0 v e = 0
0
0
0
0
0
para los centros de masa de los eslabones se tiene que:

Lcx1
1
= Lcy1
Pc1
0

Lcx2
2
= 0
Pc2
0


Le
3
=0
Pc3
0

para el caso de la base se considera:




0
0
0
00 = 0 00 = 0 v 00 = 0
0
0
g
las distribuciones de masa son:

I1c1

Ixx1 0
0
= 0 Iyy1 0
0
0 Izz1

I2c2

Ixx2 0
0
= 0 Iyy2 0
0
0 Izz2

I3c3

Ixx3 0
0
= 0 Iyy3 0
0
0 Izz3

A continuacin se lleva a cabo el proceso de realizar iteraciones externas (por ser un robot de 3GDL se
hace con i = 0 hasta i = 2 ) y despus internas (con i = 3 hasta i = 1), de manera que al terminar por las
iteraciones internas se obtendrn las ecuaciones dinmicas.
1

Iteraciones externas
1

Para i=0

0
1
1 0
1

1 = R0 0 + 1 z1 = 0
1

(7)


0
i
h
1 0
1 0
1
1
1

1 = R0 0 + R0 0 1 z1 + 1 z1 = 0
1

(8)

v11 = R01

h

00 P10 + 00 00 P1


0

+ v00

= 0
g

1 Lcy1 2 Lcx1

1

1
1
1
+ 11 11 Pc1
+ v11 = 1 Lcx1 12 Lcy1
= 11 Pc1
vc1
g

1 Lcy1 12 Lcx1
F11 = m1 Vc11 = m1 1 Lcx1 12 Lcy1
g

0

N11 = I1c1 11 + 11 I1c1 11 = 0
1 Izz1

(9)

(10)

(11)

(12)

Para i=1

1 s2
22 = R12 11 + 2 z22 = 1 c2
2

1 s2 + 1 2 c2


22 = R12 11 + R12 11 2 z22 + 2 z22 = 1 c2 1 2 s2
2

2
c2 (1 L2 a2 1 ) + s2 g

2
v22 = R12 (11 P21 + 11 (11 P21 ) + v11 ) = s2 (1 L2 a2 1 ) + c2 g
2
1 a2 L2 1

Lcx2 (c22 12 + 22 ) + c2 (1 L2 12 a2 ) + s2 g

2
2
2
v c2
= 22 Pc2
+ 22 (22 Pc2
) + v22 = Lcx2 (2 s2 c2 12 ) s2 (1 L2 12 a2 ) + c2 g
Lcx2 (c2 1 + 2s2 1 2 ) 1 a2 12 L2

(13)

(14)

(15)

(16)

m2 (Lcx2 (c22 12 + 22 ) + c2 (1 L2 12 a2 ) + s2 g)

2
F22 = m2 v c2
= m2 (Lcx2 (2 s2 c2 12 ) s2 (1 L2 12 a2 ) + c2 g)
m2 (Lcx2 (c2 1 + 2s2 1 2 ) 1 a2 12 L2 )

(17)

Ixx2 s2 1 + c2 1 2 (Ixx2 Iyy2 + Izz2 )


N22 = I2c2 22 + 22 I2c2 22 = Iyy2 c2 1 + s2 1 2 (Ixx2 Iyy2 Izz2 )
Izz2 2 + s2 c2 2 (Ixx2 + Iyy2 )

(18)

c3 s2 1 s3 2
33 = R23 22 + 3 z33 = s3 s2 1 c3 2
c2 1 + 3

(19)

Para i = 2

10


c3 (s2 1 + c2 1 2 2 3 ) s3 (2 + s2 1 3 )
33 = R23 22 + R23 22 3 z33 + 3 z33 = s3 (s2 1 + c2 1 2 2 3 ) c3 (2 + s2 1 3 )
c2 1 s2 1 2 + 3

v33 = R23 (22 P32 + 22 (22 P32 ) + v22 ) =

(20)

(21)

 




 


c3 L3 c2 2 12 22 + c2 1 L2 12 a2 + s2 g s3 L3 c2 1 + 2s2 1 2 1 a2 12 L2




 



 

2
2
2
2 2

s3 L3 c2 1 2 + c2 1 L2 1 a2 + s2 g c3 L3 c2 1 + 2s2 1 2 1 a2 1 L2





L3 2 + s2 c2 12 s2 1 L2 12 a2 + c2 g

Para la siguiente ecuacin se asignan variables para cada elemento de la matriz, desarrollando
despus cada una:


v11

3
3
3
vc3
= 33 Pc3
+ 33 33 + Pc3
+ v33 = v21
v31

(22)

donde:

2
2
2
v11 = Le ((s3 s2 1 + c3 2 )2 + (c2 1 + 3 )2 ) + c3 (L3 (c22 1 2 ) + c2 (1 L2 1 a2 ) + s2 g)
2
s3 (L3 (c2 1 + 2s2 1 2 ) 1 a2 1 L2 )
2
2
v21 = Le ((c2 1 s2 1 2 + 3 ) (c3 s2 1 s3 2 )(s3 s2 1 + c3 2 )) s3 (L3 (c22 1 2 ) + c2 (1 L2
2
2
1 a2 ) + s2 g) c3 (L3 (c2 1 + 2s2 1 2 ) 1 a2 1 L2 )
2
v31 = Le (s3 (s2 1 + c2 1 2 2 3 ) + (c3 (2 + s2 1 3 ) + (c3 s2 1 s3 2 )(c2 1 + 3 )) + L3 (2 + s2 c2 1 )
2
s2 (1 L2 1 a2 ) + c2 g
3
F33 = m3 vc3

v11
3

F3 = m3 v21
v31

N33 = I3c3 33 + 33 I3c3 33


Izz3 (s3 s2 1 c3 2 )(c2 1 + 3 ) Iyy3 (s3 s2 1 c3 2 )(c2 1 + 3 ) + ...
Izz3 (c3 s2 1 s3 2 )(c2 1 + 3 ) + Ixx3 (c3 s2 1 s3 2 )(c2 1 + 3 ) + ...
Iyy3 (s3 s2 1 c3 2 )(c3 s2 1 s3 2 ) Ixx3 (s3 s2 1 + c3 2 )(c3 s2 1 s3 2 ) + ...

...Ixx3 (c3 (s2 1 + c2 1 2 2 3 ) s3 (2 + s2 1 3 ))


...Iyy3 (s3 (s2 1 + c2 1 2 2 3 ) c3 (2 + s2 1 3 ))
...Izz3 (c2 1 s2 1 2 + 3 )

N33

Iteraciones internas
1

Para i=3

11

(23)

(24)

f33 = Re3 fee + F33 = F33

(25)

2
2
Le ((s3 s2 1 + c3 2 )2 + (c2 1 + 3 )2 ) + c3 (L3 (c22 1 2 )...

f33 = m3 Le ((c2 1 s2 1 2 + 3 ) (c3 s2 1 s3 2 )(s3 s2 1 + c3 2 )) s3 (L3 (c22 1 2 2 2 )...


Le (s3 (s2 1 + c2 1 2 2 3 ) + (c3 (2 + s2 1 3 )...

2
2
... + c2 (1 L2 1 a2 ) + s2 g) s3 (L3 (c2 1 + 2s2 1 2 ) 1 a2 1 L2 )

2
2
... + c2 (1 L2 1 a2 ) + s2 g) c3 (L3 (c2 1 + 2s2 1 2 ) 1 a2 1 L2 )
2
2
... + (c3 s2 1 s3 2 )(c2 1 + 3 )) + L3 (2 + s2 c2 1 ) s2 (1 L2 1 a2 ) + c2 g

3
n33 = N33 + Re3 nee + Pc3
F33 + Pe3 Re3 fee

Ixx3 (c3 (s2 1 + c2 1 2 2 3 ) s3 (2 + s2 1 3 )) Iyy3 (s3 s2 1 c3 2 )(c2 1 + 3 ) + ...


n33 = Iyy3 (s3 (s2 1 + c2 1 2 2 3 ) c3 (2 + s2 1 3 )) + Izz3 (c3 s2 1 s3 2 )(c2 1 + 3 ) + ...
Izz3 (c2 1 s2 1 2 + 3 ) + Iyy3 (c3 s2 1 s3 2 )(s3 s2 1 c3 2 ) Ixx3 (s3 s2 1 c3 2 )...

...Izz3 (s3 s2 1 c3 2 )(c2 1 + 3 ))


...Ixx3 (c2 1 + 3 )(c3 s2 1 s3 2 )) L2e m3 (s3 (s2 1 + c2 1 2 2 3 ) + c3 (2 + s2 1 3 )...
...(c3 s2 1 s3 2 ) + L2e m3 ((c2 1 s2 1 2 + 3 ) (c3 s2 1 s3 2 )(s3 s2 1 ...
.

... + (c3 s2 1 s3 2 )(c2 1 + 3 )) Le m3 (L3 (2 + s2 c2 1 2 ) s2 (1 L2 1 2 a2 ) + c2 g)


... + c3 2 )) + Le m3 (s3 (L3 (c2 2 1 2 2 2 ) + c2 (1 L2 1 2 a2 ) + s2 g) c3 (L3 (c2 1 ...

. 


... + 2s2 1 2 ) 1 a2 1 2 L2 ))) Ixx3 ( s2 s3 1 c3 2 c3 s2 1 s3 2 )
2
2
3 = (n33 )T z33 = Izz3 (c2 1 s2 1 2 + 3 ) + Iyy3 (c3 s3 s22 1 + s2 s3 2 1 2 s2 c3 2 1 2 + c3 s3 2 )
2
2
2
+Ixx3 (s22 s3 c3 1 s2 s23 1 2 + s2 c23 1 2 s3 c3 2 ) + L2e m3 (c2 1 s2 1 2 + 3 s22 s3 c3 1
2
c23 s2 1 2 + s23 s2 1 2 + c3 s3 2 ) + Le m3 (s3 L3 c2 2 12 + s3 L3 22 s3 c2 L2 1
+s3 c2 a2 12 s2 s3 g + c3 L3 c2 1 c3 L3 2s2 1 2 + c3 a2 1 + c3 L2 12 )
(26)

Siguiendo el mismo procedimiento anterior ahora iteramos


para i= 2 y para i=1 y determinamos los pares correspondientes.

12

Para i=2

f22 = R32 f33 + F22

(27)

2
n22 = N22 + R32 n33 + Pc2
F22 + p23 R32 f33

(28)

2 = (n22 )T z22

(29)

2 = Izz2 2 s2 c2 12 Ixx2 + s2 c2 12 Iyy2 + Ixx3 (s3 c3 s2 1 s3 c3 c2 1 2 + s3 c3 2 3 + s23 2 + s23 s2 1 3


c23 s2 c2 12 c23 s2 1 3 + c3 s3 c2 1 2 + c3 s3 2 3 ) + Iyy3 (s3 s2 1 3 + c2 c3 1 2 + c3 2 3 + c3 s3 s2 1 c3 c +
c3 s3 c2 1 2 c3 s3 2 3 + c23 2 + c3 s2 1 3 ) + Izz3 (s3 s2 c2 12 s3 s2 1 3 c3 c2 1 2 c3 2 3 + c23 s2 c2 12 +
2
c23 s2 1 3 c3 s3 c2 1 2 c3 s3 2 3 )+Le 2 c3 m3 (s3 s2 1 +s3 c2 1 2 s3 2 3 +c3 2 +c3 s3 1 3 +c3 s2 c2 1 +
2
2
c3 s2 1 3 s3 c2 1 2 s3 2 3 ) + Le c3 m3 (L3 2 + L3 s2 c2 1 s2 L2 1 + s2 a2 1 + c2 g) + Lcx2 2 m2 (2
2
2
s2 c2 1 ) Lcx2 s2 m2 (L2 1 a2 1 ) + Lcx2 c2 m2 g + Le L3 m3 (s3 s2 1 s3 c2 1 2 s3 2 3 + c3 2 + c3 s2 1 3 +
2
2
2
c3 s2 c2 1 + c3 s2 1 3 s2 c2 1 2 s3 2 3 ) + L23 m3 (2 + s2 c3 1 ) + s2 m3 L3 (L2 1 + a2 1 ) + c2 gm3 L3
1

Para i=1

f11 = R21 f22 + F11

(30)

1
n11 = N11 + R22 n22 + Pc1
xF11 + p22 xR21 f22

(31)

1 = (n11 )T z11

(32)

1 = 1 Izz1 +a1 (s2 m3 (Le (22 (12 c22 )Le ((12 +s22 s3 +2(1 (2 s2 s3 c3 a1 c2 +(22 c3 L3 ((22 +(12 c22 )
12 a1 )c2 + gs2 )) c2 (c3 m3 (Le (22 12 c22 ) Le (12 + s22 s3 + 21 2 s3 c3 a1 c2 + 22 c3 L3 (22 + 12 c22 )
12 a1 c2 +gs2 )s3 m3 (Le 3 +Le (12 s2 c22 + 1 2 s2 s23 + 22 s3 c3 +L3 (12 s2 c2 +L3 (12 s2 c2 +L3 2 + 12 a1 s2 +
gc2 ) + s2 (c3 (Ixx3 (1 s2 c3 + 1 2 c2 c3 2 s3 1 2 s2 s3 2 3 c3 ) Iyy3 (1 c2 + 3 )(1 s2 s3 2 c3 ) +
Izz3 (1 s2 s3 2 c3 )(1 c2 + 3 )) s2 (Ixx3 (1 c2 + 3 )(1 s1 c3 2 s3 ) + Iyy3 (1 s2 s3 1 3 c2 s3
2 c3 1 3 c3 s2 + 2 3 s3 ) + Izz3 (1 s1 c3 2 s3 )(1 c2 + 3 ) + L2 m3 (L2 3 + Le(12 s22 s3 c3 1 2 s2 c23 +
1 2 s2 s23 + 22 s2 c3 + L3 (12 s2 c2 ) + L3 2 + 12 a1 s2 ) + gc 2))) + c2 (s3 m3 (Le (22 12c22 ) Le (12 + s22 s3 +

21 2 s2 s3 c2 a1 c2 + 22 c3 ) L3 (22 + c122 ) 12 a1 c2 + gs 2) + c3 m3 (L2 3 + Le (12 s22 )s3 c3 1 2 s2 c23 +


1 2 s2 s23 + 22 s3 c3 ) + L3 (12 s2 c2 + L3 2 + 12 a1 s2 + gc2) + m2 (L2 (22 12 s1 c2 ) + 12 a1 s2 + gc 2)) +
(L2 m2 (L2 (1 c2 )+1 2 s2 1 a1 )+L2 m3 (L3 e(1 s1 s3 +1 3 c2 s3 +1 c3 +1 3 s2 c3 2 3 s3 )+Le (12 s2 c2 c3 +
1 2 c2 s3 2 3 s3 ) + L3 1 3 s2 + L3 (1 s2 + 1 2 c2 ) 1 a1 ))
Finalmente desarrollando y simplicando trminos se obtienen las siguientes matrices correspondientes M,B,C y G.

Para la matriz M de masa:

13

m11 m12 m13


M (q) = m21 m22 m23
m31 m32 m33

(33)

donde:

m11 = Izz1 + Ixx2 s22 + Iyy2 c22 + Ixx3 (s2 c3 )2 + Iyy3 (s2 s3 )2 + Izz3 c22 + m1 (L2cx1 + L2cy1 ) +
m2 (c2 Lcx2 )2 + 2m2 c2 a2 Lcx2 + m2 a22 + m2 L22 + m3 (c2 c3 Le )2 + 2m3 c22 c3 L3 Le + 2m3 c2 c3 Le a2 +
m3 (c2 L3 )2 + 2m3 c2 L3 a2 + m3 a22 + m3 L22 2m3 s3 L2 Le + m3 (s3 Le )2
m12 = Ixx3 s2 s3 c3 +Iyy3 s2 s3 c3 m2 s2 Lcx2 L2 m3 s2 c3 L2 Le m3 s2 L2 L3 +m3 s2 s3 c3 L2e +m3 s2 s3 L3 Le
m13 = Izz3 c2 + m3 c2 L2e + m3 c2 c3 L3 Le + m3 c3 Le a2 m3 s3 c2 L2 Le
m21 = Ixx3 s2 s3 c3 +Iyy3 s2 s3 c3 m2 s2 Lcx2 L2 m3 s2 c3 L2 Le m3 s2 L2 L3 +m3 s2 s3 c3 L2e +m3 s2 s3 L3 Le
m22 = Izz2 + Ixx3 s23 + Iyy3 c23 + m2 L2cx2 + m3 (c3 Le )2 + 2m3 c3 L3 Le + m3 L23
m23 = 0
m31 = Izz3 c2 + m3 c2 L2e + m3 c2 c3 L3 Le + m3 c3 Le a2 m3 s3 c2 L2 Le
m32 = 0
m33 = Izz3 + m3 L2e
Para la matriz C de fuerzas centrfugas tenemos que:

c11 c12 c13


C(q)q2 = c21 c22 c23 q2
c31 c32 c33

(34)

donde:

c11 = 0
c12 = Ixx3 c2 s3 c3 +Iyy3 c2 s3 c3 m2 c2 Lcx2 L2 m3 c2 c3 L3 Le m3 c2 L2 L3 +m3 c2 s3 c3 L2e +m3 c2 s3 L3 Le
c13 = m3 c2 s3 L3 Le m3 s3 Le a2 m3 c3 c2 L2 Le
c21 = Ixx2 s2 c2 + Iyy2 c2 s2 Ixx3 c23 s2 c2 Iyy3 s23 c2 s2 + Izz3 c2 s2 + m2 c2 s2 L2cx2 + m2 s2 a2 Lcx2 +
m3 c2 s2 c23 L2e + 2c2 m3 s2 c3 L3 Le + m3 s2 c3 Le a2 + m3 c2 s2 L23 + m3 s2 L3 a2
c22 = 0
c23 = 0
c31 = Ixx3 s22 c3 s3 Iyy3 s22 c3 s3 s3 s22 c3 m3 L2e + m3 c22 s3 L3 Le + m3 c2 s3 Le a2 + m3 c3 L2 Le
c32 = Ixx3 c3 s3 + Iyy3 s3 c3 + m3 s3 L2e c3 + m3 s3 L3 Le
c33 = 0
Para la matriz B de fuerzas de Coriolis tenemos que:

b11 b12 b13


q1 q2
B(q)(qq)
= b21 b22 b23 q1 q3
b31 b32 b33
q2 q3

(35)

b11 = 2Ixx2 s2 c2 2Iyy2 c2 s2 + 2Ixx3 s2 c2 c23 + 2Iyy3 s2 c2 s23 2Izz3 c2 s2 2m2 c2 s2 L2cx2 2m2 s2 a2 Lcx2
2m3 c2 s2 c23 L2e 4m3 c2 s2 c3 L3 Le 2m3 s2 c3 Le a2 2m3 c2 s3 L23 2m3 s2 L3 a2
b12 = 2Ixx3 s22 s3 c3 + 2Iyy3 s22 s3 c3 2m3 c22 L2e s3 c3 2m3 c22 s3 L3 Le 2m3 c2 s3 Le a2 2m3 c3 L2 Le +
2m3 c3 L2e
b13 = Ixx3 s2 c23 + Ixx3 s2 s23 + Iyy3s2 c23 Iyy3 s2 s23 + m3 s2 L2e + 2m3 s2 c3 L3 Le + Izz3 s2
b21 = 0
14

b22 = Ixx3 s2 (s23 c23 ) + Iyy3 s2 (c23 s23 ) + Izz3 s2 + 2m3 Le L3 c3 s2 + 2m3 L2e c23 s2
b23 = 2Ixx3 c3 s3 2Iyy3 c3 s3 2c3 s3 L2e m3 2s3 L3 Le m3
b31 = s2 s23 Ixx3 + s2 c23 Ixx3 + s2 s23 Iyy3 s2 c23 Iyy3 s2 Izz3 L2e m3 s2 L2e m3 s2 c23 + L2e m3 s2 s23
Le m3 c3 L3 2s2
b32 = 0
b33 = 0
Finalmente se obtiene la matriz G de pares gravitacionales:

0
G(q) = gm2 c2 Lcx2 + m3 c2 gLe c3 + m3 c2 gL3
m3 Le s2 s3 g

15

(36)

3.2.2. Mtodo Directo

Mtodo Directo
Los vectores que ubican el centro de masa de cada eslabn con respeto a su sistema de referencia son:

lcx1
lcx2
le
1
2
3
= lcy1 Pc2
= 0 Pc3
= 0
Pc1
0
0
0
Para obtener los jacobianos de velocidad angular es necesario tener los vectores de posicin de los centros
de masa con respecto al sistema de referencia 0

0
lcx1
lcx1 c1 lcy1 s1

0
lcy1 = lcx1 s1 + lcy1 c1

0 0
0
1
1
1

c1 c2 c1 s2 s1 a2 c1 + L2 s1
lcx2
lcx2 c1 c2 + a2 c1 + L2 s1
s1 c2 s1 s2 c1 a2 s1 L2 c1 0 lcx2 s1 c2 + a2 s1 L2 c1
0
=

=
Pc2
s2
0

c2
0
0
lcx2 s2
0
0
0
1
1
1


c1 c2 c3 s1 s3 c1 c2 s3 s1 c3 c1 s2 L3 c1 c2 + a2 c1 + L2 s1
Le

s
c
c
+
c
s
s
c
s
+
c
c
s
s
L
s
c
+
a
s

L
c
1 2 3
1 3
1 2 3
1 3
1 2
3 1 2
2 1
2 1 0
0
Pc3
=

s 2 c3
s2 s3
c2
L3 s2
0
0
0
0
1
1

Le (c1 c2 c3 s1 s3 ) + L3 c1 c2 + a2 c1 + L2 s1
Le (s1 c2 c3 + c1 s3 ) + L3 s1 c2 + a2 s1 L2 c1
0

=
Pc3

le s2 c3 + L3 s2
1

0 0 0
0 s1 0
0 s1 c1 s2
0
0
0
= 0 c1 0 J3
= 0 c1 s1 s2
J1
= 0 0 0 J2
1 0 0
1 0 0
1 0
c2
c1 s1

s
c1
1
0
=
Pc1
0
0
0
0

0
0
1
0

Para los jacobianos de velocidad lineal se obtienen las parciales de los vectores de posicin de cada
matriz de transformacin homognea

0
Jv3

lcx1 s1 lcy1 c1 0 0
s1 (c2 Lcx2 + a2 ) + L2 c1 lcx2 s2 0
0
0
Jv1
= lcx1 c1 lcy1 s1 0 0 Jv2
= c1 (c2 Lcx2 + a2 ) + L2 s1 s2 s1 Lcx2 0
0
0 0
0
lcx2 c2
0

s1 (c2 (Le c3 + L3 ) + a2 ) + c1 (L2 Le s3 ) c1 s2 (Le c3 + L3 ) Le (c1 c2 s3 + s1 c3 )


= c1 (c2 (Le c3 + L3 ) + a2 ) + s1 (L2 Le s3 ) s1 s2 (Le c3 + L3 ) Le (c1 c3 s1 c2 s3 )
0
c2 (Le c3 + L3 )
Le s2 s3

Para encorar las matriz de masa usando los jacobianos, necesitan estar referenciados a su sistema de
referencia entonces:

16

T
c1 s1 0
= s1 c1 0
0
0 1

0
1
c1
= (R10 ) J1
= J1
J1

0 0 0
0 0 0
0 0 0 = 0 0 0
1 0 0
1 0 0

c2
2
0
J2
= J2
= (R20 ) J2

c1 c2
s 1 c2 s 2
0 s1 0
s2 0 0
s 2 c1 c2 s 1 c1 c2 s 1 0
= c1 s2 s1 s2 c2 0 c1 0 = c2 c1 s1 s2 + c1 s1 s2 0 = c2 0 0
s1
c1
0
1 0 0
0
0 1 0
0
s21 + c21

0
3
c3
= (R30 ) J3
= J3
J3

c1 c2 c3 s 1 s 3
s 1 c2 c3 + c1 s 3
s 2 c3
0 s1 c1 s2
s2 c3 s3 0
= c1 c2 s3 s1 c3 s1 c2 s3 + c1 c3 s2 s3 0 c1 s1 s2 = s2 s3 c3 0
c1 s2
s1 s2
c2
1 0
c2
c2
0 1

c1
c1 c1
(J1
) Ic1
Jw1

c2
c2 c2
(J2
) Ic2
Jw2

0 0 1 Ixx1 0
0
0 0 0
Izz1 0 0
= 0 0 0 0 Iyy1 0 0 0 0 = 0 0 0
0 0 0
0
0 Izz1
1 0 0
0 0 0


s2 c2 0 Ixx2 0
0
s2 0 0
Ixx2 s2 2 + Iyy2 c2 2 0 0
0
Izz2 0
= 0 0 1 0 Iyy2 0 c2 0 0 =
0 0 0
0
0 Izz2
0 1 0
0
0 0

s2 c3 s2 s3 c2
Ixx3 0
0
s 1 c3
c3 T c3 c3
) Ic3 Jw3 = s3 c3 0 0 Iyy3 0 s2 s3
(J3
0
0
1
0
0 Izz3
c2

2
2
2
Ixx3 (s2 c3 ) + Iyy3 (s2 s3 ) + Izz3 c2 Ixx3 s2 s3 c3 + Iyy3 s2 s3 c3

Ixx3 s2 s3 c3 + Iyy3 s2 s3 c3
Ixx3 s23 + Iyy3 c23
Izz3 c2
0

s3 0
c3 0 =
0 1
Izz3 c2
0
Izz3

A partir de la suma de los jacobianos de velocidad angular y lineal se construye la matriz de masa

0 T 0
0 T 0
0 T 0
c1 c1
c2 c2
c3 c3
M = m1 (Jv1
) Jv1 + m2 (Jv2
) Jv2 + m3 (Jv3
) Jv3 + (Jc11 )T Ic1
Jw1 + (Jc22 )T Ic2
Jw2 + (Jc33 )T Ic3
Jw3

m11 m12 m13


M (q) = m21 m22 m23
m31 m32 m33

(37)

donde:

m11 = Izz1 + Ixx2 s22 + Iyy2 c22 + Ixx3 (s2 c3 )2 + Iyy3 (s2 s3 )2 + Izz3 c22 + m1 (L2cx1 + L2cy1 ) + m2 (c2 Lcx2 )2 +
2m2 c2 a2 Lcx2 + m2 a22 + m2 L22 + m3 (c2 c3 Le )2 + 2m3 c22 c3 L3 Le + 2m3 c2 c3 Le a2 + m3 (c2 L3 )2 + 2m3 c2 L3 a2 +
m3 a22 + m3 L22 2m3 s3 L2 Le + m3 (s3 Le )2
m12 = Ixx3 s2 s3 c3 + Iyy3 s2 s3 c3 m2 s2 Lcx2 L2 m3 s2 c3 L2 Le m3 s2 L2 L3 + m3 s2 s3 c3 L2e + m3 s2 s3 L3 Le
m13 = Izz3 c2 + m3 c2 L2e + m3 c2 c3 L3 Le + m3 c3 Le a2 m3 s3 c2 L2 Le
m21 = Ixx3 s2 s3 c3 + Iyy3 s2 s3 c3 m2 s2 Lcx2 L2 m3 s2 c3 L2 Le m3 s2 L2 L3 + m3 s2 s3 c3 L2e + m3 s2 s3 L3 Le
m22 = Izz2 + Ixx3 s23 + Iyy3 c23 + m2 L2cx2 + m3 (c3 Le )2 + 2m3 c3 L3 Le + m3 L23
m23 = 0
m31 = Izz3 c2 + m3 c2 L2e + m3 c2 c3 L3 Le + m3 c3 Le a2 m3 s3 c2 L2 Le
m32 = 0
m33 = Izz3 + m3 L2e
17

Usando los simbolos de Christoel se obtendran la matriz de Coriolis y la matriz de fuerzas centrifugas.
Para la matriz de fuerzas centrfugas se tiene:

b111 b122 b133


C(q)q2 = b211 b222 b233 q2
b311 b322 b333

(38)

donde:

1
bijk = (mijk + mikj mjki )
2
1
1 m11
entonces: b111 = (m111 ) =
2
2 q1
1 m12
1
b122 = (2m122 m221 ) = (2
2
2 q2
1
1 m13
b133 = (2m133 m331 ) = (2
2
2 q3
1
1 m21
b211 = (2m211 m112 ) = (2
2
2 q1
1 m22
1
)
b222 = (m222
2
2 q2
1
1 m23
b233 = (2m233 m332 ) = (2
2
2 q3
1
1 m31
b311 = (2m311 m113 ) = (2
2
2 q1
1 m32
1
b322 = (2m322 m223 ) = (2
2
2 q2
1
1 m33
b333 = (m333 ) =
2
2 q3

m22
)
q1
m33

)
q1
m11

)
q2

m33
)
q2
m11

)
q3
m22

)
q3

Por lo tanto:

b111 = 0
b122 = Ixx3 c2 s3 c3 + Iyy3 c2 s3 c3 m2 c2 Lcx2 L2 m3 c2 c3 L3 Le m3 c2 L2 L3 + m3 c2 s3 c3 L2e + m3 c2 s3 L3 Le
b133 = m3 c2 s3 L3 Le m3 s3 Le a2 m3 c3 c2 L2 Le
b211 = Ixx2 s2 c2 + Iyy2 c2 s2 Ixx3 c23 s2 c2 Iyy3 s23 c2 s2 + Izz3 c2 s2 + m2 c2 s2 L2cx2 + m2 s2 a2 Lcx2 + m3 c2 s2 c23 L2e +
2c2 m3 s2 c3 L3 Le + m3 s2 c3 Le a2 + m3 c2 s2 L23 + m3 s2 L3 a2
b222 = 0
b233 = 0
b311 = Ixx3 s22 c3 s3 Iyy3 s22 c3 s3 s3 s22 c3 m3 L2e + m3 c22 s3 L3 Le + m3 c2 s3 Le a2 + m3 c3 L2 Le
b322 = Ixx3 c3 s3 + Iyy3 s3 c3 + m3 s3 L2e c3 + m3 s3 L3 Le
b333 = 0
Para la matriz de Fuerzas de Coriolis se tiene:

2b112 2b113 2b123


q1 q2
B(q)(qq)
= 2b212 2b213 2b223 q1 q3
2b312 2b313 2b323
q2 q3
18

(39)

donde siguiendo el mismo procedimiento se obtiene:

m11
q2
m11
= (m113 + m131 m221 ) = (
q3
m12
= (m123 + m132 m231 ) = (
q3
m21
= (m212 + m221 m122 ) = (
q2
m21
= (m213 + m231 m132 ) = (
q3
m22
= (m223 + m232 m232 ) = (
q3
m31
= (m312 + m321 m123 ) = (
q2
m31
= (m313 + m331 m133 ) = (
q3
m32
= (m323 + m332 m233 ) = (
q3

2b112 = (m112 + m121 m121 ) =


2b113
2b123
2b212
2b213
2b223
2b312
2b313
2b323

m13
q1
m13
+
q2
m22
+
q1
m23
+
q1
+

m31
)
q1
m23

)
q1
m12

)
q2
m13

)
q2

m32 m12

)
q1
q3
m33 m13
+

)
q1
q3
m33 m33
+

)
q2
q3
+

Por lo tanto:

2b112 = 2Ixx2 s2 c2 2Iyy2 c2 s2 +2Ixx3 s2 c2 c23 +2Iyy3 s2 c2 s23 2Izz3 c2 s2 2m2 c2 s2 L2cx2 2m2 s2 a2 Lcx2 2m3 c2 s2 c23 L2e
4m3 c2 s2 c3 L3 Le 2m3 s2 c3 Le a2 2m3 c2 s3 L23 2m3 s2 L3 a2
2b113 = 2Ixx3 s22 s3 c3 + 2Iyy3 s22 s3 c3 2m3 c22 L2e s3 c3 2m3 c22 s3 L3 Le 2m3 c2 s3 Le a2 2m3 c3 L2 Le + 2m3 c3 L2e
2b123 = Ixx3 s2 c23 + Ixx3 s2 s23 + Iyy3s2 c23 Iyy3 s2 s23 + m3 s2 L2e + 2m3 s2 c3 L3 Le + Izz3 s2
2b212 = Iyy3 c2 c3 Izz3 c2 c3 + c3 Iyy3 s3 c2 c3 Izz3 s3 s2 + m3 Le L3 s3 c2 m3 L3 Le s2 c2
2b213 = s3 Ixx3 c3 +Iyy3 c3 Izz3 c3 +Ixx3 s3 c3 c3 Iyy3 s3 c3 s3 Izz3 c3 L2e m3 s3 c3 L2e m3 s3 m3 L3 Le s2 m3 L3 Le s3
2b223 = s3 Ixx3 s2 s3 + Iyy3 s3 s2 Izz3 s2 s3 Ixx3 c23 s2 + c3 Iyy3 s2 + c3 Izz3 c3 s2 c3 L2e m3 c3 s2 + c3 L2e m3 c3 s2 + 2m3 L
3Le c3 s2
2b312 = s2 s23 Ixx3 + s2 c23 Ixx3 + s2 s23 Iyy3 s2 c23 Iyy3 s2 Izz3 L2e m3 s2 L2e m3 s2 c23 + L2e m3 s2 s23 Le m3 c3 L3 2s2
2b313 = 0
2b323 = 0
Ahora se obtienen los pares gravitacionales a partir de los jacovianos de velocidad lineal y la masa de
cada uno de los eslabones:

G(q) = m1 Jv1 0 g + m2 Jv2 0 g + m3 Jv3 0 g


donde:


0
0

m1 Jv1 g = 0
0

0
m2 Jv2 0 g = gm2 c2 lcx2
0

19

(40)

0
m3 Jv3 0 g = m3 c2 gLe c3 m3 c2 gL3
m3 Le s2 s3 g
Finalmente la matriz G de pares gravitacionales resulta:

0
G(q) = gm2 c2 Lcx2 + m3 c2 gLe c3 + m3 c2 gL3
m3 Le s2 s3 g

20

(41)

3.2.3. Mtodo usando Lagrangiano

Mtodo usando Lagrangiano

4.

Euler-Lagrange(cinemtica directa)
El mtodo Euler-Lagrange se basa en un balance de energas de la dinmica, para su empleo en un robot

manipulador se sigue la siguiente expresin para la energa cintica.

Tk = Tv + T

(42)

Tk = Tv(0) + T(1,2,3)

(43)

0
0
0
0
0
0
)T (Jvc1
)T + m2 (Jvc2
)T (Jvc2
)T + m3 (Jvc3
)T (Jvc3
)T +
Tk = 12 qT (m1 (Jvc1
1 T
1
1
2 T
2
2
3 T
3
3
(J1 ) (Ic1 )(J1 ) + (J2 ) (Ic2 )(J2 ) + (J3 ) (Ic3 )(J3
))
Esta expresin se divide en trminos de la energa cintica debida al movimiento lineal del centro de
masa del eslabn referenciada a la base del maipulador y trminos de energa cintica debida al movimiento
rotacional del centro de masa de cada eslabn al sistema del mismo. Tanto las velocidades lineales y
angulares son funcion de

por lo que la expresin anterior puede expresarse como

1
Tk = qT M (q)q
2

(44)

donde M es la matriz de masa de 3x3 para este manipulador, la cual anlogamente al concepto de que la
masa de un elemento es positiva se considera como una matriz positiva denida. La energa potencial se
dene como

0 T 0
0 T 0
0 T 0
U = (m1 (Pc1
) g + m2 (Pc2
) g + m3 (Pc3
) g )
en donde

g0

(45)

es el vector de gravedad de 3x1;Pc son los vectores que ubican el centro de masa de cada uno

de los eslabones.
La formulacin lagrangiana para la dinmica de un robot emplea una funcin escalar que permite derivar
las ecuaciones de movimeinto conocida como lagrangiano, el cual es la diferencia entre la energa cintica y
la energa potencial de un sistema, esta funcin se expresa como

L(q, q)
= Tk (q, q)
U (q)

(46)

lo que nos permite obtener los pares requeridos en cada junta empleando la siguiente ecuacin

d L L

=
dt q
q
entonces se denen cada uno de los elementos que se emplearan en la formulacin anterior teniendo:

1 Los superndices de la ecuacin 43 indican el sistema de referencia en el cual estan siendo obtenidos

21

(47)

c1 s1 0 0
Lcx1
Lcx1 c1 Lcy1 s1
s1 c1 0 0 Lcy1 Lcx1 s1 + Lcy1 c1
0
1

Pc1
= R10 Pc1
= T10 =
0

0 1 0 0
0
0
0 0 1
1
1

c1 c2 c1 s2 s1 a2 c1 + L2 s1
Lcx2
Lcx2 c1 c2
s1 c2 s1 s2 c1 a2 s1 L2 c1 0 Lcx2 s1 c2
2
0

= T20 =
= R10 Pc2
Pc2
s2
0 = Lcx2 s2
c2
0
0
0
0
0
1
1
1

c1 c2 c3 s1 s3 c1 c2 s3 s1 c3 c1 s2 L3 c1 c2 + a2 c1 + L2 s1
Le
Le (c1 c2 c3 s1 s3 )
s1 c2 c3 + c1 s3 s1 c2 s3 + c1 c3 s1 s2 L3 s1 c2 + a2 s1 L2 c1 0 Le (s1 c2 c3 + c1 s3 )
0
3
=

Pc3
= R30 Pc3
= T30 =

s 2 c3
s2 s3
c2
L 3 s2
Le (s2 c3 )
0
0
0
1
1
1

0
Jvc1

(s1 Lcx1 + c1 Lcy1 ) 0 0


s1 c2 Lcx2 c1 s2 Lcx2 0
0
s1 c2 Lcx2 0
= (c1 Lcx1 s1 Lcy1 ) 0 0 Jcv2
= c1 s2 Lcx2
0
0 0
0
c2 Lcx2
0

0
Jvc3

Le (s1 c2 c3 + cc1 s3 ) Le (c1 s2 c3 s1 c3 ) Le (c1 c2 s3 s1 c3 )


Le (s1 s2 c3 )
Le (s1 c2 s3 c1 c3 )
= Le (c1 c2 c3 s1 s3 )
0
L e c2 c3
Le s2 s3
1
Jw1

c1 s2
s1 s2
c2

0 0 0
s1 s1 c1 c2 + c21 s2 0
2
= 0 0 0 Jw2
= c1 s21 c2 + s1 s2 c1 0
1 0 0
s2 s1
c2 c1
0

3
=
Jw3

s1 (cc1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ) (c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3 s1 c3 )(s1 s2 ) c1 s2 c2


s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 ) (s1 c2 c3 + c1 s3 )(c1 s2 ) + (s1 c2 s3 + c1 c3 )(s1 s2 ) s1 s2 c2
s 2 c2 s 1 + s 2 s 3 c1
s22 c3 c1 + s22 s3 s1 + c22

y seccionamos en elementos la ecuacin para la energa cintica


donde:

0
0
a = m1 (Jvc1
)T (Jvc1
)T

2
2
m1 (s1 Lcx1 + c1 Lcy1 ) + (c1 Lcx1 s1 Lcy1 ) 0 0
a=
0
0 0
0
0 0
0
0
b=m2 (Jvc2
)T (Jvc2
)T

2
2
(s1 c2 Lcx2 ) + (c1 s2 Lcx2 )
2(c1 s2 Lcx2 )(s1 c2 Lcx2 )
0
2
2
2
b = 2(c1 s2 Lcx2 )(s1 c2 Lcx2 )
(c1 s2 Lcx2 ) + (s1 c2 Lcx2 ) + (c2 Lcx2 ) 0
0
0
0
0
0
c=m3 (Jvc3
)T (Jvc3
)T

22

j k l
m n o
p q r
donde
2

j = Le (s1 c2 c3 + c1 s3 )) + (Le (c1 s2 c3 ))

k = (Le (s1 c2 c3 + c1 s3 ))(Le (c1 s2 c3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 s2 c3 ))


l = c((s1 c2 c3 + c1 s3 ))(Le (c1 c2 s3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 c2 s3 c1 c3 )
m = (Le (s1 c2 c3 + c1 s3 ))(Le (c1 s2 c3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 s2 c3 ))
2

n = (Le (c1 s2 c3 s1 c3 ) + (Le (s1 s2 c3 )) + (Le c2 c3 )

o = (Le (c1 s2 c3 s1 c3 ))(Le (c1 c2 s3 s1 c3 )) + (Le (s1 s2 c3 ))(Le (s1 c2 s3 c1 c3 )) (Le c2 c3 )(Le s2 s3 )
p = ((s1 c2 c3 + c1 s3 ))(Le (c1 c2 s3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 c2 s3 c1 c3 )
q = (Le (c1 s2 c3 s1 c3 ))(Le (c1 c2 s3 s1 c3 )) + (Le (s1 s2 c3 ))(Le (s1 c2 s3 c1 c3 )) (Le c2 c3 )(Le s2 s3 )
2

r = (Le (c1 c2 s3 s1 c3 )) + (Le (s1 c2 s3 c1 c3 )) + ((Le s2 s3 )

1
1
1 T
)(Jw1
)
) (Ic1
d= Jw1

Izz1 0 0
d = 0 0 0
0 0 0
2 T
2
2
e= (Jw2
) (Ic2
)(Jw2
)

s t u
v w x
y z ll
s = Ixx2 s21 Iyy2 c21 + Izz2 (s2 s1 )2
t = Ixx2 (s21 c1 c2 + c21 s1 s2 ) Iyy2 (s21 c1 c2 + c21 s1 s2 ) Izz2 (s2 s1 c2 c1 )
23

(48)

u=0
v = Ixx2 (s21 c1 c2 + c21 s1 s2 ) Iyy2 (s21 c1 c2 + c21 s1 s2 ) Izz2 (s2 s1 c2 c1 )
w = Ixx2 (s1 c1 c2 + c21 s2 )2 Iyy2 (s21 c2 + s1 s2 c1 )2 + Izz2 (s21 c2 + s1 s2 c1 )2
x=0
y=0
z=0
ll = 0

3 T
3
3
f= (Jw3
) (Ic3
)(Jw3
)


f = 

= Ixx3 (c1 s2 )2 + Iyy3 (s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ))2 + Izz3 ((c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3
s1 c3 )(s1 s2 ) c1 s2 c2 )2
= Ixx3 (c1 s2 )(s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 )) Iyy3 (s1 s2 )(s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 +
c1 c3 )) + Izz3 (c2 )(s2 c2 s1 + s2 s3 c1 )
= Ixx3 (c1 s2 )(s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 )) Iyy3 (s1 s2 )(s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 +
c1 c3 )) + Izz3 (c2 )(s2 c2 s1 + s2 s3 c1 )
= Ixx3 (c1 s2 )(s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 )) Iyy3 (s1 s2 )(s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 +
c1 c3 )) + Izz3 (c2 )(s2 c2 s1 + s2 s3 c1 )
 = Ixx3 (s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ))2 + Iyy3 (s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 ))2 +
Izz3 (s2 c2 s1 + s2 s3 c1 )2
= Ixx3 (s1 (cc1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ))((c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3 s1 c3 )(s1 s2 ) c1 s2 c2 ) +
Iyy3 (s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 ))((s1 c2 c3 + c1 s3 )(c1 s2 ) + (s1 c2 s3 + c1 c3 )(s1 s2 ) s1 s2 c2 ) +
Izz3 (s2 c2 s1 + s2 s3 c1 )(s22 c3 c1 + s22 s3 s1 + c2 )
= Ixx3 (c1 s2 )((c1 c2 c3 +s1 s3 )(c1 s2 )+(c1 c2 s3 s1 c3 )(s1 s2 )c1 s2 c2 )Iyy3 (s1 s2 )((s1 c2 c3 +c1 s3 )(c1 s2 )+
(s1 c2 s3 + c1 c3 )(s1 s2 ) s1 s2 c2 ) Izz3 (c2 )(s22 c3 c1 + s22 s3 s1 + c2 )

24

= Ixx3 (s1 (cc1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ))((c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3 s1 c3 )(s1 s2 ) c1 s2 c2 ) +


Iyy3 (s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 ))((s1 c2 c3 + c1 s3 )(c1 s2 ) + (s1 c2 s3 + c1 c3 )(s1 s2 ) s1 s2 c2 ) +
Izz3 (s2 c2 s1 + s2 s3 c1 )(s22 c3 c1 + s22 s3 s1 + c2 )
= Ixx3 ((c1 c2 c3 +s1 s3 )(c1 s2 )+(c1 c2 s3 s1 c3 )(s1 s2 )c1 s2 c2 )2 +Iyy3 ((s1 c2 c3 +c1 s3 )(c1 s2 )+(s1 c2 s3 +
c1 c3 )(s1 s2 ) s1 s2 c2 )2 + Izz3 (s22 c3 c1 + s22 s3 s1 + c2 )2

La energa cintica tambin se puede expresar como:

1
Tk = qT M (q)q
2

(49)

donde M es la suma de a,b,c,d,e,f, factores en los cuales se dividieron los elementos de la ecuacin de energa
cintica para simplicar su acomodo, y se expresa

M 11 M 21 M 31
M = M 12 M 22 M 32
M 13 M 23 M 33

25

(50)

los elementos de esta matriz son:


2

M 11 = m1 (s1 Lcx1 + c1 Lcy1 ) + (c1 Lcx1 s1 Lcy1 ) + (s1 c2 Lcx2 ) + (c1 s2 Lcx2 ) + Le (s1 c2 c3 + c1 s3 )) +
2
(Le (c1 s2 c3 )) + Izz1 + Ixx2 s21 Iyy2 c21 + Izz2 (s2 s1 )2 + Ixx3 (c1 s2 )2 + Iyy3 (s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3
s1 c3 ))2 + Izz3 ((c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3 s1 c3 )(s1 s2 ) c1 s2 c2 )2
M 12 = 2(c1 s2 Lcx2 )(s1 c2 Lcx2 ) + (Le (s1 c2 c3 + c1 s3 ))(Le (c1 s2 c3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 s2 c3 )) +
Ixx2 (s21 c1 c2 + c21 s1 s2 ) Iyy2 (s21 c1 c2 + c21 s1 s2 ) Izz2 (s2 s1 c2 c1 ) Ixx3 (c1 s2 )(s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3
s1 c3 )) Iyy3 (s1 s2 )(s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 )) + Izz3 (c2 )(s2 c2 s1 + s2 s3 c1
M 13 = s1 c2 c3 + c1 s3 ))(Le (c1 c2 s3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 c2 s3 c1 c3 ) Ixx3 (c1 s2 )((c1 c2 c3 +
s1 s3 )(c1 s2 ) + (c1 c2 s3 s1 c3 )(s1 s2 ) c1 s2 c2 ) Iyy3 (s1 s2 )((s1 c2 c3 + c1 s3 )(c1 s2 ) + (s1 c2 s3 + c1 c3 )(s1 s2 )
s1 s2 c2 ) Izz3 (c2 )(s22 c3 c1 + s22 s3 s1 + c2 )
M 21 = 2(c1 s2 Lcx2 )(s1 c2 Lcx2 ) + (Le (s1 c2 c3 + c1 s3 ))(Le (c1 s2 c3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 s2 c3 )) +
Ixx2 (s21 c1 c2 + c21 s1 s2 ) Iyy2 (s21 c1 c2 + c21 s1 s2 ) Izz2 (s2 s1 c2 c1 ) + Ixx3 (c1 s2 )(s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3
s1 c3 )) Iyy3 (s1 s2 )(s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 )) + Izz3 (c2 )(s2 c2 s1 + s2 s3 c1 )
2

M 22 = (c1 s2 Lcx2 ) +(s1 c2 Lcx2 ) +(c2 Lcx2 ) +(Le (c1 s2 c3 s1 c3 ) +(Le (s1 s2 c3 )) +(Le c2 c3 ) +Ixx2 (s1 c1 c2 +
c21 s2 )2 Iyy2 (s21 c2 + s1 s2 c1 )2 + Izz2 (s21 c2 + s1 s2 c1 )2 + Ixx3 (s1 (c1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ))2 +
Iyy3 (s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 ))2 + Izz3 (s2 c2 s1 + s2 s3 c1 )2
M 23 = (Le (c1 s2 c3 s1 c3 ))(Le (c1 c2 s3 s1 c3 )) + (Le (s1 s2 c3 ))(Le (s1 c2 s3 c1 c3 )) (Le c2 c3 )(Le s2 s3 ) +
Ixx3 (s1 (cc1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ))((c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3 s1 c3 )(s1 s2 ) c1 s2 c2 ) +
Iyy3 (s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 ))((s1 c2 c3 + c1 s3 )(c1 s2 ) + (s1 c2 s3 + c1 c3 )(s1 s2 ) s1 s2 c2 ) +
Izz3 (s2 c2 s1 + s2 s3 c1 )(s22 c3 c1 + s22 s3 s1 + c2 )
M 31 = c((s1 c2 c3 + c1 s3 ))(Le (c1 c2 s3 s1 c3 )) (Le (c1 s2 c3 ))(Le (s1 c2 s3 c1 c3 ) + Ixx3 (c1 s2 )(s1 (c1 c2 c3
s1 s3 ) + c1 (c1 c2 s3 s1 c3 )) Iyy3 (s1 s2 )(s1 (s1 c2 c3 + c1 s3) + c1 (s1 c2 s3 + c1 c3 )) + Izz3 (c2 )(s2 c2 s1 + s2 s3 c1 )
M 32 = (Le (c1 s2 c3 s1 c3 ))(Le (c1 c2 s3 s1 c3 )) + (Le (s1 s2 c3 ))(Le (s1 c2 s3 c1 c3 )) (Le c2 c3 )(Le s2 s3 ) +
Ixx3 (s1 (cc1 c2 c3 s1 s3 ) + c1 (c1 c2 s3 s1 c3 ))((c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3 s1 c3 )(s1 s2 ) c1 s2 c2 ) +
Iyy3 (s1 (s1 c2 c3 + c1 s 3) + c1 (s1 c2 s3 + c1 c3 ))((s1 c2 c3 + c1 s3 )(c1 s2 ) + (s1 c2 s3 + c1 c3 )(s1 s2 ) s1 s2 c2 ) +
Izz3 (s2 c2 s1 + s2 s3 c1 )(s22 c3 c1 + s22 s3 s1 + c2 )
2

M 33 = (Le (c1 c2 s3 s1 c3 )) + (Le (s1 c2 s3 c1 c3 )) + ((Le s2 s3 ) + Ixx3 ((c1 c2 c3 + s1 s3 )(c1 s2 ) + (c1 c2 s3


s1 c3 )(s1 s2 ) c1 s2 c2 )2 + Iyy3 ((s1 c2 c3 + c1 s3 )(c1 s2 ) + (s1 c2 s3 + c1 c3 )(s1 s2 ) s1 s2 c2 )2 + Izz3 (s22 c3 c1 +
s22 s3 s1 + c2 )2
La energa potencial se expresa como

U = (m1 g(Lcx1 c1 Lcy1 s1 + Lcx1 s1 + Lcy1 c1 ) + m2 g(Lcx2 c1 c2 + Lcx2 s1 c2 + Lcx2 s2 )+


m3 g(Le (c1 c2 c3 s1 s3 ) + Le (s1 c2 c3 + c1 s3 ) + Le (s2 c3 ))

(51)

Entonces el lagrangiano se expresa como

1
L = (q1 (q1 M11 + q2 M12 + q3 M13 ) + q2 (q1 M21 + q2 M22 + q3 M23 ) + q1 (q1 M31 + q2 M32 + q3 M33 ))
2
(m1 g(Lcx1 c1 Lcy1 s1 + Lcx1 s1 + Lcy1 c1 ) + m2 g(Lcx2 c1 c2 + Lcx2 s1 c2 + Lcx2 s2 )+
m3 g(Le (c1 c2 c3 s1 s3 ) + Le (s1 c2 c3 + c1 s3 ) + Le (s2 c3 ))
26

(52)

4.1. Ecuaciones dinmicas con valores reales


A partir del software Solidworks se obtuvieron las caraactersticas del robot, por ejemplo las distancias

L3 ,Le , a2

etc.

La opcin de propiedades fsicas nos permiti conocer el tensor de inercia y las masas de los respectivos
eslabones.
A continuacin se muestran los datos obtenidos:

Eslabn 1
Eslabn 2
Eslabn 3

Ixx1 = 1,39199kgm2 Iyy1 = 1,6017kgm2 Izz1 = 2,8285kgm2


Ixx2 = 0,02127kgm2 Iyy2 = 0,36112kgm2 Izz2 = 0,37489kgm2
Ixx3 = 0,000084759kgm2 Iyy3 = 0,0001992kgm2 Izz3 = 0,0005730kgm2

Masas y distancias

m1 = 1,052kgm2 = 0,44m3 = 0,009a2 = 0,402mL2 = 0,310mL3 = 0,345mLe 0,08mLcx1 = 0,149mLcx2 =


0,068mLcx3 = 0,151m

27

4.2. Control
Control

En esta seccin se presenta el algoritmo de control de la interfaz hptica por medio de diagramas de
bloques de Simulink. Este est dividido en cuatro secciones, que se muestran en la Fig. 5, las cuales son una
funcin de Matlab y tres subsistemas. Se presenta una explicacin detallada de cada seccin o subsistema.
El diagrama general de control con una breve explicacin de cada uno de los elementos se muestra en la
gura2,.

Figura 2:
1.

Diagrama general de control

Los codicadores en los ejes de cada motor envan los pulsos por revolucin por medio de una

R
conexin pull up a la tarjeta arduino
2.

Los datos son enviados por medio de un cable serial a un diagrama de bloques en

R.
Matlab-Simulink
3.

Dentro del diagrama se convierte el dato el cual se interpreta por el objeto en simulacin realizando
una repeticin del movimiento.

28

a)
b)

Si no se encuentran objetos en la trayectoria el diagrama se comporta como un sistema en lazo


abierto
Si algn objeto se intersecta en el trayecto se re-alimenta la posicin actual

4.

R retroalimentando el ciclo.
Los datos de la simulacin se regresan a la tarjeta Arduino

5.

La informacin se interpreta en la tarjeta y se enva a el modulo de potencia.

6.

El dispositivo fsico interpreta la seal.

Figura 3:

Control de interfaz hptica

Subsistema: SimMechanics
Este subsistema contiene los bloques correspondientes al modelo en SolidWorks exportados a Simulink a
travs de la herramienta de simulacin de cuerpos rgidos SimMechanics.

29

Figura 4:

Provisional

Estos bloques se muestran en la Figura 4. Se puede ver que se encuentran tres juntas rotacionales con
actuadores de junta que reciben como seal de entrada la posicin actual de los motores del sistema real
(obtenida por medio de codicadores de posicin) despus de pasar por los bloques p-v-a con los que se
obtiene la posicin, su derivada y la doble derivada en una misma va por medio de un bloque MUX debido
a que estos actuadores estn congurados para recibir movimiento.Las dos salidas de este subsistema son
las posiciones del efector nal y del centro de masa del obstculo 1.

30

Funcin de Matlab: Deteccin de colisiones.


Este bloque de funcin de Matlab contiene un algoritmo que detecta cuando la posicin del efector nal
entra en el rango de valores (en coordenadas X, Y y Z) en los que se encuentran los puntos que conforman
a un obstculo predenido. Este bloque tiene dos entradas (las posiciones del efector nal y el centro de
masa del obstculo 1) y una salida que dice si la colisin es verdadera o falsa.
El cdigo que contiene este bloque es el siguiente:

%Este programa detecta cuando el efector final colisiona con el primer


%obstaculo
function col = fcn(e1,obs 1)
%Posicion del efector final
xe=e 1(1);
ye=e 1(2);
ze=e 1(3);
%Posicion del obstaculo 1
x=obs_1(1);
y=obs_1(2);
z=obs_1(3);
%Definiendo rangos para obstaculo 1
x1 = x + 50; % El obstaculo 1 es un cubo de lado 100 mm y la posicion que se
x2 = x - 50; % tiene de este es su centro de masa. Entonces, para determinar
y1 = y + 50; % el rango de valores que ocupa en el espacio se suma y se resta
y2 = y - 50; % la mitad de la longitud de su lado a cada uno de sus puntos
z1 = z + 50;
z2 = z - 50;
%Si la posicion del efector final esta dentro del rango de valores
%del obstaculo 1 se tiene una colision, entonces:
if(xe<=x1&&xe>=x2&&ye<=y1&&ye>=y2&&ze<=z1&&ze>=z2)
u=1;
else
u=0;
end
col=u;
Lo primero que realiza el cdigo es guardar las coordenadas en X, Y y Z del efector nal y del centro
de masa del obstculo 1. Se conoce que el obstculo 1 es un cubo y que tiene una medida de lado de 100
mm por lo que los valores que toman cada uno de sus puntos estn dentro de un rango de cada coordenada
del centro de masa de -50 mm a +50 mm. Entonces ahora solo se verica con una funcin if si la posicin
del efector nal est dentro de este rango, lo que signicara que este est en colisin lo cual se enva como
salida con un 1 (verdadero) o un cero (falso).

Subsistema: Controles PID


Este subsistema muestra cuatro entradas. Tres de dichas entradas corresponden a las referencias de
cada controlador PID y la cuarta, llamada Enable que habilita o deshabilita la salida de los controladores
al tomar el valor de 1 o 0 respectivamente.

31

La entrada Enable recibe la salida de la funcin de Matlab que detecta si hay colisiones y gracias a esta
los controladores solo son activados cuando existe una colisin.

Figura 5:

Bloques de control PID

El bloque subsistema PLANTA es como se muestra en la Fig. 6. Esta conguracin es debida a que se
utiliza el circuito integrado L298N con el que solo es necesaria una seal PWM y dos seales digitales que
controlan el sentido de giro. La saturacin de la parte superior y el bloque de valor absoluto hace que el
valor que entra al bloque de salida analgica no sobre pase los 255 positivos. Los siguientes dos bloques de
saturacin cortan la seal de entrada a no ms del valor 1 donde la ganancia de -1 antes de la saturacin 3
permite que esta sature los valores negativos.

Figura 6:

Subsistema PLANTA

Ahora, los subsistemas PLANTA1 contienen los bloques mostrados en la Fig. E con dos bloques de
salida analgica (PWM) la saturacin corta el valor de la seal de control a no ms de 255 positivos o
negativos y la ganancia de -1 hace que el bloque al que va su salida acepte los valores negativos de la seal
de control.

32

Figura 7:

Conguracin de subsistemas PLANTA1.

Los tres bloques de PID tienen la misma conguracin que es la mostrada en la Fig. 8.

Figura 8:

Control PID

De igual manera, los tres subsistemas RETROALIEMTACION (de lectura de codicadores de posicin)
tienen la misma conguracin en los tres casos la cual es la mostrada en la Fig. 9.

Figura 9:

Subsistemas RETROALIMENTACIN

Subsistema: Referencias
33

Estos bloques permiten sostener los valores de las variables de las juntas en el momento justo en que
se presenta una colisin. Entonces, en el momento que la funcin de Matlab enva como salida un 1, se
guardan los valores de variable de ese instante y los controladores son activados como se explic en la seccin
anterior y los motores del sistema real no permiten que el efector nal se adentre ms en el obstculo, lo
cual signica una retroalimentacin de fuerza.
Lo explicado anteriormente se hace mediante el bloque Sample y Hold mostrado en el condenido del
subsistema de la Fig. 10. Este bloque tiene dos entradas y una salida. La salida del bloque es igual a su
primer entrada cuando la segunda entrada es verdadera. Esto signica que si se desea obtener y sostener
la entrada a este bloque es necesario enviar un impulso en la segunda entrada justo en el instante que se
presenta una colisin.
Al considerarse la salida de la funcin de Matlab como un escaln y conociendo que la derivada del
escaln es el impulso, se agrega un bloque derivativo, que tiene como entrada el escaln que denota una
colisin, en la segunda entrada del bloque Sample y Hold y nalmente la salida de estos bloques son las
referencias a los controladores PID.

Figura 10:

Bloque para la obtencias de la referencia

34

5.

Apndices

Apndices

R
5.1. Apndice A Diseo en SolidWorks
A continuacin se muestran las imgenes de las piezas del prototipo en las cuales se especican las
dimensiones y que parte forma cada pieza.

Figura 11:

35

Efector

Figura 12:

Figura 13:

Anillo

Barra cilndrica

36

Figura 14:

Placa circular giratoria

Figura 15:

Placa base rectangular

37

Figura 16:

Base ara mueca

Figura 17:

Base para motor

38

Figura 18:

Caja para mueca

Figura 19:

Riel de espalda

39

Figura 20:

Riel exterior antebrazo

Figura 21:

Riel exterior brazo

40

Figura 22:

Riel interior espalda

Figura 23:

Riel interior

41

Figura 24:

Figura 25:

Riel interior

Chumacera para giro en espalda

42

Figura 26:

43

Tornillo

5.2. Apndice B Ensamble de la estructura


A continuacin se muestra el ensamble de la estructura desde la base hasta el efector nal, incluyendo
todos los dispositivos a utilizar:
En primera parte se muestra la base del mecanismo (Figura 27):

Figura 27:

Base de la estructura

44

Se prosigue con la unin entre la base de la estructura y el hombro (Figura 28):

Figura 28:

Unin entre la base y el hombro de la estructura

Se prosigue con el brazo de la estructura (Figura 29):

Figura 29:

Brazo de la estructura

45

Y a continuacin se muestra el efector nal (Figura 30):

Figura 30:

Efector nal de la estructura

En la Figura 31 se muestra la base de la estructura con los dispositivos de energa, potencia y el arduino
mega:

Figura 31:

Base con elementos de energa, potencia y el arduino mega

46

A continuacin se presenta el ensamble nal (Figura 32):

Figura 32:

Ensamble nal

47

Y en la siguiente gura se presenta el ensamble nal montado en una persona (Figura 33):

Figura 33:

Robot montado en cuerpo humano

48

R -Matlab
R
5.3. Apndice C Exportacin SolidWorks
Este procedimiento se realiza mediante SimMechanics el cual es una herramienta de simulacin para el
anlisis de cuerpos rgidos en Simulink. Lo primero que hay que hacer una vez que se tienen las piezas en
SolidWorks es realizar el ensamble para formar el manipulador; este paso es de gran importancia ya que
si no se hace de manera adecuada, o bien con las relaciones de posicin adecuadas se generara un modelo
incorrecto del manipulador. Dos aspectos que se deben cuidar al momento de hacer las uniones de las piezas
en SolidWorks son:
1

Hacer las relaciones de posicin usando las caras de las piezas ya que SimMechanics no reconoce las
relaciones entre aristas o vrtices.

Usar las relaciones de posicin adecuadas para que SimMechanics las reconozca. Algunas relaciones
de posicin no son reconocidas por SimMechanics. Para saber si las relaciones de posicin usadas
son las correctas se puede importar el modelo y vericar los grados de libertad que se tienen en el
ensamble en SolidWorks y compararlos con lo que se tienen en el modelo de SimMechanics. Nota: se
recomienda hacer el ensamble con las relacin de posicin bsicas de SolidWorks entre caras como lo
son: concntrica, coincidente, perpendicular y paralela.

Una vez que se tiene el ensamble del manipulador completo en SolidWorks se exporta el ensamble a Sim-

Mechanics. Este procedimiento se puede ver en un video tutorial que se encuentra en http://www.youtube.com/watc
Despus ya que se ha generado el modelo de SimMechanics se conecta con Simulink, para esto se usa la Liberia de SimMechanics, algunos datos de esta Liberia se explican en el video tutorial anterior. A continuacin
se realizara una breve la librera de SimMechanics.

Figura 34:

Bibliotecas de SimMechanics

Biblioteca bodies (cuerpos): En esta biblioteca se encuentran elementos los cuales se utilizan para
modelar cualquier sistema mecnico. Los tres bloques contenidos en esta biblioteca que se utilizaran para
este proyecto son el bloque Body (cuerpo), el bloque Ground (tierra) y el bloque Machine Environment
(ambiente). La Figura 2 muestra los bloques contenidos en esta biblioteca.

49

Figura 35:

Biblioteca Bodies

Nota: los datos mostrados anteriormente son tomados de

http://catarina.udlap.mx/udla/tales/documentos/lmt/ramirezro/capitulo4.pdf.

Si se desea tener informacin adicional especca sobre algn bloque se puede consultar el help de
Simulink. La biblioteca de SimMechanics se divide en 7 grandes grupos: bodies, force elements, constraints
and drivers, interface elements, joints, sensors and actuators y utilities. La Figura 1 muestra las bibliotecas
que conforman a simmechanics.
El bloque body permite modelar cuerpos con caractersticas o propiedades denidas por el usuario como
la masa, ubicacin del centro de gravedad , momento de inercia, posicin, orientacin y su propio sistema
de coordenadas. Los cuerpos utilizan Coordinate Systems (CS) (sistemas de coordenadas) para generar
los puntos que darn forma y tamao al cuerpo. Los sistemas de coordenadas determinan la orientacin y
el origen del cuerpo que se desea modelar. La orientacin del cuerpo se puede referenciar con respecto al
sistema de coordenadas world (mundo), mediante un sistema de coordenadas dentro del mismo cuerpo y
mediante un sistema de coordenadas addjoining (adjunto de otro cuerpo ). En la ventana block parameters
(parmetros del bloque), mostrada en la Figura35, se introducen los parmetros para congurar el bloque.

50

Figura 36:

Ventana de parmetros del bloque Body

El bloque ground representa un punto jo en la tierra que servir como la base de referencia para
ensamblar los elementos del sistema.
El bloque de

machine environment se conecta la bloque ground y es donde se conguran las propiedades


parameters del

del ambiente donde trabajara el sistema mecnico que se modelara. En la ventana block

bloque de la Figura 36, se pueden especicar los parmetros como el eje cobre el cual actuara la gravedad
y el tipo de anlisis que se realizar, entre otros.

Figura 37:

Ventana de parmetros del bloque Machine Environment

51

Biblioteca joints (articulaciones): Esta biblioteca contiene los bloques que representan los movimientos
relativos entre los cuerpos que son conocidos tambin como los grados de libertad. Esta biblioteca cuenta
con una amplia lista de articulaciones que representan los diferente tipos de movimientos que puede tener
un cuerpo, entre las que se utilizan con mayor las primitivas prismticas y revolutas.

Figura 38:

Biblioteca Joins

?? esta biblioteca es bastante amplia,cuanta con diferentes tipos de

Como se puede observar en la Figura

articulaciones y cada una tiene un funcin especica. como ejemplo de como utilizar estos bloques se tomar
el bloque revolute (revoluta). Este bloque representa un grado de libertad con un movimiento rotacional
sobre un eje de revolucin. Las articulaciones primitivas como la revoluta estn formadas nicamente por
la unin de dos elementos.
En la ventana block

parameters

del bloque de Figura 6 se puede especicar el eje de revolucin de la

articulacin y el sistema de coordenadas al cual estar referenciado. Tambin dentro de la ventana se puede
especicar el nmero de puertos que se utilizaran para conectar sensores y actuadores.

52

Figura 39:
Librera

Ventana de parmetros del bloque Revolute

sensors and actuators (sensores y actuadores) : Esta biblioteca contiene los bloques que miden

e inicial izan los movimientos de los cuerpos y articulaciones. Estos bloques trabajaran con las seales que
harn posible el funcionamiento del modelo y al mismo tiempo mostraran su comportamiento. Los bloques
de esta biblioteca son de una suma de importancia ya que estos son los que interactan con los bloques
de Simulink y de esta logran el funcionamientos del modelo. Los bloques contenidos en esta biblioteca
son:

body Actuator (actuador en cuerpo), joint actuator (actuador en articulacin), body sensor(sensor en
joint sensor (sensor en articulacin), solo por mencionar algunos. La Figura?? muestra los bloques

cuerpo),

contenidos en la biblioteca.

Figura 40:

Biblioteca sensors and actuators

joint actuators (actuadores de articulaciones) los cuales solo pueden ser


aplicados a una articulacin primitiva , como por ejemplo la revoluta. Al igual que los bloques anteriores
Para este trabajo se utilizarn

cuenta con una ventana donde se pueden especicar parmetros como el tipo de articulacin al cual esta
conectado y el tipo de fuerza o movimiento que generara dependiendo del tipo de articulacin al cual esta
conectado. La Figura

?? muestra la ventana block parametroers del bloque joint actuator.

Figura 41:

Ventana de parmetros del bloque Joint Actuator

53

Tambin se utilizaron los

body actuators y los body sensor, para poder conectar estos bloques a los bodies

del modelo se modica en la ventana de parmetros del bloque del cuerpo al que se le deseen conectar la
seccin de

show port ; se selecciona un puerto y como se quiere que se comporte ya sea como entrada (left)

o salida (rigth). Como se aprecia en la gura42.

Figura 42:

Agregando entradas y salidas a un

54

body.

5.4. Apndice D Diseo y construccin de mdulos de potencia


Diseo
El diseo de las tarjetas se llev a cabo de acuerdo a la analoga de un puente H mostrado en la gura
43

Figura 43:

Puente H tomado de

http://darvein.net/puente-h-con-tip31-y-tip32/

El diseo en la parte de control fue construdo para ser excitado por las seales de voltaje de 5V de un
Arduino MEGA 2560.
El diseo en la parte de potencia fue construdo a base de la conexin en cascada de transistores BJT
y MOSFET

, esto para resistir una mayor disipacin de potencia.

El circuito cuenta con un indicador de seales de control y con pistas adecuadas para la mayor exigencia
de corriente en el mismo, adems de disipadores para proteccin del aumento de temperatura.

2
3

BJT=Transistor de unin bipolar


MOSFET=Transistor de oxi-semiconductor de efecto de campo
55

Construccin
Para la realizacin del diseo fue necesario crear un diseo anlogo al puente H (gura 43), para ello
se sustituyecron los interruptores por transistores tipo MOSFET. Y de igual manera para su excitacin se
propusieron dos transistores PNP ms en cascada, 2 TIP42.
Para las salidas se tomaron en cuenta tener salidas para el motor tipo 37D pin macho, adems de tener
salidas tipo bloque para conectar otro motor en paralelo esto con el n de hacer mas verstil el diseo.
Una vez plasmada la idea fue propuesto un diseo en el programa ISIS de PROTEUS.
Se decidi de igual manera contar con un LED indicador del sentido de giro del motor por lo que fue
aadido.
Posteriormente se utiliz el enlace entre ISIS y ARES y se procedi a generar un diseo PCB real.
La gura 44 muestra el diseo en ARES de la etapa de potencia y en la gura 45 se observa el diseo
en 3D:

Figura 44:

Figura 45:

Diseo en Ares

Diseo en Ares 3D

Tambin se creo una etapa de potencia adaptable al arduino con el circuito L298, el diseo de esta etapa
se muestra en la gura 46, as como su vista en 3D (gura 47):

56

Figura 46:

Figura 47:

Diseo en Ares

Diseo en Ares 3D

El clculo del grosor de la pista se realiz con el programa obtenido de Electrnica Pascual, el cual tiene
la caracterstica de que a travs de ciertos parmetros fsicos a utilizar calcula el grosor y profundidad del
canal de cobre, entre otras cosas, en cada pista de la placa, para de esta manera saber cuan ancha debera ser.
EL valor arrojado por el porgrama est en milmetros, una vez convertida la cantidad a pulgadas, debe
ser convertida a milsimas de pulgada, ya que el tipo de pista en el programa ARES (TRACE=10-150) son
las medidas en milsimas de pulgada.

57

Nuestros resultados del programa se pueden observar en la imagen 48.

Figura 48:

Calculador de pistas

Al convertir esta medida de 1.84mm en pulgadas resultan 0.070 pulgadas.


Por lo tanto se observa que con una pista del nmero 70 es suciente para soportar la exigencia mxima

de corriente que tambin pueden soportar los MOSFET IRF640 (11A a 100 C).
Por lo tanto fu ruteado automticamente el diseo con la herramienta de autoruteo de ARES y nalmente se intentaron reducir al mximo la cantidad de puentes arrojados debido al gran grosor de las pistas.
Una vez logrado un diseo que se consider funcional, vistoso y compacto se procedi a la elaboraci
en un programa CAM utilizando la mquina de la escuela LPKF protomat S42, gura 49 y utilizando el
programa Proteus como enlace entre el sistema CAM (La mquina) y el sistema CAD (La computadora
con ISIS).
La construccin se observa en la gura 50.

58

Figura 49:

Mquina LPKF protomat S42

Figura 50:

Realizacin e n la mquina

El proceso de grabado por medio de la mquina CAM se describe a continuacin:


1.

Exportar los archivos .gerber desde el sofware ARES

2.

Mandarlos al programa circuitCAM desde el cual se generan los archivos .LMD

3.

Importar el archivo .LMD al programa BOARD MASTER que es el encargado de la comunicacin


con la mquina.

59

Podemos ver el proceso de exportacin de los archivos .gerber desde ARES en las guras 51, 52 y 53.

Figura 51:

Paso 1. Click al botn GERBER OUTPUT

Figura 52:

Paso 2.Vericar cero errores

60

Figura 53:

Paso 3.Ajustar caractersticas de exportacin.

El manual de usuario de la mquina LPKF protomat S42 se puede encontrar en la siguiente direccin

http://www.lpkfusa.com/downloads/support/docs/man_s42.pdf
El manual de usuario del software se puede encontrar en la siguiente direccin

edu.hk/pcblab/manual/CCAM40tut-e.pdf

http://www.ee.cuhk.

Una vez realizadas las tarjetas de potencia fue necesario reunir y sodar sus componentes los cuales se
enlistan a continuacin:
1.

4 MOSFET .Modelo:IRF640

2.

4 diodos diodos recticadores .Modelo:4000

3.

4 terminales de bloques de dos pines.

4.

1 terminal de bloques.

5.

1 capacitor cermico de 0.1 uF. Modelo:104

6.

1 capacitor electroltico de 470 uF.

7.

1 barra de pines sencilla.

8.

2 bases para circuito integrado de 8 pines.

9.

2 optoacopladores. Modelo: 4n25

61

10.

2 transistores BJT. Modelo: TIP42

11.

1 metro de cable para puentear

12.

1 led bicolor

13.

4 disipadores

14.

1 pasta disipadora

15.

Resistencias:

a)
b)
c)
d)
e)

7- 10k 1/4W
2- 100 1/4W
2- 50 1/2W
1- 1k 1/4W
2-4.7k 1/4W

En la siguiente gura 54 se muestra el diseo nal de la la etapa de potencia:

Figura 54:

Etapas de potencias grandes

NOTA: La resistencia del LED de optoacoplador regularmete es de 330ohm, sin embargo al ser 2 LEDs
a encender con el mismo potencial, fue necesario cambiar las resistencias por unas de menor capacidad
resistiva y de mayor wattaje para soportar las cargar que por ella circularan: 50ohm a 1/2W.
La construccin de la tarjeta de potencia de menor exigencia (tarjeta pequea L298) fue de la misma
manera por medio de la mquina LPKF y los componentes utilizados se describen a continuacin:

1.

Circuto integrado L298

2.

6 terminales de bloque de 2 pines

62

3.

7 terminales de pines de 6 x 1 pines

4.

7 terminales de pines de 2 x 1 pines

5.

2 terminales de pines de 2 x 8 pines

6.

9 resistencias de 10kohm

7.

1 metro de cable de conexin

El diseo nal de la tarjeta chica se muestra en la imagen 55.

Figura 55:

Etapa de potencia chica

63

Funcionamiento de los mdulos de potencia


El control de las seales fsicas se realizar por medio de la Tarjeta Arduino y una vez listas estas
seales enviadas por la Tarjeta Arduino, es necesario amplicarlas para poder llevar a cabo el control de
los motores, para ello se realiz el diseo de varias tarjetas de aislamiento y potencia capaz del control de
los tres motores independientemente.
Dos de ellas son idnticas y sirven para controlar los dos motores con ms exigencia de potencia, el de
la espalda y el del brazo.
Para el motor de la mueca se realiz otra tarjeta de menor capacidad de manejo de corriente.
El diseo de las tarjetas fue realizado de modo que solo se necesitara una tarjeta Arduino para el control,
pues ya que el mismo se realizar desde Simulink, en el mismo no existen tantas salidas anlogas para el
control de los tres motores independientes.
Para el control de motores se cuenta con tres mdulos de potencia, dos de ellas (las placas de gran
potencia) presentan con las siguientes caractersticas:

Una exigencia mxima de corriente(11 A). Las pistas de las tarjetas de potencia se calcularon para
una exigencia de 11A y el enlace entre las mismas se realiz en el menor espacio posible. Adems un

transistor tipo MOSFET IRF640 soporta 11A a 100 C,18A a 25 C.

Bloques de conexin para controlar motores en paralelo. Adems de la salida tipo pin (6 pines para
controlar el motor), se cuenta con bloques para conectar en paralelo motores extra a controlar.

Un indicador tipo LED para leer las seales digitales de entrada del arduino. Un color para el giro
hacia la derecha y un color para el giro izquierdo.

Disipadores tipo araa y pasta disipadora para un mejor rendimiento.

Oricios para montar sobre la placa de control mecnico del sistema.

La tarjeta chica presenta las caractersticas:

Esta tarjeta se inserta en la tarjeta Arduno como una extensin de pines y permite el control de los
tres motores del sistema, dos de ellos de manera directa a partir del envo de seales directo de la
computadora a travs de sus respectivas tarjetas de potencia (tarjetas grandes de articulacin de codo
y hombro) y el tercero, el de la mueca, a travs de su circuito integrado usando un L298, ya que este
motor tiene menor exigencia de corriente.

El control de los tres motores se logra a partir de un integrado L298 que es un puente H con exigencia
hasta 4 ampere conectado en paralelo el cual controla el motor chico a partir de una seal PWM
montada desde arduino u una seal digital de activacin para cada sentido de giro
El acople de estas etapas se realiz para poder controlar los tres motores por medio una tarjeta
Arduino, ya que para el control mnimo de los tres motores se requiere 3 salidas PWM y Aduino
comparte un pin de salida PWM con una lectura de un encoder. De esta manera para el control de
un motor solo se us un PWM.

64

5.5. Apndice E Materiales(especicaciones)


Motores 37D
Este motor de 2.71 in x 1.45 in x 1.45 in es un potente motorreductor con un devanado de 12V CD
(corriente continua), con una caja de cambios de metal 131.25:1 (a), 67:1 (b) y 29:1 (c), respectivamente y
un codicador en cuadratura integrado que proporciona una resolucin de 64 pulsos por revolucin del eje
del motor, lo que corresponde a 8.400 (a), 4331 (b) y 1856 (c) pulsos por revolucin del eje de salida de la
transmisin respectivamente, para calcular los pulsos por revolucin de la salida del reductor, multiplicar
la relacin de transmisin por 64, estos motorreductores 37D mm tienen ejes de salida con un dimetro de
6 mm.
Las caractersticas del motor de 131.25:1 a 12 V son: 80 RPM y 300 mA de funcionamiento libre, 250
oz-in (18 kg-cm) y 5A.
Para el motor de 67:1 a 12 V son: 150 RPM y 300 mA de funcionamiento libre, 200 oz-in (14 kg-cm) y
5A.
Por ultimo las caractersticas del motor de 29:1 a 12 V son: 350 RPM y 300 mA de funcionamiento libre,
110 oz-in (8 kg-cm) y 5A.
En la gura 56 se muestra el diagrama de la estructura del motor, en este caso son iguales las dimensiones de los tres motores descritos anteriormente, lo nico que los caracteriza son las caractersticas internas
que anteriormente se describieron.

Figura 56:

Dimensiones del motor 37D (mm), gura tomada de www.robodacta.mx

Los motores 37D contienen un codicador de dos canales de efecto Hall, el codicador se utiliza para

encoder

detectar la rotacin de un disco magntico en una protuberancia posterior del eje del motor, el motortiene el siguiente cdigo de colores:
1.

Rojo de potencia del motor (se conecta a una terminal del motor)

2.

Negro de potencia del motor (se conecta a la terminal de otro motor)

3.

Codicador ptico Verde GND

4.

Azul codicador Vcc (3,5 - 20 V)

5.

Codicador ptico Amarillo Una salida

6.

Codicador ptico Blanco Salida B

65

A continuacin en la gura 57 se observa el orden de los colores de los cables descritos anteriormente,
situados en el encoder del moto my en la gura 58 se aprecia el motor:

Figura 57:

Colores del encoder del motor 37D (mm), gura tomada de www.robodacta.mx

Figura 58:

Motor 37D (mm), gura tomada de

www.robodacta.mx

Aluminio
Para la construccin del prototipo el material a considerar es aluminio, el cual por sus caractersticas es
un material ligero y resistente.
El lugar de compra de este material es la empresa Zuval Aceros, la compra se hizo directamente en la
empresa en Tampico, Tamaulipas, donde su pgina de internet es

http://www.zuvalaceros.com.
La placa adquirida tiene unas dimensiones de

4f t 6f t 1/4,

placa de aluminio:

66

en la gura 59 se muestra un ejemplo de

Figura 59:

Hoja de aluminio

Tornillos
Para sujetar jamente los eslabones considerados en el diseo, se consideraron sucientes tornillos de
diferentes mediadas debido a que en el diseo se colocaban los tornillos para jar dos eslabones y dos articulaciones, de acuerdo al eslabn o articulacin y al tipo de esfuerzo al que est sometido este parte del
eslabn por eso es que se consideraron diferentes mediadas.

1.

Tornillos de 3mm con sus respectivas tuercas

2.

Tornillos de

1
de pulgada con sus respectivas tuercas
2

3.

Tornillos de

1
de pulgada con sus respectivas tuercas
4

Figura 60:

Tornillos

Chumaceras
Las chumaceras son principalmente puntos de apoyo de ejes y rboles para sostener su peso, guiarlos en
su rotacin y evitar deslizamientos, incluso las Chumaceras van algunas veces colocados directamente en el
bastidor de la pieza o mquina, pero con frecuencia van montados en soportes convenientemente dispuestos
para facilitar su montaje.
Las chumaceras suelen ser de plstico, aluminio, acero y acero inoxidables.
En este caso la chumaceras que se utilizan son de acero inoxidable donde el objetivo de una chumacera
es dar soporte para la rotacin de un eje, est compuesto de una parte rotativa y una ja.
Tambin se usa la chumacera para lograr el movimiento del brazo humano lo ms natural cuando se
tenga la estructura sobre el brazo.

67

Figura 61:

Chumacera

Como se puede apreciar en la gura 61 en la parte superior de la chumacera sale una parte externa este
es un tipo de tornillo que sirve para lubricar y evitar la friccin entre el eje con el dimetro interno de la
chumacera el tipo de lubricante no importa mucho se puede encontrar fcilmente en cualquier ferretera es
el ms comn para este tipo de chumaceras.

Cople para motor 37D


El otro tipo de adaptador es el que va colocado en la parte nal de la echa del motor, sirve para sujetar
al siguiente eslabn permitiendo mover al eslabn siguiente de acuerdo al rotacin que est sufriendo la
echa del motor, este tipo de adaptador en forma circular como se aprecia en la gura refcople.

Figura 62:

Cople para motor 37D, gura tomada de

68

www.robodacta.mx

Montaje para motor 37D


En este proyecto se consideraron dos tipos de adaptadores para los motores. El primero fue como una
tipo L como se puede apreciar en la gura 63 , este tipo de adaptadores sirven para tener una conexin ja
entre el motor y el eslabn, de tal forma que en el motor se sujeta de la parte frontal como se observa en
la gura 63, la otra parte se sujeta al eslabn con tornillos que vienen dado con su respectiva L.

Figura 63:

La denominada L con sus respectivas caractersticas

En la gura 64 se aprecian los dos tipos de adaptadores que se usaron en el proyecto, descritos anteriormente ya colocados en el motor.

Figura 64:

Los dos tipos de adaptadores que se usaron en cada uno de los motores del proyecto

Soldadura de aluminio
La soldadura es el proceso de adhesin de dos componentes o piezas de metal por la fusin entre las
mismas. Esto se puede hacer mediante el uso de un arco elctrico, una llama de gas, u otro mtodo. Soldar

69

cualquier material es un proceso difcil que requiere experiencia.


La soldadura de metales ligeros, como el aluminio, requiere la mxima precisin para asegurar una
unin que sea fuerte. Para saber soldar aluminio correctamente es cuestin de contar con las herramientas
adecuadas, tener cautela y paciencia, para ganar experiencia.
Como se mencion anteriormente las caractersticas de la soldadura el electrodo de aluminio para uniones
y revestimientos en aleaciones y fundicin de los tipos Al  Si. Slo con corriente directa (electrodo al positivo
+) CDPI. La cobertura de ste electrodo provee una atmsfera de gas para proteger el arco, proporciona
un fundente para disolver la almina (xido de aluminio), y el tipo de soldadura que se uso fue E4043 en
la gura 65 y 66 se observan imgenes del proceso que se llev a cabo la soldadura.

Figura 65:

Figura 66:

Soldadura de aluminio

Soldadura aplicada en el prototipo

Velcro
Velcro es una marca registrada en el ao 1951 que ha pasado a denominar un sistema de apertura
y cierre rpido. Este trmino tambin se utiliza en la Propedutica Mdica a nivel del funcionamiento

70

pulmonar, sobre todo cuando el paciente est comprometido en su dinmica respiratoria principalmente en
neumonas atpicas asociadas con infeccin por HIV, en el cual se ausculta un mecanismo de apertura y
cierre rpida, principalmente en las bases pulmonares originado por la inamacin bronquial y alveolar, as
como la presencia de lquido inamatorio como respuesta a la agresin infecciosa.
El velcro en este proyecto se usa con la nalidad de sujetar la estructura que corresponde a la parte del
todo el brazo con dicho brazo, con su caracterstica de apertura y cierre rpido sujetando cada eslabn con
la parte correspondiente al brazo humano con la nalidad de que la estructura realice el movimiento lo ms
natural al movimiento del brazo humano.

Figura 67:

Velcro

Alambre
El tipo de alambre que se utiliz en el proyecto fue alambre estaado para conexiones, color rojo y
negro, calibre 22 AWG, que se encuentra en la tienda steren, es el ms comercial utilizado y se utilizo
para cablear los motores, debido a que nada ms se us para conectar la alimentacin de cada motor a las
etapas de potencia se encuentran en la parte de la espalda del humano como son la alimentacin del motor,
codicador y la salidas A y B, el cableado se encuentra a lo largo de los eslabones de la estructura a su
correspondiente posicin o a cada articulacin.

71

La cantidad de cableado que se us fueron aproximadamente 10 metros para los tres motores como se
aprecia en las guras 68 y 69 los dos diferentes tipos de colores:

Figura 68:

Figura 69:

Alambre estaado color rojo

Alambre estaado color negro

Bateras
Batera 1

Lugar de compra: Electrnica Steren.


Modelo: BR-0612. Batera recargable

sellada, de cido-plomo, de 6 Vcc, 12 Amperes/hora y hasta

1000 ciclos de carga/descarga.

Precio: 295 pesos.

Caractersticas tcnicas:
1.

No tiene efecto de memoria

2.

Sistema de proteccin para carga excesiva

3.

Terminales de 1,06 cm

4.

Soporta hasta 300 Celsius

5.

Dimensiones: 15 x 9,4 x 5 cm

6.

Peso: 1.772 Kg

72

Figura 70:

Batera de 6 Vcc, tomada de

www.steren.com.mx

Batera 2

Lugar de compra: Electrnica Steren.


Modelo: BR-1204. Batera recargable

sellada, de cido-plomo, de 12 Vcc, 4 Amperes/hora y hasta

1000 ciclos de carga/descarga.

Precio: 250 pesos.

Caractersticas tcnicas:
1.

No tiene efecto de memoria

2.

Sistema de proteccin para carga excesiva

3.

Terminales de 1,06 cm

4.

Soporta hasta 300 Celsius

5.

Dimensiones: 9 x 10.1 x 7 cm

6.

Peso: 1.384 Kg

Figura 71:

Batera de 12 Vcc, tomada de

73

www.steren.com.mx

Arduino
Arduino es una plataforma fsica computacional open-hardware basada en una sencilla placa con entradas y salidas (E/S), analgicas y digitales, y en un entorno de desarrollo que implementa el lenguaje
Processing/Wiring.
Arduino puede utilizarse en el desarrollo de objetos interactivos autnomos o puede conectarse a un PC
a travs del puerto serie utilizando lenguajes como Flash, Processing, MaxMSP, etc. Las posibilidades de
realizar desarrollos basados en Arduino tienen como lmite la imaginacin.

Figura 72:

Tarjeta Arduino AT Mega 2560

Especicaciones de la tarjeta.

Microcontrolador

ATmega2560

Voltaje de operacin

5V

Lmite de voltaje de entrada

6V-20V

Entradas y salidas digitales

16

Entradas y salidas analogicas

40mA

Corriente continua por pin

50 mA

Memoria Flash

256KB 8 usados para carga de programa

SRAM

8Kb

EEPROM

4KB

Reloj

16Mhz

rule2cm0cm

74

5.6. Apndice F Anlisis de Esfuerzos


Solid Works es una poderosa herramienta de simulacin, la cual posee anlisis de elementos nitos, que
es lo que se utilizar para detectar los puntos crticos de la estructura cuando esta es sometida a esfuerzos.
ara realizar el anlisis de esfuerzos en la estructura se dividi esta en tres partes, ya que de otra forma se
produciran errores los cuales causaban detencin del anlisis.
A continuacin se presenta la primer parte el anlisis (gura 73). Lo primero fue construir el ensamblaje
de la estructura acorde a las medidas reales y especicar las posiciones de relacin necesarias para que el
ensamblaje tenga la misma movilidad que la estructura fsica.

Figura 73:

Estructura en Solid Works

Lo siguiente es activar SolidWorks Simulations y crear un nuevo estudio.


Enseguida especicar el material del cual se encuentra hecha la estructura, en este caso se seleccion la
aleacin 1100, como lo muestra la gura 74.

Figura 74:

Seleccin del material

75

Una vez que se deni lo siguiente es especicar las sujecciones, esto es ra indicar de donde se soporta
la estructura en la vida real como lo muestra la gura 75.

Figura 75:

Sujecciones del modelo

Ahora se aplica las cargas al modelo tratando de que sean lo mas cercano a la realidad, esto para que
los resultados tambin sean lo mas realistas posibles, por lo que para los valores de las fuerzas se tom un
valor mas grande que los pares mximos que generan los motores, esto se realiz porque si la estructura
seporta esas fuerzas entonces no tendr problemas con los pares mximos de los motores, como lo muestra
la gura 76.

Figura 76:

Aplicacin de esfuerzos

Ya que se tiene denido el material, las sujecciones y las cargas se procede con el mallado de la estructura
como lo muestra la gura 77.

76

Figura 77:

Mallado de la estructura

Por ltimo se realiza el anlisis de tensiones. Al terminar este anlisis nos aparece una escala que vara
del color azul al color rojo, la cual nos indica el esfuerzo que sufre la estructura.
Los puntos con una tonalidad rojo son los mas propensos a sufrir fracturas o dobleces por lo que segn los
resultados del anlisis se tratar de corregir esos puntos dbiles, como lo muesttra la gura 78.

Figura 78:

Resultados del anlisis de tensin

Como se mencion al principio la estructura se seccion en tres partes por lo que lo anterior solo fue de
la primer seccin.
A continuacin se presenta el anlisis de las secciones dos y tres, el procedimiento es el mismo que se explic
para la seccin uno, como lo muestra la gura 79

77

Figura 79:

Ensamblaje de la seccin dos de la estructura

Finalmente se muestra el anisis de tensiones en las guras 80 a 82.

Figura 80:

Resultado del anlisis

Figura 81:

Resultados del anlisis

Figura 82:

Resultados del anlisis

78

6.

Conclusiones

Conclusiones
Aguilln Balderas Nestor Abraham

Como resultado de la simulacin se logr detectar cuando el

efector nal choca con alguno de los obstculos. Para esto se encontraron los valores coordenados en los
que se encuentra cada obstculo. Por el momento solo se toma en cuenta el efector nal del robot pero se
ve la posibilidad de realizar el mismo procedimiento para detectar los puntos que forman los eslabones de
este y as detectar cuando se toque un obstculo con cualquier parte del manipulador.

Cervantes Delgadillo Magda Karina

Al utilizar SimMechanics para realizar la interfaz grca se

tiene la ventaja de que la libertad de movimiento que se desea para el manipulador se obtiene al momento
de realizar las relaciones de posicin en SolidWorks y tiene como desventaja que la calidad de animacin
no es muy alta.

Garca Morales Ditzia Susana

Hasta este momento se logro aplicar los conocimientos de robotica uno

y dos para realizar el robot, aplicando la cinemtica directa el desarrollo de los mtodos para obtener las
ecuaciones dinmicas del robot. Tambin el uso de herramientas de software como matlab solid Works entre
otras.

Hernndez Crdenas Erick Josu

En este avance se intent realizar el control por par calculado

y el control PID conteniendo en la simulacin tres obstculos evitando atravesarlos. Existieron ciertas
dicultades al momento de lograr el control PID con todos los obstculos siendo estos no simples cubos.
De igual manera result complicado determinar los pares debido a la gran longitud de las ecuaciones y su
dicultad de factorizacin para coincidir en todos los mtodos. El avance logrado se muestra en este reporte.

Navarro Gonzlez Oscar Jess

En este avance se logro realizar el controlpor par calculado y se realizo

exitosamente en el entorno virtual asi como tambien se termino la estructura.

Ramrez Radilla Izcaltcatl Horacio

En este cuarto avance del proyecto se solicito la presentacin del

prototipo nal, sin embargo solo se ha podido cumplir con algunos de los objetivos requeridos debido a la
modicacin y ajuste del diseo, sin embargo se logr con xito la interpretacin de las seales introducidas
a la simulacin en Matlab a travs de Arduino provenientes de los motores que sern acoplados a cada una
de las juntas que integraran el dispositivo nal.

Sanchez Garca Hugo

En este avance de proyecto se naliza denitivamente con un diseo en So-

lidWorks del robot manipulador de dos grados de libertad, as como se obtuvo un diseo ya nalizado
de etapas de potencia entre los aspectos ms importantes, tambin se inici realizando una simulacin en
V-Real Builder para simular en tiempo real un robot de 3 grados de libertad pero en esta ocasin se est
controlando un grado de libertad.

79

Tovar Garca Carlos Antonio

Aprend que por mas que sea tu deseo sea un gran logro en cuestion

proyectos de robots no es tan conveniente realizarlo, los mtodos estan larguisimos y el control complicado
an asi el proyecto desarrollo muchos conocimientos que me permitieron aprender nuevas cosas en cuanto
al anlisis robtico en prcticaa y en teora.

80

Você também pode gostar