You are on page 1of 42

1.

INTRODUCCION
1.1. Conceptos bsicos
1.2. Concepto de robot manipulador
1.3. Terminologa

2. PRELIMINARES MATEMATICOS

3. FUNDAMENTOS PARA EL MODELADO DE ROBOTS
3.1. Introduccin
3.2. Matrices de rotacin
3.3. Matrices de transformacin homognea (matrices de paso)

4. MODELADO CINEMATICO DE POSICION
4.1. Descripcin de la cadena cinemtica de manipulador
4.2. Modelo cinemtica de posicin (MCDP)
4.3. Modelo cinemtica inversor de posicin

5. MODELO CINEMATICO DE VELOCIDAD
5.1. Introduccin
5.2. Calculo de matriz jacobiana

6. MODELADO DINAMICO
6.1. Introduccin al espacio de estado
6.2. Ecuacin de estado
6.3. Formulacin Euler-Lagrange

7. CONTROL Y SIMULACION
7.1 Introduccin a VRML (Virtual Reality Markup Language)
7.2. Bloques MatLab Function
7.3. Control en SimuLink
7.3.1. Control PID
7.3.2. Control PID con compensacin de gravedad
7.3.3. Control inteligente
7.3.3.1. Control con lgica difusa
7.3.3.2. Control con redes neuronales















Karel Capek
Manipulador de propsito mltiple controlado auto programable, puede programarse en
3 o mas ejes, puede utilizarse en aplicaciones de automatizacin industrial.

Robots manipuladores
Serie
Paralelo-Stuart

Teleoperador
Transparencia: fuerzas que interactan en ambiente remoto
Teleoperadores operativo a travs de Internet
TCP todos paquetes mas tiempo
UDP ms rpido
Control lineal: sistemas lineales invariables en el tiempo
Controladores comunes:
Linealizacin por retroalimentacin
Modos deslizantes funcin signo, saturacin, tangente hiperblica
Backstepping

Subactuado eslabones sin motor
Actuador Conector motor

1.- Introduccin
Aislado de cualquier tipo de contexto el termino ROBOT puede tener significados
distintos dependiendo de quien lo utilice, varios factores contribuyen a esta divergencia
en la acepcin; desde la historia misma del termino hasta los niveles de inteligencia que
pueda tener una maquina industrial en efecto, mientras que para un lector de literatura
de ciencia ficcin un robot es un artefacto antropomorfo del tipo de C3PO, para un
ingeniero ser una simple maquina de transferencia de objetos y para un cientfico ser
un manipulador asistido por sofisticados soportes de computacin y percepcin que lo
doten de un nivel elevado de inteligencia.

As, una definicin general del termino ROBOT debera comprender todas las ideas que
existan sobre estas maquinas. Tal definicin probablemente no exista, sin embargo, si
existen definiciones de ciertos tipos especficos de ROBOT. El objetivo de este capitulo
es establecer una nocin clara del tipo de robot que ser estudiado en este curso:
El ROBOT industrial o manipulador. Ello se har a partir de las definiciones
normalizadas establecidas en 2 pases

1.1.- Concepto de ROBOT manipulador
Definicin del Instituto Americano del ROBOT
Es un manipulador reprogramable multifuncional, ideado para el transporte de
materiales, partes, herramientas o sistemas especializaos, con movimientos variados y
programados para la realizacin de diversas tareas.
Definicin de la Asociacin Francesa de Normalizacin
Es un manipulador controlado en posicin, reprogramable, polivalente, de varios grados
de libertar capaz de manipular materiales, piezas, herramientas y dispositivos
especializados, durante la ejecucin de movimientos variables y programados para la
realizacin de una variedad de tareas

1.2.2.- Constitucin de un ROBOT manipulador
Un ROBOT manipulador es un sistema electromecnico constituido por los sistemas
mostrados en la siguiente figura:




Criterio KutzBach
f= 6(e-1)-5p
e numero eslabones
p numero articulaciones

Ejemplo:

e= 2
p= 1
f= 6(2-1)-5(1)
f= 1GDL



e= 3
p= 2
f= 6(3-1)-5(2)
f= 2GDL



e= 8
p= 7
f= 6(8-1)-5(7)
f= 42-35= 7
7 GDL


Agregando grados de libertad
aumentas reas de trabajo.




1.4.- Espacio de trabajo
Representa la porcin del ambiente que el actuador final puede alcanzar. La forma y
volumen del rea de trabajo dependen de la estructura del robot, as como tambin de
los lmites de las articulaciones.

Manipulador cartesiano y su espacio de trabajo.



--- Espacio de trabajo
Orientacin cte.








Manipulador cilndrico
Caractersticas: resistencia a cargas pesadas. Para localizacin en cualquier punto, se
utiliza una funcin P(r, , z).






rea de trabajo







Caracterstica: tiene un buen desempeo en cargas altas en sentido vertical.





rea de trabajo







PRELIMIARES MATEMATICAS

(
(
(

=
7
4
1
u y=
(
(
(

9
7
2
v u v u
T
= [ ]
(
(
(

9
7
2
7 4 1

Nmeros naturales
N={ } ,... 2 , 1 , 0

Nmeros racionales

4
2
Q
1



2
1
Q
1


Nmeros enteros
{ } ,... 2 , 1 , 0 , 1 , 2 ..., = z

Nmeros irracionales
2 ,

Nmeros complejos
5+3j

Nmeros reales
{ } ,... 5 . 2 ,..., 1 . 0 ,..., 1545 . 2 ,..., 71 . 4 ...,


Vectores

U=
(

3
2
9 4 3 2
2 2
+ = + = U = 13

[ ] 13 9 4
3
2
3 2 = + =
(

= = U U U
t


Vector unitario de U

j i
U
U
U 83 . 55 .
83 .
55 .
13
3
13
2

+ =
(

=
(
(
(

= =




V U
(
(
(

(
(
(

0
1
0
0
0
1




( ) ( ) ) 0 1 ( ) 0 0 ( ) 0 0 ( 0 0 0 0 + + + + + = + + + + = k j i k j i k j i V U

k j i
k j i
) 0 1 ( ) 0 0 ( ) 0 0 (
0 1 0
0 0 1 + + =
(
(
(


(
(
(

=
1
0
0
k Ortonormal





(
(
(

=
5
2
3
U Obtener U y U




[ ] 38 25 4 9
5
2
3
5 2 3 = + + =
(
(
(

= = U U U
t


k j i
U
U
U
38
5
38
2
38
3
38
5
38
2
38
3

+ + =
(
(
(
(
(

= =
Los vectores se representan con letras latinas o griegas en minsculas.


MATRICES

2 2
7 5
3 2
x
R A A
(

=
4 2
4 4 4 3
7 5 3 1
x
R A B
(

=
2 4
7 5
4 2
3 1
3 1
x
R A c
(
(
(
(

=

Las matrices se representan con una letra latina o griega, sus elementos con la misma
letra elegida pero minscula.


(
(
(
(

amn am am
n a a a
n a a a
n a a a
... 2 1
3 ... 32 31
2 ... 22 21
1 ... 12 11
OPERACIOES CO MATRICES

(

=
8 4
3 1
A
(

=
8 10
5 2
B
(

=
(

+ +
+ +
=
84 88
29 32
64 20 80 8
24 5 30 2
B A

(

=
8 5
10 2
T
B
(

=
(

+ +
+ +
=
(

=
79 37
86 42
64 15 32 5
80 6 40 2
8 4
3 1
8 5
10 2
A B
T


(

=
(

=
84 88
29 32
8 10
5 2
8 3
4 1
B A
T

T T T
A B ) ( para [ ]
T
T T
A B AB =

Para que una matriz se pueda elevar al cuadrado debe ser m = n donde
mxn
R A

3 2
2
x
R A
si
AA A

=

(

=
6 5 4
3 2 1
A
(

=
(

=
61 36
27 16
8 4
3 1
8 4
3 1
2
A

) (
) det(
1
1
A adj
A
A =

[ ]
T
A cof A adj ) ( ) ( =

Sean los elementos de cof(A), cij entonces mij cij
j i+
= ) 1 (

(

=
7 6
1 2
A
(

=
2 1
6 7
m

(

=
2 1
6 7
) ( A cof
(

=
2 6
1 7
) (
T
A cof det = 14 6 = 8

(

=
(
(

=
(

25 . 0 75 . 0
125 . 0 87 . 0
8
2
8
6
8
1
8
7
2 6
1 7
8
1
1
A

7 10
3 5
1 2
6 7 10
8 3 5
6 1 2
(
(
(

K
K
-1
det(K) = 36 + 80 + 210 - (180+112+30) = 4

38
6 7
8 3
11
=
(

= K 50
6 10
8 5
12
=
(

= K 5
7 10
3 5
13
=
(

= K 36
6 7
6 1
21
=
(

= K

48
6 10
6 2
22
=
(

= K 4
7 10
1 2
23
=
(

= K 10
8 3
6 1
31
=
(

= K 14
8 5
6 2
32
=
(

= K

1
3 5
1 2
33
=
(

= K
(
(
(

(
(
(




1 14 10
4 48 36
5 50 38
1 14 10
4 48 36
5 50 38


(
(
(
(


= =
(
(
(
(

4
1
1
4
5
4
14
4
48
4
50
4
10
4
36
4
38
) (
4
1
4
14
4
10
1
4
48
4
36
4
5
4
36
4
38
1 T
A Adj A

(
(
(

25 . 0 1 25 . 1
5 . 3 12 5 . 12
5 . 2 9 95
1
A

El determinante tambin puede obtenerse aprovechando los elementos de M

Det(A) = b
11
m
11
- b
12
m
12
+ b
13
m
13

Det(A) = 7(33) - 3(-3) + 8(-27)
Det(A) = -174

(

=
8 5
1 3
A
(

=
3 1
2 4
B

(

=
8 1
5 3
T
A
(

=
3 1
2 4
8 1
5 3
B A
T

(

=
(

+ +
+ +
=
26 12
21 17
24 2 8 4
15 6 5 12
B A
T

(

=
(

+ +
+ +
=
(

=
220 166
185 156
208 12 130 36
168 17 105 51
8 5
1 3
26 12
21 17
BA A
T


3.- FUDAMETOS PARA EL MODELADO DE ROBOTS

Un punto queda totalmente definido en el espacio a travs de los datos de su posicin.
No obstante, para el caso de un slido hay que definir cual es su orientacin con
respecto a un marco de referencia. Por ejemplo, en el caso de un robot que tenga que
realizar una tarea de pulido, no basta con especificar los puntos de la superficie a pulir,
sino que tambin debe especificarse la orientacin de la herramienta abrasiva.

Matrices de rotacin
Son el mtodo mas usual para describir orientacin, gracias a la comodidad que presenta
el uso de algebra matricial.
Si tienen 2 marcos de referencia ortonormales {A} y {B}, en orientacin distintas en el
espacio, entonces los vectores que definen a {B} pueden representarse como
componentes respecto a {A}.





Marco de referencia {A}
Marco de referencia {B}






Pueden representarse en trminos de sus componentes de la siguiente forma:


(
(
(

=
Bz
A
By
A
Bx
A
B
A
X
X
X
X

(
(
(

=
Bz
A
By
A
Bx
A
B
A
Y
Y
Y
Y
(
(
(

=
Bz
A
By
A
Bx
A
B
A
Z
Z
Z
Z

Donde los elementos de cada vector son los csenos directores del vector
correspondiente del marco {B} respecto al marco {A}.

Por ejemplo
Bz
A
Y es igual al coseno director del ngulo Z
A
a Y
B
. As puede definirse la
matriz de rotacin de {A} a {B} como:


(
(
(

=
Bz
A
Bz
A
Bz
A
By
A
By
A
By
A
Bx
A
Bx
A
Bx
A
Z Y X
Z Y X
Z Y X
R

Casos particulares
1. Si los vectores x de {A} y {B} coinciden y Y
B
forma un ngulo (lambda)
respecto a Y
A,
entonces la matriz de rotacin esta dada por:

(
(
(

= =


c s
s c R R
x
A
B
0
0
0 0 1
) ( de aqu en adelante, cos() = c y sen() = s

2. Si los vectores y de {A} y {B} coinciden y Z
B
forma un ngulo respecto a Z
A,
entonces la matriz de rotacin esta dada por:









(
(
(

= =

c s
s c
R R
T
A
B
0
0 1 0
0
) (

3. Si los vectores Z de {A} y {B} coinciden, y X
B
forma un ngulo respecto a X
A

entonces la matriz de rotacin esta dada por

(
(
(


= =
1 0 0
0
0


c s
s c
R R
Z
A
B






TRASFORMACIO DE LOS COMPOETES
Una propiedad resaltable de las matrices de rotacin es que permiten transformar los
componentes de cualquier vector, llmese b, a otras respecto a un marco de orientacin
distinto al original, esto es:
b R b
B A
B
A
=
Ejemplo:
Un marco ortonormal {B} esta situado respecto a un marco {A} de tal manera que los
vectores Z de tales marcos coinciden y X
B
forma un ngulo respecto a X
A
sabiendo
que los componentes de un vector b referidos al marco {B} son [ ]
T B
b 0 1 0 =
obtngase los componentes de
A
b.


(
(
(

=
(
(
(

(
(
(


=
0 0
1
0
1 0 0
0
0



c
s
c s
s c
b
A

2

=


(
(
(

= |

\
|
0
0
1
2

b
(
(
(

=
0
1
0
b
B
[ ]
(
(
(

=
0
1
0
b
A


Un marco ortonormal {B} esta situado respecto a otro marco {A} de tal forma que los
vectores x de dicho marco coinciden y Y
B
forma un ngulo respecto a Y
A
sabiendo
que los componentes de un vector b, referidos al marco {B} son [ ]
T B
b 0 0 1 = ,
obtener los componentes de
A
b. Explicar brevemente el resultado.

1.- Dibujar marcos y
B
b

2.- Girar marco {B}




3.- Producto Matricial

(
(
(

(
(
(

=
0
0
1
0
0
0 0 1


c s
s c b
A

(
(
(

=
0
0
1
b
A


Un marco ortonormal {B} esta situado respecto a otro marco {A} de tal forma que los
vectores y de dicho marco coinciden y Z
B
forma un ngulo respecto a Z
A.
Sabiendo
que los componentes de un vector b, referidos al marco {B} son [ ]
T B
b 0 1 0 = ,
obtener los componentes de
A
b.

1.- Dibujar marcos y
B
b


2.- Girar marco {B}





3.- Producto Matricial

(
(
(

=
(
(
(

(
(
(



s
c
c s
s c
b
A
1
0
1
1
0
0 1 0
0
si =/2
(
(
(

= |

\
|
1
1
0
2

b
A



MATRICES DE LOS AGULOS DE BRYAT
Los casos hasta ahora presentados son bastante simples y la matriz de rotacin obtenida,
por si sola, no resulta muy til para la resolucin de problemas mas complejos. Ahora se
obtendr una matriz mas interesante que corresponde al caso general en el cual no
coincide ningn par de vectores de los 2 marcos, es decir, un marco {A} gira a un
ngulo respecto a Y
B
para coincidir con un marco {C}, finalmente gira un ngulo
respecto a Z
C
para coincidir con un marco {D}. Si un vector b esta expresado en
trminos de sus componentes en {D}, obtener la matriz de rotacin T
A
D
que permita
determinar los componentes del vector b en A.

Si sabemos que b R b
D A
D
A
= , se puede multiplicar las matrices que se obtengan en cada
transformacin para obtener R
A
D
, es decir, R R R R
C
D
B
c
A
B
A
D
= o expresndolo en la notacin
ya vista en funcin de , y .
) ( ) ( ) ( Rz Ry Rx R
A
D
=

(
(
(


(
(
(

(
(
(

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





c s
s c
c s
s c
c s
s c R
A
D


(
(
(

=




c c s c s
s c c s s
s c
Ry Rx
0
) ( ) (

(
(
(

+ +
+ +

=




c c c s s c s s s c c s
s c c c s s s s c c s s
s s c c c
Rz Ry Rx ) ( ) ( ) (


AGULOS DE BRYAT
Si se tiene una matriz de rotacin dada, puede igualarse a la matriz recin obtenida y
conocer, a travs de igualacin de elementos, los valores de los ngulos de giro en x, y y
z, correspondientes a los ngulos , y , respectivamente, esto es:

(
(
(

+ +
+ +

=
(
(
(




c c c s s c s s s c c s
s c c c s s s s c c s
s s c c
r r r
r r r
r r r
s
c
33 32 31
23 22 21
13 12 11

Si se procede a igualar elementos

r23=r33 para

) 33 , 23 ( 2 tan r r a
c
c
c
s
c c s c
=
=




r13=r33 para


|

\
|
=
=


c
r r
a
c c s
33 , 13
2 tan


r12=r11 para


( ) 11 , 12 2 tan r r a
c
s
c
c
c c s c
=
=
=





AGULOS DE EULER
Leonard Euler fue el primero en establecer y demostrar que dos marcos ordenados
cualesquiera independientes, con un origen comn, pueden ser relacionados por una
sucesin de no ms de 3 rotaciones alrededor de ejes coordenados.

Lo anterior significa que si la sucesin de los ejes de rotacin se conoce, entonces solo
es necesario especificar 3 ngulos de Euler para definir completamente la rotacin.

Existen 12 conversiones de ngulos de Euler, de las cuales para el curso solo
utilizaremos la ZYX. En general, estos ngulos se representan con letras , y .

zyz
zyx
zxz
zxy
yzx
yzy
yxy
yxz
xzx
xzy
xyx
xyz


( ) ) ( ) ( ) ( , , Rz Ry Rz R =

(
(
(

(
(
(


=





c s
s c
c s
s c
R
0
0 1 0
0
1 0 0
0
0
) , , (


(
(
(

=




c s
s s c c s
s c s c c
Ry Rz
0
) ( ) (

(
(
(

+ +
+ +
=




c c s c s
c s s s c s s s c c c s
c s c s s s s c c s c c
Rx Ry Rz ) ( ) ( ) (

A partir de la matriz de ngulos de Euler, pueden obtenerse los valores de los mismos
ngulos.

(
(
(

+
+
=
(
(
(




c c s c s
s c c s s c c s s s c
s s c s c s s s s c c
r r r
r r r
r r r
s
c
33 32 31
23 22 21
13 12 11


Igualando los elementos pertinentes de cada matriz, se tiene:
) 33 , 32 ( 2 tan
11 , 31
2 tan
) 11 , 21 ( 2 tan
r r a
c
r r
a
r r a
=
|

\
|
=
=

) 31 (r arcsen =
Tambin:
|

\
|
=
|

\
|
=
|

\
|
=

c
r r
a
s
r r
a
s
r r
a
33 , 31
2 tan
32 , 31
2 tan
21 , 31
2 tan

SIGULARIDADES CIEMATICAS
La principal desventaja tanto de los ngulos de Bryant como de los de Euler es que
pueden presentarse singularidades cinemticas. Dados , , y r , y v, se obtiene
siempre una matriz de rotacin
3 3x
R . No obstante, si se desea realizar la operacin
inversa (obtener tales ngulos a partir de R), no siempre se obtiene una solucin nica.

Por ejemplo:

R R
A
D
=
(
(
(


=
1 0 0
0 0 1
0 1 0
) , , (
0 ) 1 , 0 ( 2 tan
90 ) 0 , 1 ( 2 tan
0 ) 0 (
= =
= =
= =
a
a
arcsen
























(
(
(

= =
1 0 0
0 1 0
0 0 1
) , , ( R R
A
D
Obtener los ngulos de Euler a partir de R
A
D


180 ) 1 , 0 ( 2 tan
0 ) 0 (
0 ) 1 , 0 ( 2 tan
= =
= =
= =
a
arcsen
a



A partir de los ngulos obtenidos, dibujar sucesin de marcos rotados.


















= 90

= 0
= 0
= 0
= 0
= 180
Por inspeccin, volver a obtener

(
(
(

= =
1 0 0
0 1 0
0 0 1
) , , ( R R
A
D


Obtener R
A
D
con la matriz de ngulos de Euler

(
(
(

+
+
=
) 180 ( ) 0 ( ) 180 ( ) 0 ( ) 0 (
) 180 ( ) 0 ( ) 180 ( ) 0 ( ) 0 ( ) 180 ( ) 0 ( ) 180 ( ) 0 ( ) 0 ( ) 0 ( ) 0 (
) 180 ( ) 0 ( ) 180 ( ) 0 ( ) 0 ( ) 180 ( ) 0 ( ) 180 ( ) 0 ( ) 0 ( ) 0 ( ) 0 (
c c s s s
s c c s s c c s s s c s
s s c s c c s s s c c c
R
A
D

(
(
(

=
1 0 0
0 1 0
0 0 1
R
A
D



Ejercicio.
1.- Dibujar la posicin de la pieza al rotarla:

90
0
90
=
=
=

























2.- Por inspeccin, obtener la matriz de rotacin:

(
(
(

=
0 0 1
1 0 0
0 1 0
R
A
D


3.- Obtener R
A
D
utilizando la matriz de ngulos de Bryant.

(
(
(

+ +
+ +

=
) 90 ( ) 0 ( ) 90 ( ) 90 ( ) 90 ( ) 90 ( ) 0 ( ) 90 ( ) 90 ( ) 90 ( ) 90 ( ) 0 (
) 90 ( ) 0 ( ) 90 ( ) 90 ( ) 90 ( ) 0 ( ) 90 ( ) 90 ( ) 90 ( ) 90 ( ) 0 ( ) 90 (
) 0 ( ) 90 ( ) 0 ( ) 90 ( ) 0 (
c c c s s c s s s c c s
s c c c s s s s c c s s
s s c c c
R
A
D

(
(
(

=
0 0 1
1 0 0
0 1 0
R
A
D



MATRICES DE TRASFORMACIO HOMOGEEA
Un movimiento rgido puede definirse como una traslacin para un conjunto con una
rotacin pura. Un movimiento rgido es un par ordenado (d,R) donde
3
R d y ) 3 ( SO R .
El grupo de todos los movimientos rgidos se conoce como grupo especial euclidiano,
representado por SE(3). Luego ) 3 ( ) 3 (
3
xSO R SE = .

Propiedades del grupo SO(3):
) 3 ( SO R
) 3 (
1
SO R



T
R R =
1

Las columnas y renglones de R son mutuamente ortogonales
Cada columna de R es un vector unitario
1 ) det( = R

Teniendo lo anterior en cuenta, un movimiento rgido puede representarse en forma
matricial de forma tal que las composiciones de los movimientos puedan reducirse a una
multiplicacin matricial.

Entonces:

(

=
1 0
d R
H

Donde:

3
) 3 (
R d
SO R


La manera ms general de representar las matrices de transformacin homognea es la
siguiente:


(

=
1 1 3 1
1 3 3 3
x x
x x
S F
d R
H
(

=
ento Escalonami a Perspectiv
Traslacin Rotacin
H

Matrices de transformacin homognea bsica:
Rotacin en el eje X


(
(
(
(

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


c s
s c
H
(
(
(
(

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


c s
s c
H

Rotacin en el eje Y


(
(
(
(

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


c s
s c
H
(
(
(
(

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


c s
s c
H

Rotacin en el eje Z


(
(
(
(


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


c s
s c
H
(
(
(
(


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


c s
s c
H

Traslacin en X Traslacin en Y Traslacin en Z

(
(
(
(

=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1 Px
H
(
(
(
(

=
1 0 0 0
0 1 0 0
0 1 0
0 0 0 1
Py
H
(
(
(
(

=
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
Pz
H




Ejemplo:
A partir de un marco {O} realizar un giro respecto al eje Xo. Tras el giro, realizar un
desplazamiento de 1 unidad sobre el eje Y
1
del nuevo marco, es decir del marco {1}.
El giro ser de 90

Solucin: si se realiza la rotacin y traslacin por simple inspeccin, entonces se tiene











H H H
1
2
0
1
0
2
= ) ( ) (
0
2
Py tras tor H =

(
(
(
(

=
(
(
(
(

(
(
(
(

=
1 0 0 0
1 0 1 0
0 1 0 0
0 0 0 1
1 0 0 0
0 1 0 0
1 0 1 0
0 0 0 1
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
0
2
H

Ejemplo:
Representar la transformacin homognea que representa una rotacin de 90 en el eje x
actual, seguido por una traslacin de 1 unidad en el eje z actual, seguida por una
rotacin de 90 en el eje z actual.





















(
(
(
(


=
(
(
(
(

(
(
(
(

=
1 0 0 0
0 0 1 0
1 1 0 0
0 0 0 1
1 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
0
2
H
(
(
(
(

=
(
(
(
(


(
(
(
(


=
1 0 0 0
0 0 0 1
1 1 0 0
0 0 1 0
1 0 0 0
0 0 1 0
1 1 0 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
0
3
H
Ejemplo:
Obtener la matriz de transformacin homognea a partir de un marco {O}, aplicndole
una rotacin sobre el eje z. enseguida el marco resultante se desplaza una unidad en el
eje x de dicho marco. Por ultimo, el marco resultante se desplaza 3 unidades en el eje y
de este ultimo marco. El primer giro ser de 180.























Obtener rot(), trans(Px) y trans(Py)

) ( ) ( ) (
2
3
1
2
0
1
0
3
Py trans Px trans rot H H H H = =

(
(
(
(



=
(
(
(
(

(
(
(
(


=
(
(
(
(

(
(
(
(

1 0 0 0
0 1 0 0
3 0 1 0
1 0 0 1
1 0 0 0
0 1 0 0
3 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
1 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1



TRASFORMACIO IVERSA
Puede realizarse la transformacin inversa a travs de la inversin de la matriz de
transformacin homognea resultante. Pudiera parecer tediosa obtener la inversa de esta
matriz de manera convencional, afortunadamente, se puede aprovechar las
caractersticas de las matrices de rotacin para obtener lo siguiente:

(

1 0
1
d R R
H
T T


(
(
(
(



=
1 0 0 0
0 1 0 0
3 0 1 0
1 0 0 1
0
3
H
(
(
(
(



= =

1 0 0 0
0 1 0 0
3 0 1 0
1 0 0 1
3
0
1 0
3
H H

(
(
(

=
(
(
(

=
(
(
(

(
(
(

=
0
3
1
0
3
1
0
3
1
1 0 0
0 1 0
0 0 1
Rd

Ejemplo:
A partir de una transformacin homognea
(
(
(
(

=
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
0
1
H obtener
1
H
Solucin:

(
(
(

=
0 1 0
1 0 0
0 0 1
T
R
(
(
(

=
(
(
(

(
(
(

=
0
0
0
0
0
0
0 1 0
1 0 0
0 0 1
Rd
(
(
(
(

1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
1
H


1. METODO CIEMATICO DE POSICIO

Espacio de configuracin de robots. La configuracin de robots puede quedar
determinada de dos maneras:
Si se especifican todas las variables articulares del robot (q1, q2, q3,, qn)
donde n es el numero de articulaciones del robot. Por ejemplo para un robot de 2
GDL.







(
(

=
4
4

q
2
R q
(
(
(
(
(
(
(
(

=
0
0
0
0
4
4

q
6
R q

Si se especifica la posicin y orientacin del rgano terminal, es decir, variables
de postura. Tomando por ejemplo lo anterior:

L=0.5
( )
( )
(
(
(
(

+
=
0
4
cos 5 . 0
5 . 0
4
5 . 0

sen
x


(
(
(


(
(
(

entonces
6
0
0
0
0
35 . 0
85 . 0
R x x
(
(
(
(
(
(
(
(

=

Como puede verse, existe una relacin entre las variables articulares y las variables de
cualquier robot. La funcin que relaciona ambos espacios de configuracin se conoce
como cinemtica del robot:
) (q f x =
En un robot, las n articulaciones que indican las variables articulares pueden agruparse
en un vector de la forma:

n
R q
qn
q
q
q
(
(
(
(

=
M
2
1


Un mtodo general para la obtencin del MCD de un robot, utilizando matrices de
rotacin para representar la orientacin fue propuesta por J. Denavit y Hartenberg en
1955. Este mtodo es el ms utilizado en la actualidad, aunque existen 2 versiones: el
mtodo DH original y el DH modificado propuesto por Khalil.

En el mtodo propuesto por Denavit y Hartenberg se utilizan matrices de
transformacin homognea para combinar la posicin y la orientacin en una sola
matriz.

Hay que recordar que si R P y ) 3 ( SO R describen la postura entre 2 marcos
coordenados, la matriz de transformacin homognea correspondiente esta dada por:

(

=
1 0
P R
T ) 3 ( SE Donde SE(3) es el grupo especial euclidiano de dimensin 3



En la convencin D-H, cada transformacin homognea Ti esta representada como una
composicin de 4 matrices bsicas.

) ( ) ( ) ( ) ( rot x trans z trans rot Ti =

(
(
(
(

(
(
(
(

(
(
(
(

(
(
(
(


=
1 0 0 0
0 0
0 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0
0 0
i c i s
i s i c
ai
di
i c i s
i s i c
Ti





(
(
(
(

=
1 0 0 0
0 di i c i s
i ais i is c i ic c i s
i aic i is s i ic s i c
Ti







Mecanismo de 1 GDL


prismatica di
rotacin i
qi




Parmetros D-H






(
(
(
(

=
1 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1
0
1
d
T ( )
(
(
(
(

= =

0 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1
1
0
1
0
1
d
T T

(
(
(

=
1
0
0
d
x
(
(
(

=
5
0
0
) 5 ( x
(
(
(

(
(
(

=
1
0
0
1 0 0
0 1 0
0 0 1
d
d R
T

(

1 0
1
d R R
H
T T


(
(
(


0 ) 0 , 0 ( 2 tan
0 ) 0 (
0 ) 1 , 0 ( 2 tan
= =
= =
= =
a
arcsen
a




i di xi ai i
1 d1 0 0 0
Pndulo simple (1 GDL)

1.- Se asignan marcos

2.- Obtener PDH


3.- Obtener la matriz de transformacin

(
(
(
(


=
1 0 0 0
1 1 0 0
1 1 0 1 1
1 1 0 1 1
0
1
d
s a c s
c a s c
T
Vector de coordenadas de postura: Vector de orientacin:
(
(
(

=
1
0
1
) 0 (
d
a
x
(
(
(

=
1
1 1
1 1
d
s a
c a
x

Si se evala en :

(
(
(

=
(
(
(


=
(
(
(

=
(
(
(

=
0
0
0
0
) 1 , 0 ( 2 tan
) (
1
0
1
1
) ( 1
) cos( 1
) (
0
1

a
d
a
d
sen a
a
x


Si se realiza la transformacin inversa para x (0)
(


= =

1 0
0
1
0
1
0
1 1
0
1 0
1
d R R
T T
T T

(
(
(

(
(
(

=
1
1 1
1 1
1 0 0
0 1 1
0 1 1
d
s a
c a
c s
s c
d R
T


(
(
(

(
(
(

=
1
0
1
1 0 0
0 1 0
0 0 1
) 0 (
d
a
d R
T

(
(
(

=
1
0
1
) 0 (
1
0
d
a
x

Y para entonces:

(
(
(

(
(
(

=
1
0
1
1 0 0
0 1 0
0 0 1
) (
d
a
d R
T

(
(
(

=
1
0
1
) (
1
0
d
a
x ) 11 , 21 ( 2 tan r r a =
i di xi ai i
1 d1 0 a1 1
Manipulador RP


1.- Asignar marcos

2.- Obtener parmetros D-H







3.- Obtener las matrices de transformacin

T T T
1
2
0
1
0
2
=
(
(
(
(

=
(
(
(
(

(
(
(
(


=
1 0 0 0
1 1 0 0
1 2 0 1 1
1 2 0 1 1
1 1 0 0
0 0 0 0
0 0 1 0
2 0 0 1
1 0 0 0
1 1 0 0
0 0 1 1
0 0 1 1
0
2
d
s a c s
c a s c a
d
c s
s c
T

(
(
(

=
1
1 2
1 2
d
s a
c a
x
(
(
(

=
1
0
2
) 0 (
d
a
x ( )
(
(
(

=
1
2
0
2
d
a x



( )
(
(
(

=
1
2 7071 . 0
2 7071 . 0
4
d
a
a
x


(
(
(

=
0
0


(
(
(

0
0



Robot 2P


1.- Asignar marcos

2.- Obtener PDH





3.- Obtener MTH

(
(
(
(

=
(
(
(
(

(
(
(
(

=
1 0 0 0
1 1 0 0
0 0 1 0
2 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
2 0 0 1
1 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1
0
2
d
a a
d
T
(
(
(

=
1
0
2
d
a
x
i di i i ai
1 0 1 0 0
2 d1 0 0 0

i di i ai i
1 d1 0 0 0
2 0 0 a2 0
(
(
(
(
(

= |

\
|
=
= |

\
|
=
(
(
(

0
1
0
tan
0 ) 0 (
0
1
0
tan
0
0
0
1
1
arcsen

Robot 2R

1.- Asignar marcos

2.- Obtener PDH






(
(
(
(


(
(
(
(


=
1 0 0 0
0 1 0 0
2 2 0 2 2
2 2 0 2 2
1 0 0 0
0 1 0 0
1 1 0 1 1
1 1 0 1 1
0
2
s a c s
c a s c
s a c s
c a s c
T

(
(
(
(

+ + +
+
=
1 0 0 0
0 1 0 0
1 1 1 2 2 1 2 2 0 2 1 2 1 2 1 2 1
1 1 1 2 2 1 2 2 0 2 1 2 1 2 1 2 1
0
2
s a c s a s c a c c s s s c c s
c a s s a c c a c s s c s s c c
T


Vector de coordenadas de postura: Vector de orientacin:

(
(
(

+ +
+
=
0
) 2 1 2 1 ( 2 1 1
) 2 1 2 1 ( 2 1 1
c s s c a s a
s s c c a c a
x
(
(
(

+
=
) 0 ( 2 tan
) 0 (
) 2 1 2 1 ; 2 1 2 1 ( 2 tan
a
asen
s s c c s c c s a


(
(
(

+ +
+
=
0
) 0 0 ( 2 ) 0 ( 1
) 0 1 ( 2 ) 1 ( 1
) 0 , 2 ( a a
a a
x
(
(
(

+
=
0
0
2 1
) 0 , 0 (
a a
x

( )
(
(
(

+ =
(
(
(

+ +
+
=
0
2 1
0
0
) 1 0 ( 2 ) 1 ( 1
) 0 0 ( 2 0
0 ,
2
a a a a
a
x

( )
(
(
(

=
(
(
(

=
0
0
2
0
0
) 0 , 1 ( 2 tan
0 ,
2

a



i di i ai i
1 0 0 a1 1
2 0 0 a2 2

Para el manipulador mostrado en la foto, obtener:
1) Su arquitectura
2) Su diagrama de alambre
3) Su asignacin de marcos
4) Sus parmetros D-H
5) Sus matrices de transformacin
Nota: despreciar la altura de la base a la primera articulacin.


Robot Robix




Parmetros D-H










(
(
(
(


(
(
(
(


(
(
(
(


=
1 0 0 0
0 1 0 0
3 3 0 3 3
3 3 0 3
1 0 0 0
0 1 0 0
2 2 0 2 2
2 2 0 2 2
1 0 0 0
0 1 0 0
1 1 0 1 1
1 1 0 1 1
0
3
s a c s
c a s c
s a c s
c a s c
s a c s
c a s c
T

(
(
(
(


(
(
(
(

+ + + +
+
=
1 0 0 0
0 1 0 0
3 3 0 3 3
3 3 0 3 3
1 0 0 0
0 1 0 0
1 1 2 2 1 2 2 1 0 2 1 2 1 2 1 2 1
1 1 2 2 1 2 2 1 0 2 1 2 1 2 1 2 1
0
3
s a c s
c a s c
s a s a c c a s c c s s s c c s
c a s a s c a c c s s c s s c c
T

(
(
(
(

+ + + + + +
+ + + + +
=
1 0 0 0
0 1 0 0
1 1 2 2 1 2 2 1 ) 2 1 2 1 ( 3 3 ) 2 1 2 1 ( 3 3 0 ) 2 1 2 1 ( 3 ) 2 1 2 1 ( 3 ) 2 1 2 1 ( 3 3 ) 2 1 2 1 (
1 1 2 2 1 2 2 1 ) 2 1 2 1 ( 3 3 ) 2 1 2 1 ( 3 3 0 ) 2 1 2 1 ( 3 ) 2 1 2 1 ( 3 ) 2 1 2 1 ( 3 3 ) 2 1 2 1 (
s a s a c c a s c c s s s a s c c s c a c c s s c c s s c c c c s s s c s c c s
c a s a s c a c c s s c s a s s c c c a c s s c c s s c c s c s s c s c s s c c


(
(
(

=
0
0
) 11 , 21 ( 2 tan
) , , (
r r a




i di i ai i
1 0 0 a1 1
2 0 0 a2 2
3 0 0 a3 3
Manipulador Scara

1) Asignar marcos
2) Obtener parmetros D-H
3) Hacer la composicin de las matrices de
transferencia homognea.
4) Obtener las coordenadas de postura y la
orientacin con ngulos de Euler.










(
(
(
(


(
(
(
(

(
(
(
(

(
(
(
(


=
1 0 0 0
4 1 0 0
0 0 1 1
0 0 1 1
1 0 0 0
3 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 ) 180 ( 2 ) 180 ( 0
2 2 ) 180 ( 2 ) 180 ( 2 2
2 2 ) 180 ( 2 ) 180 ( 2 2
1 0 0 0
0 1 0 0
1 1 0 1 1
1 1 0 1 1
0
4
d
c s
s c
d c s
s a s c c c s
c a s s c s c
s a c s
c a s c
T


(
(
(
(


+ + + + +
+ + + + + +
=
1 0 0 0
3 4 1 0 0
1 1 2 2 1 2 2 1 0 ) 2 1 2 1 ( 4 ) 2 1 2 1 ( 4 ) 2 1 2 1 ( 4 ) 2 1 2 1 ( 4
1 1 2 2 1 2 2 1 0 ) 2 1 2 1 ( 4 ) 2 1 2 1 ( 4 ) 2 1 2 1 ( 4 ) 2 1 2 1 ( 4
0
4
d d
s a s a c c a s c c s s c c c s s s c c s s s s c c s c
c a s a s c a c c s s c c c s s c s c s s c s s s c c c
T


Si se evala:
0
3
0
0
4
3
2
1
=
=
=
=
q
d q
q
q

(
(
(


+
=
4 3
0
1 2
) 0 , 3 , 0 , 0 (
d d
a a
d x

(
(
(

=
(
(
(

=
180
0
0
) 1 , 0 tan(
) 0 (
) 1 , 0 ( 2 tan
) , , (
a
arcsen
a


Si se evala:
2
2
0
0
4
3
2
1

=
=
=
=
q
d q
q
q

(
(
(


+
=
4 3
0
1 2
)
2
, 2 , 0 , 0 (
d d
a a
d x



(
(
(

=
(
(
(

=
180
0
180
) 1 , 0 tan(
) 0 (
) 0 , 1 ( 2 tan
) , , (
a
arcsen
a



(
(
(
(
(
(
(
(

Pz
Py
Px
x
i i di ai i
1 1 0 a1 0
2 2 0 a2 180
3 0 d3 0 0
4 4 d4 0 0
MODELO CIEMATICO IVERSO DE POSICIO
(CIEMATICA IVERSA)
Ahora, en el modelo inverso, se deducirn las expresiones para calcular las coordenadas
articulares que configuran al robot, de forma tal que se coloque a su rgano terminal en
una situacin especificada previamente por el usuario. Esta en forma de funcin.
) (
1
x f q

=

METODO DE PAUL
Manipulador RP

(
(
(
(


=
1 0 0 0
1 1 0 0
0 0 1 1
0 0 1 1
0
1
d
c s
s c
T
(
(
(
(

=
1 0 0 0
0 1 0 0
0 0 1 0
2 0 0 1
1
2
a
T

(
(
(
(


=
1 0 0 0
1 1 0 0
1 2 0 1 1
1 2 0 1 1
0
2
d
s a c s
c a s c
T
( )
T TU
T U T
T T T U
U T
1
2 0
0
1
1
2 0
1
0
1
1
0
1
2
0
1 0
0
0
2
=
=
=
=


=
1 0
0
1
0
1
0
1 1
0
d R R
T
T T

(
(
(

=
(
(
(

(
(
(

=
1
0
0
1
0
0
1 0 0
0 1 1
0 1 1
d d
c s
s c
d R
T

(
(
(

=
0
5
5
x


(
(
(
(

=
(
(
(
(

(
(
(
(

1 0 0 0
0 1 0 0
0 0 1 0
2 0 0 1
0 0 0 0 1 0 0 0
1 1 0 0
0 0 1 1
0 0 1 1 a
pz az nz sz
py ay ny sy
px ax nx sx
d
c s
s c

(
(
(
(

=
0 0 0 0
0
pz az nz sz
py ay ny sy
px ax nx sx
U

px
py
c
s
cipy sipx
cipy px s
=
=
= +
1
1
0 1

|

\
|
=
=
px
py
q
px
py
q
arctan 1
) 1 tan(


(
(
(
(

=
(
(
(
(


(
(
(
(

=
1 0 0 0
1 1 0 0
1 2 0 1 1
1 2 0 1 1
1 0 0 0
0 1 0 0
0 0 1 0
2 0 0 1
1 0 0 0
1 1 0 0
0 0 1 1
0 0 1 1
2
1
1
0
d
s a c s
c a s c a
d
c s
s c
T T


(
(
(
(

=
(
(
(
(

(
(
(
(

=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0 1 0 0 0
1 1 0 0
1 2 0 1 1
1 2 0 1 1
2
pz az nz sz
py ay ny sy
px ax nx sx
d
s a c s
c a s c
T
o

2 2
2
2
2 2
2 2
2
2 2 2 2
2 2
2
2 2 2 2
2
2
1 1
1 1
0 1 2 1 1
0 1 2 1 1
py px q
a py px
s a py ci px s
c a py si px c
s a py c px s
c a py s px c
+ =
= +
= +
= +
(

= + +
= +




(
(
(
(

=
1 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1
0
1
d
T
(
(
(
(

=
1 0 0 0
0 1 0 0
0 0 1 0
2 0 0 1
1
2
a
T


( )( ) T U T
1
2 0
0
1
=

(
(
(
(

=
(
(
(
(

(
(
(
(

1 0 0 0
0 1 0 0
0 0 1 0
2 0 0 1
0 0 0 0 1 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1 a
pz az nz sz
py ay ny sy
px ax nx sx
d



MODELADO CIEMATICO DIRECTO DE VELOCIDAD (MCDV)
(CIEMATICA DIFERECIAL)
El modelo cinemtica de un robot busca las relaciones entre las variables articulares (q1,
q2, q3,,qn) y la posicin y orientacin de un robot. No obstante, adems de lo anterior,
debe permitir conocer la relacin entre sus respectivos derivados.

La relacin entre las velocidades de las coordenadas articulares y las de posicin y
orientacin del extremo del robot se obtiene a travs de la matriz jacobiana.










La relacin directa en forma de ecuacin puede representarse como:
q J x & & =
Jacobiana
directa
Velocidades del
extremo del robot

(x1, x2,, xn)
Velocidad de las
articulaciones

(q1, q2,, qn)
Jacobiana
inversa
px q
pz q
q pz
q d
pz d
pz q
=
=
=
=
= +
=
2
1
1
1 1
0 1
1
Expresada en forma matricial:

(
(
(
(

=
(
(
(
(

qn
q
q
J
xn
x
x
M
&
&
M
&
&
2
1
2
1

(
(
(
(
(
(
(

=
qn
fxn
q
fn
q
fxn
qn
fx
q
fx
q
fx
qn
fx
q
fx
q
fx
J
L
M O M M
L
L
2 1
2
2
2
1
2
1
2
1
1
1



Manipulador P
Modelado cinemtica directo de posicin
1 1
1
1
1 1
1 ) 1 ( 1
1
1
1
1
1 1
1 1
1 1
q fx
q
fx
J
q x
q x
q
q
fx
x
q J x
q x z
d q z
=
(

=
=
=
(

=
=
= =
= =
&
& &



Manipulador R

MCDP

1
) 1 ( 1
) 1 cos( 1
d z
q sen a y
q a x
=
=
=

s m x
q q sen a x
q
q
fx
x
/ 4 1
1 ) 1 ( 1 1
1
1
1
1
=
=
(

=
&
& &
&

2
1
/ 2 1
2 1

=
=
=
q
s m q
m q
&


Robot 2P


MCDP

(
(
(

=
1
0
2
d
a
x
x d q fx
z d q fx
= = =
= = =
2 2 2
1 1 1


Para el MCDV se tiene

Jq
x
z
x
x
q J x
=
(

=
(

=
&
&
&
&
& &
2
1

(

=
(

=
(
(
(
(

=
2
1
2
1
1 0
0 1
2
2
1
2
2
1
1
1
q
q
q
q
q
fx
q
fx
q
fx
q
fx
J
&
&
&
&

(

=
(

=
(

2
1
2
1
q
q
x
z
x
x
&
&
&
&
&
&



Robot RP

MCDP MCDV

(
(
(

=
1
1 2
1 cos 2
d
senq a
q a
x
) 1 ( 2 2
) 1 cos( 2 1
2 2
1 1
q sen a y x
q a x x
a q
q
= =
= =
=
=

q J
y
x
x
x
q J x
&
&
&
&
&
& &
=
(

=
(

=
2
1


(

=
(

=
(

+
+
=
(

=
(
(
(
(

=
y
x
x
x
q q q q q
q q q q q
q
q
q q q
q q q
q
fx
q
fx
q
fx
q
fx
J
&
&
&
&
& & 2
1
1 sin 2 2 ) 1 sin( 2
1 cos 2 1 ) 1 sin( 2
2
1
1 sin 1 cos 2
1 cos 1 sin 2
2
2
1
2
2
1
1
1


Robot 2R

A partir de MCDP


(
(
(

+ +
+
=
0
) 2 cos 1 2 1 (cos 2 1 1
) 2 1 2 cos 1 (cos 2 1 cos 1


sen sen a sen a
sen sen a a
x


Tomando en cuenta que las variables articulares son 1 y 2 decimos que:

1 1 = q 2 2 = q

Para obtener el MCDV, se tiene pues z
&
ser 0 porque no hay una variable articular que
defina esta velocidad lineal, por lo tanto:

q J
y
x
x
x
&
&
&
&
&
=
(

=
(

2
1




(
(
(

=
(
(
(

=
z
y
x
x
x
x
q J x
&
&
&
&
&
&
& &
3
2
1
Obtener Jq

[ ] [ ]
[ ] [ ]
(

+ +
+
=
(
(
(
(

=
2
1
2 cos 1 2 cos 1 cos 2 2 cos 1 cos 2 1 2 1 cos 1
2 cos 1 2 1 cos 2 2 1 cos 2 cos 1 2 1 1
2
2
1
2
2
1
1
1
q
q
q senq q q a q q senq senq a q a
q senq senq q a senq q q senq a senq a
q
fx
q
fx
q
fx
q
fx
J


Evaluando para el robot 2R

cm a
cm a
s rad q
s rad q
rad q
rad q
70 2
70 1
/ 2 . 2
/ 2 . 1
4
2
4
1
=
=
=
=
=
=
&
&

=
(


=
(

=
(

s cm
s cm
y
x
x
x
/ 89 . 9
/ 8 . 37
2 . 0
2 . 0
0 49 . 49
70 4974 . 119
2
1
&
&
&
&


Adems de poder obtener las velocidades del rgano terminal con la matriz jacobiana,
pueden obtenerse las velocidades angulares que determinan los derivados de los ngulos
de orientacin, tanto que Bryant como de Euler.

La matriz jacobiana obtenida con la formulacin de derivacin parcial recibe el nombre
de matriz jacobiana analtica.
As podemos expresar el conjunto de velocidades de postura
n
R X como
(

x&










Retomando el manipulador R


(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(

1
0
0
0
1 ) 1 cos( 1
1 ) 1 ( 1
q
q q a
q q sen a
wz
wy
wx
vz
vy
vx
&
&
&




(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(

z
y
x
z
y
x
z
y
x
vz
vy
vx
&
&
&
&
&
&

A partir de MCDP

1 1
1 cos 1
senq a y
q a x
=
=


[ ]
(

=
(

(
(
(

=
(

=
(

) 1 ( 1 cos 1
) 1 ( 1 1
1
1
2
1
1
2
1
q q a
q senq a
y
x
q
q
fx
q
fx
y
x
x
x
&
&
&
&
&
&
&
&

1 cos 1
1
2
1 1
1
1
q a
q
fx
senq a
q
fx
=




MODELADO DIAMICO
La dinmica se ocupa de la relacin entre fuerzas que actan sobre un cuerpo y el
movimiento que en este se origina. El modelo dinmico del robot tiene por objetivo
conocer la relacin entre el movimiento del robot y las fuerzas implicadas en el mismo.

Este modelo relaciona matemticamente:
La localizacin del robot definida por sus variables articulares
Las fuerzas y pares aplicados en las articulares
Los parmetros dimensionales del robot, como la longitud al centro de la masa e
inercias de cada eslabn

El modelo dinmico de un robot puede verse como un sistema dinmico cuya entrada
puede ser el vector o escalar (tau) y sus salidas los vectores o escalares q
1
y q& segn el
grado de libertad del manipulador.






ECUACIOES DE MOVIMIETO DE LAGRAGE
Las ecuaciones dinmicas de un robot manipulador pueden obtenerse a partir de las
ecuaciones de movimiento de Newton. El inconveniente que presenta este mtodo es
que el anlisis se complica notablemente cuando aumenta el nmero de articulaciones
del robot. En estos casos es conveniente emplear las ecuaciones de movimiento de
Lagrange. Reciben este nombre debido a que Joseph Louis Lagrange las dio a conocer
en 1788.

Considrese un manipulador de n grados de libertad y n eslabones. La energa total
de ste ser la suma de sus energas cinticas y potencial, esto es:

) ( ) , ( ) , ( q U q q k q q E + = & &
Donde: [ ]
T
qn q q q ,..., 2 , 1 =

ROBOT
q
q&

El lagrangiano de un robot manipulador de n grados de libertad es la diferencia entre
su energa cintica y potencial esto es:

) ( ) , ( ) , ( q U q q k q q L = & &

Las ecuaciones de movimiento de Lagrange estn definidas por la siguiente ecuacin:

=

q
q q L
q
q q L
dt
d ) , ( ) , ( & &


En forma iterativa:

i
qi
q q L
i q
q q L
dt
d
=

) , ( ) , ( &
&
&


Donde i ser el par aplicado a cada eslabn n i ,..., 3 , 2 , 1 =

[ ] [ ] [ ]
2 1 2 2 1
2
1 2 1
2
2 2 1
2
1
2
2 2
2
1
2
1 2
2
1
2
1
2
1 1
2
1
) 2 cos( 2 2
2
1
2
1
) , ( 2
2
1
2
1
) , ( 1
q q I q q q q lc l m q q q q lc m q l m q q k
q Ii q lc m q q k
& & & & & & & & & & &
& & &
+ + + + + + + =
+ =



CALCULO DE U (q)
De igual manera que con K (q, q& ) el termino de la energa potencial puede
descomponerse en 2 partes correspondientes a las energas potenciales de cada una de
los 2 eslabones.

La expresin que determina la energa potencial es:

mgh U =
m masa del cuerpo
gaceleracin debida a la gravedad
haltura donde se ubica el anterior

Para el caso de este manipulador, la energa potencial asociada al primer eslabn esta
dada por:

) cos( ) (
1 1 1 1
q c g m q U
l
=

Asimismo para el segundo eslabn se tiene:

) cos( ) cos( ) (
2 1 2 2 1 1 1 2
q q gl m q gl m q U + =




Calculo del lagrangiano

[ ] [ ] [ ]
( ) [ ]
2
2 1 2
2
1 2 1 2 2
2
1 2
2
1 1
2
2 2 1
2
1
2
2 2
2
1
2
1 2
2
1 1
2 1 2 1
2
1
2
1
cos
) 1 cos( 2
2
1
2
1
) , (
) ( ) ( ) , ( ) , ( ) , (
q q I q Ii q q glc m
q g l m lc m q q q q lc m q l m lc m q q L
q U q U q q k q q k q q L
& & &
& & & & & &
& & &
+ + + + +
+ + + + + + =
+ =


[ ]
[ ]
2 1 2 1 1 2 2 2 1 2
1 2 2 1 2 2
2
2 2 1
2
2 2 1
2
1 2
2
1 1
1
) cos(
) cos( 2
) , (
q q I q I q q lc l m
q q lc l m q lc m q lc m q l m lc m
q
q q L
& & & &
& & & &
&
+ + + +
+ + + + =



2 2
2
1 1
1
q
L
q
L
dt
d
q
L
q
L
dt
d



[ ] [ ]
[ ] ) sin( ) sin( ) ( 2 ) sin( 2
) cos( ) cos( 2
2 1 2 2 1 1 2 1 1
2
2 2 2 1 2 1 2 2 1 2
2 2 2 2 1 2 2 2 2 1 2 1 2 2 1 2
2
1 2 1 2 1 1
q q g lc m q g l m lc m q q sen lc l m q q q lc l m
q I q lc l m c l m q I I q lc l m l m c l m
+ + + +
+ + + + + + + =
& & &
& & &

[ ] [ ] ) sin( ) sin( ) cos(
2 1 2 2
2
1 2 2 1 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2
q q g lc m q q lc l m q I c l m q I q lc l m c l m + + + + + + + = & & & & &


Modelo dinmico del manipulador 2R en forma compacta
El propsito de contar con el modelo dinmico de cualquier manipulador en su forma
compacta es el poder realizar una accin de control utilizando el concepto de
retroalimentacin del vector de estados como se menciono con anterioridad, el modelo
dinmico de un robot en serie puede representarse con la ecuacin:

) ( ) , ( ) ( q g q q q c q q m + + = & & & &

Si se desea representar el modelo anterior con una retroalimentacin de estados, se tiene

[ ]
(


=
(

) ( ) , ( ) (
1
q g q q q c q m
q
q
q
dt
d
& &
&
&


Es importante que la inversa de la matriz de inercias ) (
1
q m

exista.
En este caso para el manipulador 2R:
2 2
2 2
) , (
) (
x
x
R q q q c
R q m

& &


(

+
(

+
(

=
(

) ( 2
) ( 1
2
1
22 21
12 11
2
1
22 21
12 11
2
1
q g
q g
q
q
c c
c c
q
q
m m
m m
&
&
& &
& &


2
2
2 2 22
2 2 2 1 2
2
2 2 21
2 2 2 1 2
2
2 2 12
2 1 2 2 1 2
2
2 2
2
1 2
2
1 1 11
) cos(
) cos(
) cos( 2
I lc m m
I q lc l m lc m m
I q lc l m lc m m
I I q lc l m lc m l m lc m m
+ =
+ + =
+ + =
+ + + + + =


0
) )( sin(
) sin(
) sin(
22
1 2 2 1 2 21
1 2 2 1 2 12
2 2 2 1 2 11
=
=
+ =
=
c
q q lc l m c
q q lc l m c
q q lc l m c
&
& &
&


g q q lc m g
g q q lc m g q sen l m lc m g
) sin(
) sin( ) ( ) (
2 1 2 2 2
2 1 2 2 1 1 2 1 1 1
+ =
+ + + =



Robot 3P

Calculo de energa cintica


1 1 1 1
2
1
) , (
) , ( 2 ) , ( 1 ) , (

T
m q q k
q q k q q k q q k
=
+ =
&
& & &




Vector de posicin para el primer eslabn a su centro de masa

(
(
(

=
1
0
0
q
x
(
(
(

=
q&
0
0
[ ]
(
(
(

=
1
0
0
1 0 0 1
2
1
) , ( 1
q
q m q q k
&
&
2
1 1 1
2
1
) , ( q m q q k & & =
2 2 2 2
2
1
) , (
T
m q q k = &

Vector de posicin para el segundo eslabn a su centro de masa

(
(
(

=
1
2
0
2
q
q x [ ]
(
(
(

= =
1
2
0
1 2 0 ) 2 ( 2
q
q q q x
dt
d
& & ) ( 2
2
1
) , (
2
2
2
1 2
q q m q q k & & & + =

Vector de posicin para el tercer eslabn a su centro de masa

(
(
(

=
1
2
3
3
q
q
q
x
(
(
(

=
1
2
3
3
q
q
q
&
&
&
) (
2
1
) , (
2
3
2
2
2
1 3 3
q q q m q q k & & & & + + =
Calculo de la energa potencial

1 3 ) ( 3
1 2 ) ( 2
1 1 ) ( 1
) ( 3 ) ( 2 ) ( 1 ) (
gq m q U
gq m q U
gq m q U
q U q U q U q U
=
=
=
+ + =


1 ) 3 2 1 ( ) (
3
2
1
) 3 2 (
2
1
) 3 2 1 (
2
1
) , (
2
3
2
2
2
1
gq m m m q U
m q m m q m m m q q q k
+ + =
+ + + + + = & & & &


Calculo del Lagrangiano

[ ] [ ] 1 ) 3 2 1 ( 3
2
1
3 2
2
1
3 2 1
2
1
) , (
) ( ) , ( ) , (
2
3
2
1
gq m m m m q m m m m m q q q L
q U q q k q q L
+ + + + + + + =
=
& & &
& &


[ ] 1 3 2 1
1
1 ) 3 2 1 (
1
q m m m
q
L
dt
d
q m m m
q
L
& &
&
&
+ + =
(

+ + =



[ ]
0
2
2 3 2
2
2 ) 3 2 1 (
1
=

+ =
(

+ + =

q
L
q m m
q
L
dt
d
q m m m
q
L
& &
&
&

0
3
3 3
3
3 3
3
=

=
(

q
L
q m
q
L
dt
d
q m
q
L
& &
&
&
&


[ ]
[ ]
3 3 3
2 3 2 2
) 3 2 1 ( 1 3 2 1 1
q m
q m m
g m m m q m m m
& &
& &
& &
=
+ =
+ + + + + =



(
(
(

+ +
+
(
(
(

(
(
(

+
(
(
(

(
(
(

+
+ +
=
(
(
(

(
(
(

+ +
+
(
(
(

(
(
(

+
(
(
(

(
(
(

=
(
(
(

0
0
) 3 2 1 (
3
2
1
0 0 0
0 0 0
0 0 0
3
2
1
3 0 0
0 3 2 0
0 0 3 2 1
3
2
1
0
0
) 3 2 1 (
3
2
1
0 0 0
0 0 0
0 0 0
3
2
1
33 32 31
23 22 21
13 12 11
3
2
1
g m m m
q
q
q
q
q
q
m
m m
m m m
g m m m
q
q
q
q
q
q
m m m
m m m
m m m
&
&
&
& &
& &
& &
&
&
&
& &
& &
& &





COTROL

Objetivo de control en robots manipuladores:
Asegurar convergencia a la consigna establecida
Realizacin de la consigna en el mejor tiempo posible

Siguiendo los criterios de control clsico tambin se busca tener una respuesta
crticamente amortiguada en cada variable de control del robot.



Para los distintos controladores existen 2 tipos de control de posicin:
Control para regulacin (set-point)
Control para seguimiento (Trucking)


Control PD
De manera similar a lo visto en control clsico, puede generarse una ley de control que
gobierne el movimiento de un robot manipulador. Para este caso la ley esta dada por la
ecuacin:
q kv q kp u &
~ ~
+ =
En donde kv y kp sern escalares si el robot a controlar es de 1 GDL y matrices
diagonales si es de otro GDL

q
~
error de posicin
q&
~
error de velocidad
q qd q =
~


Ejercicio: Implementar un controlador PD de regulacin para el manipulador 2R.
Dado que el control se utilizara para regulacin, la ley de control puede simplificarse
como:
q kv q kp u & =
~


Esto porque al derivar q qd q =
~
, qd es una constante, entonces:

q q
q q
&
&
&
&
=
=
~
0
~


Control difuso
Para conocer los conceptos que ataen a esta metodologa de control es menester
conocer los fundamentos de lgica difusa.

Lgica difusa
Este concepto lo presenta el investigador iran Lofti Zaden en 1973. En la teora comn
de conjuntos solo puede establecerse con 2 valores: cero o uno, es decir, no se acepta
una pertenencia parcial.
Este tipo de conjuntos reciben tambin el nombre de conjuntos ntidos o crisp.
Un ejemplo de lo anterior se muestra a continuacin:

Se desea establecer cuan joven es una persona a travs del siguiente conjunto ntido.



Este conjunto ntido no da una idea clara sobre el grado de juventud del individuo, es
decir, acaso a los 34 aos se es joven y a los 36 ya no?
Los conjuntos difusos permiten expresar este tipo de problemas a resolver con medios
computacionales.

La edad en aos que define cuan joven se es, queda expresada en una forma mas clara
con el siguiente conjunto difuso.



Puede decirse que una persona con esta representacin es joven a un grado de
membresa de 0.7 a los 20 aos y de 0.4 a los 30 aos.

Algunos conceptos:
Variable lingstica es el concepto a calificar como la altura, peso, edad o
error para el caso de control.
Valor lingstico son las clasificaciones de la variable lingstica: alta, bajo,
medano, poco, muy, etc.
Soporte es el conjunto de elementos que pertenecen al conjunto difuso en
cuestin.

s { } 0 ) ( : ) ( > = x A U x A upport



Tipos de funciones de membresa





Ejemplo de aplicacin:
Determinar el porcentaje de propina a dejar en un restauran en funcin del servicio y la
cantidad de la comida.

















Contador difuso para el pndulo sin friccin
La ley de control a aplicar esta dada por )
~
,
~
( q q u & = y el diagrama a bloques
correspondiente esta representado de la siguiente forma, ya trasladado a Simulink:






Servicio
(0-10)
Comida
(0-10)
IF servicio IS pobre OR
comida IS mala THEN
propina IS poca
IF servicio IS bueno
THEN propina IS
regular
IF servicio IS excelente
OR comida IS muy
buena THEN propina IS
mucha

Propina
(0-10)
q
~

q&
~


Algunas de las diferencias y analogas entre este controlador y el controlador PD son:

El ancho de la funcin de membresa que corresponde a los errores de posicin y
velocidad llammosle ZE-, es anlogo a las ganancias kp y v, respectivamente.
En este controlador, no se requiere usar saturadotes el valor mximo de par se
especifica en el sistema sugeno-.

Si se desea disear un controlador difuso para el pndulo sin friccin.

Funciones de membresa
Para este propsito, bastara utilizar 5 funciones triangulares y trapezoidales











Donde:
ZE no aplicar par
PB par positivo grande
PS par positivo pequeo
NS par negativo pequeo
NB par negativo grande


Base de reglas (premisas)
Esta base de reglas o premisas puede representarse como un conjunto de oraciones o
como una tabla de consulta o look-up table en ingles.


q&
~
\ q
~

PB PS ZE NS NB
PB PB PB PS PS ZE
PS PB PB PS ZE ZE
ZE PS PS ZE NS NS
NS ZE ZE NS NB NB
NB ZE NS NS NB NB


A(x)
-
NS ZE PS
PB NB
Error de posicin

You might also like