Professional Documents
Culture Documents
Tabla de contenido
UNIDAD 1 .......................................................................................................................................... 6
HERRAMIENTAS MATEMTICAS Y RECURSOS .................................................... 6
COMPUTACIONALES................................................................................................................. 6
CAPTULO 1: HERRAMIENTAS MATEMTICAS ........................................................................... 6
LECCIN 1: REPRESENTACIN DE LA POSICIN .................................................................... 7
LECCIN 2: REPRESENTACIN DE LA ORIENTACIN......................................................... 10
LECCIN 3: NGULOS DE EULER ................................................................................................... 18
LECCIN 4: MATRICES DE TRANSFORMACIN HOMOGNEA ........................................ 21
LECCIN 5: CUATERNIOS ................................................................................................................... 31
CAPTULO II: OPERACIONES MATEMTICAS EN EL ENTORNO DE TRABAJO
COMPUTACIONAL. ................................................................................................................................. 33
LECCIN 1: OPERACIONES GENERALES SOBRE VECTORES. ......................................... 33
LECCIN 2: OPERACIONES GENERALES SOBRE MATRICES. .......................................... 40
LECCIN 3: MATRICES DE TRANSFORMACIN HOMOGNEA: POSICIN................ 48
LECCION 4: MATRICES DE TRANSFORMACION HOMOGENEA: ROTACION .............. 51
LECCIN 5: MATRICES DE TRANSFORMACIN HOMOGNEA: TRASLACIN
SEGUIDA DE ROTACIN ....................................................................................................................... 56
CAPITULO III: IMPLEMENTACIONES COMPUTACIONALES. ................................................ 60
LECCIN 1: REPRESENTACIN DE LA POSICIN: EJECUCIONES
COMPUTACIONALES. ............................................................................................................................. 60
LECCIN 2: REPRESENTACIN DE LA ORIENTACIN, EJECUCIONES
COMPUTACIONALES .............................................................................................................................. 65
LECCIN 3: REPRESENTACIN DE LA POSICIN Y ORIENTACIN: EJECUCIONES
COMPUTACIONALES .............................................................................................................................. 69
LECCIN 4: CONCATENACIN DE LAS OPERACIONES DE TRASLACIN Y
ORIENTACIN, EJECUCIONESCOMPUTACIONALES ............................................................ 72
LECCIN 5: NGULOS DE EULER: EJECUCIONES COMPUTACIONALES ................... 75
BIBLIOGRAFIA ..........................................................................................................................174
UNIDAD 1
HERRAMIENTAS MATEMTICAS Y RECURSOS
COMPUTACIONALES
CAPTULO 1: HERRAMIENTAS MATEMTICAS
PARA LA LOCALIZACIN ESPACIAL
INTRODUCCIN
Una de las tareas bsicas de un robot y por lo dems habitual, consiste en la
manipulacin de piezas, lo cual se hace posible, mediante el movimiento
espacial de sus dispositivos extremos. La manipulacin robtica, nos indica que
tanto partes como herramientas, se mueven alrededor del espacio por algn
tipo de mecanismo. Cuando estudiamos la robtica, ineludiblemente nos
interesamos con los detalles de la localizacin de objetos en dos y tres
dimensiones. Estos objetos son los acoples del manipulador, las partes y
herramientas con las cuales l trata, y otros objetos en el entorno del
manipulador.
En esta direccin, conviene mencionar, que la informacin de la posicin, al
igual que la posible orientacin de sta con respecto a la base del robot, es
factor determinante para que ste adquiera la habilidad propia que le permita
maniobrar de manera indistinta con las piezas.
Todo lo anterior nos invita a buscar y apropiarnos de un conjunto de
instrumentos y herramientas matemticas, enfocadas a determinar de manera
especfica tanto la posicin como la orientacin en el entorno espacial de
piezas, accesorios y, en general, de cualquier objeto. Los recursos matemticos
que trataremos, deben ofrecer la potencialidad mnima que nos garantice llegar
de manera sencilla a las relaciones espaciales entre los diferentes objetos, y en
especial, entre stos y el manipulador.
REPRESENTACIN DE LA POSICIN EN
COORDENADAS CARTESIANAS
En un plano: Sistema coordenado OXY de referencia, para el cual el punto a se
expresa por las componentes (x, y). A este punto le corresponde un vector p(x,
y).
En el espacio de tres dimensiones: El vector p est definido por las respectivas
componentes cartesianas (x, y, z).
REPRESENTACIN DE LA POSICIN EN
COORDENADAS POLARES Y CILNDRICAS
En un plano: la localizacin de un punto, es decir, el vector p, se expresa como
p (r, ) en coordenadas polares.
En esta representacin, r es la distancia desde el origen O hasta extremo del
vector p; en tanto que es el ngulo formado por el vector p con el eje OX.
En tres dimensiones: el vector p, queda expresado como p (r, , Z) mediante
las coordenadas cilndricas.
REPRESENTACIN DE LA POSICIN EN
COORDENADAS ESFRICAS
En este caso, el vector p posee como coordenadas esfricas (r, , ), en donde
la componente r es la distancia que va desde el origen O hasta el extremo del
vector p; la componente es el ngulo formado por la proyeccin del vector p
sobre el plano OXY con el eje OX; y la componente es el ngulo formado por
el vector p con el eje OZ.
LECCIN 2: REPRESENTACIN DE LA
ORIENTACIN
Cuando necesitamos definir un punto en el espacio, es suficiente a travs de los
datos correspondientes a su posicin. Pero, para el caso de un slido, se precisa
adicionalmente contar con su orientacin respecto a un sistema de referencia.
Para el caso que nos ocupa, es decir, el de un robot, adems de especificar la
posicin de extremo, tambin se requiere indicar su orientacin. Una
orientacin referida al espacio tridimensional, la podemos definir mediante tres
grados de libertad, lo que se traduce como tres componentes linealmente
independientes. La orientacin de un objeto respecto a un sistema de
referencia, se intenta de manera habitual y relativamente cmoda, asignando al
objeto un nuevo sistema, y luego se estudia la relacin espacial que existe entre
estos dos sistemas, cuya versin es la de coordenadas rectangulares.
Casi siempre, esta relacin se presenta mediante la posicin y orientacin del
sistema, asociado al objeto respecto al de referencia. Para poder ejecutar el
anlisis de los diferentes mtodos con los cuales se representan las
orientaciones, se consideran que ambos coinciden en el origen, y que por
consiguiente no se registra cambio de posicin entre ellos.
El sistema de coordenadas que esta fijo en el espacio tridimensional, se
considera que es el sistema de referencia. El otro sistema de coordenadas est
girando con respecto al sistema de referencia.
Fsicamente, podemos considerar que este sistema de coordenadas, es un
sistema de coordenadas ligado al cuerpo. Es decir, se encuentra permanente y
convenientemente unido al cuerpo rgido (por ejemplo, un elemento del brazo
del robot) y se mueve junto con l. Un punto p en el espacio se puede
representar por sus coordenadas con respecto a ambos sistemas de
coordenadas.
Una forma que facilita el anlisis, consiste en considerar al punto en reposo y
fijo con respecto al sistema que representa el giro. De esta manera, el punto p
MATRICES DE ROTACIN
En el espacio del algebra matricial, encontramos el nicho adecuado que
contiene todos los ingredientes esenciales, los cuales hacen posible que
podamos adentrarnos en la tarea de la descripcin de las orientaciones.
Los dos sistemas de referencia arriba mencionados son: OXY y OUV.
El sistema OXY es el de referencia fija, y el sistema OUV es el mvil solidario al
objeto. Los vectores unitarios del sistema OXY son
en tanto que los del
sistema OUV son
.
La representacin en ambos sistemas del vector p en el plano, se registra de la
siguiente manera:
En donde
R=[
En un espacio tridimensional:
Los vectores unitarios del sistema OXY
OUVW son
.
]
]
[ ]
En donde,
)=[
)=[
REPRESENTACIN DE LA ORIENTACIN.
COMPOSICIN DE ROTACIONES
Algunos movimientos efectuados por un robot, o algunas de sus piezas, son el
resultado de la aplicacin continua y combinada de varias rotaciones. La
respectiva definicin y manipulacin de las cantidades matemticas asociadas,
se resuelve mediante la operacin llamada composicin de matrices de
rotacin.
Consideremos la situacin siguiente: al sistema OUVW tratado anteriormente
se le aplica una rotacin con ngulo sobre OX, la cual es seguida de una
rotacin de ngulo
sobre OY, ms la rotacin de ngulo sobre OZ. La
rotacin resultante global requerida por el movimiento especifico, la podemos
resumir de la manera siguiente:
1. Rotacin sobre OX.
2. Rotacin sobre OY.
3. Rotacin sobre OZ.
Y representarla mediante la expresin:
) (
) (
][
][
( )
[ ]
][ ]
][ ]
ROTACIN
Las rotaciones de un vector alrededor de cada uno de los tres ejes en un ngulo
a, se pueden realizar por las transformaciones de rotacin. En trminos
precisos, para entrar en operacin, definimos tres matrices bsicas de rotacin,
las cuales adoptamos de acuerdo a la rotacin elegida por alguno de los tres
ejes coordenados: OX, OY y OZ del sistema de referencia OXYZ.
[ ]
[ ]
[ ]
((
((
((
))
))
))
al cual le sigue la
ILUSTRACIN
MATRICES DE ROTACIN BSICAS
INTERPRETACIN: EJEMPLO
1. Giro de un ngulo sobre el eje OZ
2. Giro de un ngulo sobre el eje OY
3. Giro de un ngulo sobre el eje OX
La matriz que representa el giro resultante, la obtenemos mediante la
composicin de las matrices bsicas de rotacin, y resulta ser:
) (
) (
][
][
]=
) (
) (
][
][
]=
Las anteriores ilustraciones, nos impulsa a informar que los ejes sobre los que
recaan las operaciones correspondan al sistema de referencia fijo OXYZ. Esto
no impide la posibilidad de organizar un conjunto de matrices de
transformacin, que activen operaciones dirigidas de manera permanente al
sistema que este movindose. Esto se logra enlazando matrices de manera
inversa.
Cuando se presenta una tarea robtica que impone la aplicacin del recurso de
la composicin de varias transformaciones, en las que hay que apelar al uso de
matrices homogneas, se cuenta con algunas normas, los siguientes criterios:
Si el sistema fijo (OXYZ) y el transformado (0UVW) concuerdan, la matriz
homognea de transformacin resulta ser la matriz identidad.
(Matriz de orden 4)
.
Cuando el sistema transformado resulta de traslaciones y rotaciones definidas
con respecto al sistema fijo, la matriz homognea representativa de cada
transformacin, deber pre-multiplicarse sobre las matrices de las respectivas
transformaciones previas.
Cuando el sistema transformado resulta de traslaciones y rotaciones definidas
con respecto al sistema mvil, la matriz homognea representativa de cada
transformacin, deber post-multiplicarse sobre las matrices de las respectivas
transformaciones previas.
Las orientaciones mencionadas nos permiten argumentar, que para cualquier
operacin que incluya composicin de matrices homogneas, podemos tratarla
como si se efectuara cada transformacin con respecto al sistema de referencia
fijo, o con respecto al sistema de referencia mvil.
Finalmente, presentamos una ilustracin grafica de un ejemplo de
transformaciones diversas para localizar un objeto.
LECCIN 5: CUATERNIOS
La variedad de movimientos contemplados en cualquier faena habitual de los
robots, engloba eventos compuestos por giros y cambios de orientacin de
naturaleza diversa y compleja. Esto hace que tengamos que disponer de
recursos y herramientas matemticas verstiles, que sean capaces de
responder a las exigencias propias de las caractersticas mencionadas. Los
cuaternios se constituyen en los dispositivos creados para tal fin, pudiendo ser
empleados como herramienta analtica de gran efectividad y flexibilidad
computacional, para tratar y ocuparse de los giros y orientaciones.
Un cuaternio Q est constituido por cuatro componentes (
) los
cuales representan las coordenadas propias de cuaternio en la base {e, i, j, k}.
IMPLEMENTACIN COMPUTACIONAL:
DESCRIPCIN PRELIMINAR
Para implementar un cuaternio, establecemos su respectivo objeto, el cual
tiene en Matlab un constructor, llamado quaternin. El empleo esta matizado
por tres formas, a saber: la primera nos retorna un nuevo objeto con el mismo
valor de su argumento. La segunda forma inicializa el cuaternio para una
rotacin del ngulo (theta) alrededor del vector v. La tercera forma establece
los cuatro elementos del cuaternio de manera directa, para una rotacin
equivalente de la matriz de rotacin 3x3, o la sub-matriz de rotacin de una
transformacin homognea 4x4.
b=1:3:12
b=
1 4 7 10
c=1:1.5:12
c=
1.0000 2.5000
d=8:1:1
d=
8 7 6
4.0000
5.5000
7.0000
8.5000
10.0000
10
A(3,1:4) % Extrae los 4 primeros elementos de la tercera fila
ans =
9 7 6 12
A(2,:) % Extrae los elementos de la segunda fila
ans =
5 11 10 8
A(end,:) % Se extrae la cuarta fila
ans =
4 14 15 1
A (2:4,:) % Extrae los elementos de las filas 2, 3 y 4
ans =
5 11 10 8
9 7 6 12
4 14 15 1
% OPERADORES DE DIVISION: Para un sistema de ecuaciones lineales Ax=b, en
donde x y b son vectores columna, y A es una matriz cuadrada invertible.
% x= inv(A)*b
% x= A\b
% EJERCICIOS ILUSTRATIVOS
% 1) A=[2 4],b=[4]
A=[2 4],b=[4]
A=
2 4
b=
4
x=A.\b
x=
2 1
% 2) A=[2 4;2 0;0 2], b=[4 0 0]'
A=[2 4;2 0;0 2], b=[4 0 0]'
A=
2 4
2 0
0 2
b=
4
0
0
x=A\b, resto=A*x-b
x=
0.3333
0.6667
resto =
0.6667
0.6667
1.3333
% OPERADORES MATRICIALES (*, ^, \ y /) APLICAR ELEMENTO A
ELEMENTO.
[1 2 3 4 5]^2
??? Error using ==> mpower
Matrix must be square.
[1 2 3 4 5]^2
ans =
1 4 9 16
[1
2 3
25
4 5]*[1 -1 1 -1 2]
0.6068
Z(v)
ans =
0.9501
0.8913
0.4860
0.4860
0.8913
0.7621
0.4565
0.8214
0.4447
0.6154
0.7919
0.9218
0.7382
J=Y(6:1:1)
J=
0.9218 0.7919
0.6154
0.4447
0.8214
0.0185
1.5
3];b=[2
18
a.*b
ans =
2.0000
3.7500
6.0000
a.^b
ans =
1.0000
2.7557
0.1111
a.\b
ans =
2.0000
1.6667
0.6667
c.^a
ans =
6.0000
14.6969
216.0000
2.5
2]; c=6;
7
8
9
B=A'
B=
1 4
2 5
3 6
7
8
9
15
16
22
3
9
ans =
23 7
10 19
g=[1 3 5
g=
1 3 5 7
7]
B(g),B(3),B(5)
ans =
17 4 11 5
ans =
4
ans =
11
8
14
20
21
2
15
16
22
3
9
% L(:) Representa un vector columna con las columnas de L una detrs de otra.
11
3
A-B
ans =
7 -19 5
-4 3 -3
B-A
ans =
-7 19 5
4 -3 3
A*C
ans =
-42
39
65 -100
C*A
ans =
-18 -78 9
-15 -100 15
3 118 -24
C*B
ans =
-63 -3
6
-78 16 19
87 -55 -43
B*C
ans =
-8
-17
38 -82
A/B
ans =
-0.3645
0.2265
0.2523
0.6839
A\B
ans =
0.3429
0.7286
0
2.4571
-0.5286
0
B\A
ans =
0.2681
0.3696
0
1.2464
-0.1739
0
1.4000
-0.4000
0
-0.1522
0.1957
0
H^p
ans =
4 25
16 81
p.^H
ans =
4 32
16 512
H^p
ans =
24 55
44 101
p^H
ans =
1.0e+003 *
0.4455 1.0202
0.8162 1.8738
2 3;4 5 6;7 8 9]
2 3
5 6
8 9
-0.4504
0.9007
-0.4504
ans =
1 4 7
2 5 8
3 6 9
ans =
0
ans =
2
ans =
15
ans =
3
ones(2,3)
ans =
1 1
1 1
1
1
ones(4)
ans =
1 1
1 1
1 1
1 1
1
1
1
1
1
1
1
1
zeros(2,3)
ans =
0 0 0
0 0 0
zeros(3)
ans =
0 0 0
0 0 0
0 0 0
eye(5)
ans =
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
eye(2,3)
ans =
1 0 0
0 1 0
diary off
0
0
0
1
0
0
0
0
0
1
. La matriz homognea
EJERCICIOS ILUSTRATIVOS
1. Segn la figura, en el sistema O'UVW esta trasladado un vector p (6, 3,8) con
respecto al sistema OXYZ. Calcular las coordenadas (rx, ry, rz) del vector r cuyas
coordenadas con respecto al sistema O'UVW son ruvw (2, 7,3).
EJERCICIOS ILUSTRATIVOS
1. Segn la figura adjunta, el sistema 0UVW se encuentra girado -90 grados
alrededor del eje OZ con respecto al sistema OXYZ. Calcular las
coordenadas del vector rxyz si ruvw=[4,8,12]'
0
0
1
0
0
0
0
1
1.0000
0.0000
0
0
0
0
1.0000
0
0
0
0
1.0000
rxyz=t1*ruvw
rxyz =
8.0000
- 4.0000
12.0000
1.0000
2. Un sistema OUVW ha sido girado 90 grados alrededor del eje OX y
posteriormente trasladado un vector p(8,-4,12) con respecto al sistema
OXYZ (figura adjunta). Calcular las coordenadas (rx,ry,rz) del vector r con
coordenadas ruvw(-3,4,-11).
Queda as:
Txa=[1 0 0 8;0 0 -1 -4;0 1 0 12;0 0 0 1]
Txa =
1 0 0 8
0 0 1 4
0 1 0 12
0 0 0 1
[ru rv rw 1]'= ruvw=[-3,4, -11,1]'
% Ahora ya podemos aplicar [rx ry rz 1]'=T[ru rv rw 1]' , ecuacin (IV).
Txa=[1
Txa =
1
0
0
0
0 8;0
0
0
1
0
0 8
1 4
0 12
0 1
ruvw=[3,4,11,1]'
ruvw =
3
4
11
1
rxyz=Txa*ruvw
rxyz =
5
7
16
1
diary off
0 -1 -4; 0
12;0
1]
sena
pycosapzsena;0
sena
cosa
Traslacin del vector px, y, z seguida de rotacin de un ngulo b sobre el eje OY.
T(p,(y,b))= [cosb 0 senb pxcosb+pzsenb;0
pzcosbpxsenb;0 0 0 1] (II).
py;senb
cosb
Traslacin del vector px, y, z seguida de rotacin de un ngulo c sobre el eje OZ.
T(p,(z,c))=[cosc senc 0
1 pz;0 0 0 1] (III).
pxcoscpysenc;senc
cosc
0 pxsenc+pycosc;0
PERSPECTIVA Y ESCALADO
Cuando en las componentes de un vector es posible la realizacin de un
escalado, podemos aplicar las matrices homogneas. Para lograr esto, es
suficiente emplear una matriz del tipo: T=[a 0 0 0;0 b 0 0;0 0 c 0; 0 0 0 1].
El caso tpico es transformar el vector r(x, y, z) en el vector r (ax, by, cz). Si se
trata de hacer un escalado global de las tres componentes, tenemos el recurso
apropiado con la matriz T=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 s].
EJERCICIOS ILUSTRATIVOS
1. Un sistema OUVW ha sido trasladado un vector p(8,-12,-4) con respecto
al sistema OXYZ y girado 90 grados alrededor del eje OX (figura adjunta).
Calcular las coordenadas (rx,ry,rz)del vector r de coordenadas ruvw (3,4,11).
Tpxa =
1
0
0
0
0
0
1
0
0 8
1 12
0 4
0 1
ruvw=[3,4,11,1]'
ruvw =
3
4
11
1
rxyz=Tpxa*ruvw
rxyz =
5
1
0
1
2. Composicin de matrices homogneas: Se quiere obtener la matriz de
transformacin que representa al sistema O'UVW obtenido a partir del
sistema OXYZ mediante un giro de ngulo de -90 grados alrededor del eje
OX, de una traslacin de vector p(x, y, z) , (5,5,10) y un giro de 90 grados
sobre el eje OZ.
Solucin: Procedemos a ingresar los valores de la matriz T(p):
Tp=[1 0 0 5;0 1 0 5;0 0 1 1 0;0 0 0 1]
Y empleando comandos especiales de ejecucin directa:
Tp=[1 0 0 5;0 1 0 5;0 0 1 10;0 0 0 1]
Tp =
1
0
0
0
0
1
0
0
0 5
0 5
1 10
0 1
rotz(pi/2),rotx(-pi/2)
ans =
0.0000 -1.0000
1.0000
0.0000
0
0
0
0
0
0
1.0000
0
0
0
0
1.0000
0
1.0000
0.0000
0
0
0
0
1.0000
ans =
1.0000
0
0
0
0
0.0000
-1.0000
0
-5.0000
5.0000
10.0000
1.0000
0
1
0
0
0
0
1
0
0
0
0
1
TRANSFORMACIN TRANSLACIONAL:
EJERCICIO
Segn la figura, el sistema 0'UVW esta trasladado un vector p(6, 3, 8) con
respecto al sistema OXYZ . Calcular las coordenadas ( rx , ry , rz ) del vector r,
cuyas coordenadas con respecto al sistema O ' UVW son ruvw ( -2 , 7 , 3 ) .
SOLUCIN:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ;
TB = transl ( 6 , -3, 8 )
TB =
1 0 0 6
0 1 0 -3
0 0 1 8
0 0 0 1
frame (TA , ' b ', 1 )
r uvw = [ -2 7 3 1 ] '
rx ry rz = TB * [ 2 7 3 1] '
rx ry rz =
4
4
11
1
diary off
LECCIN 2: REPRESENTACIN DE LA
ORIENTACIN, EJECUCIONES COMPUTACIONALES
A. Representacin de un cuadro de referencia {A}, a partir del cual
referiremos los cuadros de los ejemplos siguientes:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ]
B. Representacin de dos cuadros de referencia {B} y {C}, generados a partir
de {A} mediante rotacin:
frame ( TA, ' r ' , 1) ;
grid on
{B} ser rotado 30 grados en torno al eje X
{C} ser rotado 60 grados en torno al eje Z
Por lo tanto, las tareas a ejecutar serian:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ;
TB = rotx ( pi /6 ) * TA;
TC = rotz ( pi / 3 ) * TA ;
frame ( TA , ' b ', 1)
1.0000
0.0000
0
0
0
0
1.0000
0
0
0
0
1.0000
rxryrz = T1 * [ 4 8 12 1 ] '
rxryrz =
8.0000
-4.0000
12.0000
1.0000
diary off
diary off
0.4000
0
0
1.0000
0
1.0000
0
0
1.0000
0
0.0000
0
0
0
0
1.0000
1.0000
0.0000
0
0
0
0
1.0000
0
0
0
0
1.0000
0.0000
0.0000
1.0000
0
1.0000
0
0.0000
0
0.4000
0
0
1.0000
0
1.0000
0
0
0
0
1.0000
0
0.4000
0
0
1.0000
0
1.0000
0
0
1.0000
0
0.0000
0
0
0
0
1.0000
1.0000
0.0000
0
0
0
0
1.0000
0
0
0
0
1.0000
0.0000
0.0000
-1.0000
0
1.0000
0
0.0000
0
0.4000
0
0
1.0000
-1.5708
RESULTADO = [0
1.5708
-1.5708]
1. Girar el sistema OUVW un ngulo con respecto al eje OX. A este ngulo
se le llama Yaw o guiada.
2. Girar el sistema OUVW un ngulo con respecto al eje OY. A este ngulo
se le llama Pitch o cabeceo.
3. Girar el sistema OUVW un ngulo
se le llama Roll o alabeo.
-1.5708]
SEGUNDA UNIDAD
MODELADO CINEMTICO Y DINMICO DE UN
ROBOT
CAPITULO 1:
CINEMTICA DEL ROBOT INTRODUCCIN
La fsica nos permite entender, a la cinemtica como el estudio del movimiento
sin tener en cuenta, las fuerzas que lo producen. Tomando esto en
consideracin, surge el compromiso de emprender el estudio tanto de las
propiedades geomtricas, como de las temporales del movimiento. En este
espacio, hemos de estimar, adems del problema estrictamente geomtrico
comprometido en el posicionamiento esttico, los efectos correspondientes a
las variaciones de carcter temporal, en lo referente a las posiciones y tambin
a las orientaciones; con esto nos estamos refiriendo a las velocidades.
Cuando estudiamos el fenmeno del movimiento, hemos de referirnos a un
sistema de referencia. Resulta habitual, dada la naturaleza del tema, contar con
un plan para controlar el movimiento de un manipulador; en cuyo caso, se hace
necesario establecer tcnicas para representar la posicin del brazo, en puntos,
en relacin con el tiempo. El manipulador del robot se determina empleando
dos elementos bsicos: articulaciones y enlaces. Cada articulacin representa
un grado de libertad. Las articulaciones pueden ocasionar un movimiento lineal
(articulacin tipo L) o un movimiento rotacional (articulaciones tipos R, T y V)
entre los enlaces adyacentes.
En los modelos geomtricos y cinemticos se involucra de manera substancial el
tratado de las relaciones existentes entre el espacio de las variables articulares
y el espacio de trabajo, llamado tambin, espacio operacional, el cual suele ser
un espacio cartesiano. De manera general, el espacio de las variables articulares
tendr n dimensiones, por lo que se utilizara un vector de dimensin n para
especificar la posicin y orientacin del robot. El espacio de trabajo de un
manipulador tendr dimensin seis, por lo que se requieren seis valores para
especificar la posicin y la orientacin. Cuando se trata de manipuladores
un ngulo
2. Traslacin a travs de
una distancia di; esto es un vector el cual
se expresa como di(0, 0, di).
3. Traslacin a travs de
una distancia
un ngulo
; cuyo vector es
(0, 0,
).
) (
) (
) (
NOTA:
][
][
][
Todo indica que la tarea a seguir consiste en identificar los parmetros para
obtener las matrices A y de esta manera vincular todos y cada uno de los
eslabones del robot.
Los cuatro parmetros de
(
) estn sujetos nicamente a las
caractersticas geomtricas de cada eslabn y de las articulaciones que le unen
con las adyacentes, es decir, el anterior y el siguiente. Esto lo visualizamos en la
figura siguiente.
d
90
0
a
0
0
0
0
0
90
0
0
) referidas a {
en las que
(9)
Se llega a obtener
(
Con
(10)
Es fcil apreciar que existen dos soluciones posibles para
de acuerdo al tipo
de signos que escojamos en la raz (positivo o negativo). Estos casos
corresponden a las configuraciones de codo arriba y codo abajo.
Articulacin
1
2
3
d
0
0
a
0
0
0
90
-90
0
, tendremos que:
(
(16)
Dado que:
[
]
[
]
(17)
Luego encontramos:
(18)
Por consiguiente, empleando la primera de las ecuaciones de (16) llegamos a
tener:
Empleando
] llegamos a tener:
)
(20)
) (
( )
)
(23)
( )
)
(24)
( )
( )
)
(25)
RELACIONES DIFERENCIALES
La forma ms directa para deducir la relacin entre las velocidades articulares y
las del extremo del robot, se hace diferenciando las ecuaciones
correspondientes al modelo cinemtico directo.
Se trata de partir conociendo las ecuaciones que solucionan el problema
cinemtico directo de un robot de n GDL (grados de libertad):
[ ]
[ ]
JACOBIANA INVERSA
De igual manera que obtenemos la relacin directa, mediante la cual se facilita
el clculo de las velocidades del extremo a partir de las velocidades articulares,
es pertinente obtener la relacin inversa, por medio de la cual podemos
calcular las velocidades articulares partiendo de las del extremo. Esto es factible
mediante el concurso de procedimientos diferentes.
)]
[ ]
[ ]
CONFIGURACIONES SINGULARES
Denominamos configuraciones singulares de un robot, a todas aquellas en las
que el determinante de su matriz Jacobiana se anula. En virtud de esto, en las
configuraciones singulares no puede existir Jacobiana inversa.
Aquellas en las que | J | = 0 (Jacobiano nulo).
Siendo b la va del vehculo (distancia que separa las dos ruedas centrales). Si se
especifican, la velocidad lineal v y angular del vehculo, las velocidades de giro
que hay que aplicar a las ruedas izquierda y derecha son:
( )
( )
[ ]
(
[ (
)
)
(
[ (
)
)
(
[ (
(
(
)
)
)
)
][
]
[
[ ]
En donde:
Coordenadas generalizadas (Las articulares).
t= Vector de fuerzas y pares aplicados en las .
Funcin Lagrangiana.
K= Energa cintica.
U= Energa potencial.
Teniendo en cuenta el robot mono-articular de la figura de arriba, tendramos:
EJEMPLO:
Consideremos el manipulador con dos articulaciones de rotacin como el
mostrado en la figura.
Para facilitar la resolucin del problema tendremos en cuenta que las masas M1
y M2 estn concentradas en los extremos de los enlaces.
radsimp:
[ l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos (t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,(l2*tdd1+l2*tdd2+sin(t2)*td1^2*l1sin(t2)*sin(t1)*g+cos(t2)*tdd1*l1
+cos(t2)*cos(t1)*g)*l2*m2]
combine (trig):
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l+l
1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2*t
d2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd1+
l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)*td
d1*l1]
factor:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,l2*m2*(l2*tdd1l2*tdd2sin(t2)*td1^2*l1+sin(t2)*sin(t1)*gcos(t2)*td
d1*l1cos(t2)*cos(t1)*g)]
expand:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1l2*m2*sin(t2
)*sin(t1)*g+l2*m2*cos(t2)*tdd1*l1+l2*m2*cos(t2)*cos(t1)*g]
combine:
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l1
+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2
*td2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd
1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)
*tdd1*l1]
convert(exp):
[l2*m2*((tdd1+tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1
)1/exp(i*t1))*g)+(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/ex
p(i*t1))*g))+l1*m1*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g)+l1*(1/2*i*(exp(i
*t2)1/exp(i*t2))*m2*((td1+td2)^2*l2+(1/2*exp(i*t2)+1/2/exp(i*t2))*(td1^2*l1
1/2*i*(exp(i*t1)1/exp(i*t1))*g)1/2*i*(exp(i*t2)1/exp(i*t2))*(tdd1*l1+(1/2*exp(
i*t1)+1/2/exp(i*t1))*g))+(1/2*exp(i*t2)+1/2/exp(i*t2))*m2*((tdd1+tdd2)*l2+1/
2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g)+(1/2*exp(i
*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g))),l2*m2*((tdd1+
tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g)
+(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g))]
convert(sincos):
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
convert(tan):
[l2*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2
*t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(
1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))+l1*m1*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/
2*t1)^2)*g)+l1*(2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*m2*((td1+td2)^2*l2+(1tan(
1/2*t2)^2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+
2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2)
*g))+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1
+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^
2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))),l2*m*(
(tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+t
an(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(
1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))]
collect(t1):
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
mwcos2sin:
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
ans =
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l+l
1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2*t
d2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd1+
l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)*td
d1*l1]
Matriz de masas
>> M = inertia ( dyn, q)
M=
[l2*m2*(l2+cos(t2)*l1)+l1^2*m1+l1*(m2*sin(t2)^2*l1+cos(t2)*m2*(l2+cos(t2)*l
1)), l2*m2*(l2+cos(t2)*l1)][ l2^2*m2+l1*cos(t2)*m2*l2, l2^2*m2]
Trminos centrfugos y de Coriolis
>> V = coriolis (dyn, q, qd )
V=
[l2*m2*sin(t2)*td1^2*l1+l1*(sin(t2)*m2*((td1+td2)^2*l2cos(t2)*td1^2*l1)+cos
(t2)*m2*sin(t2)*td1^2*l1), l2*m2*sin(t2)*td1^2*l1]
OBSERVACIONES
La funcin rne nos permite obtener el modelo dinmico. Para que esto
funcione, simplemente debemos pasarle una matriz de parmetros dyn con el
formato apropiado.
Adicionalmente, se requiere pasarle un vector con la aceleracin de la
gravedad que sufre el manipulador, as como los valores de las variables
articulares, los de las velocidades y las aceleraciones articulares.
La funcin rne nos devuelve como resultado los pares ejercidos en cada
articulacin.
LECCIN 4:
TRANSFORMACIONES HOMOGNEAS Y
CINEMTICA DEL ROBOT (Ejemplo)
DESCRIPCIN GENERAL
Un mtodo de categora general con el que podemos determinar las ecuaciones
cinemticas de un brazo de robot, consiste en hacer uso de las
transformaciones homogneas.
Un vector de punto,
se puede representar en un espacio de
tres dimensiones por una matriz de columna:
[ ]
Vectores de la forma anterior los podemos emplear para definir la posicin del
extremo del brazo para un manipulador de robot. Cuando w = 0, entonces el
vector representa una direccin nica.
Podemos trasladar o girar un vector en el espacio, mediante una
transformacin. Una transformacin de este tipo, la hacemos posible mediante
el empleo de una matriz H 4 x 4. Por ejemplo, el vector v lo podemos
transformar en un vector u, haciendo uso de la siguiente operacin matricial.
u=HV
Para realizar una traslacin de un vector en el espacio en una distancia x, b en la
direccin , y c en la direccin z, hemos de ejecutar una transformacin, la cual
viene dada por:
H=Trans a,b,c= 100010000
EJEMPLO:
Para el vector V = 25i + 10j + 20k realizar una traslacin para una distancia 8 en
la direccin x, 5 en la direccin y 0 en la direccin z.
SOLUCION:
>> a = 8, b= 5, c = 0
a=
8
b=
5
c=
0
El vector en consideracin es:
>> V = [25 10 20 1 ] '
V=
25
10
20
1
La transformacin de traslacin seria:
>> H = transl (a, b, c)
H=
1 0 0 8
0 1 0 5
0 0 1 0
0 0 0 1
El vector de traslacin seria:
>> HV = H * V
HV =
33
15
20
1
diary off
LECCIN 5:
MODELO DIRECTO DEL MANIPULADOR:
IMPLEMENTACIN COMPUTACIONAL (Ejemplo)
Considrese el manipulador plano con tres articulaciones de rotacin (ver
figura). Las longitudes de los dos primeros segmentos son l1 y l2. Se trata de
implementar el modelado del manipulador mediante la obtencin de la
transformacin apropiada para tal fin.
SOLUCION:
Establecemos las variables articulares 1 , 2 y 3.
syms t1 t2 t3 real
Determinamos los parmetros l1 y l2.
syms l1 l2 real
Ahora ingresamos la matriz mediante los parmetros de DenavitHartenberg.
dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ]
dh =
[ 0, 0, t1, 0, 0]
[ 0, l1, t2, 0, 0]
[ 0, l2, t3, 0, 0]
OBSERVACIONES:
La funcin fkine se encarga de tomar los valores para las variables
articulares del segundo parmetro que se le pasa, y no de los que
aparecen en la matriz dh. Esto significa, que si la articulacin es de
rotacin, no se tendr en cuenta el valor del tercer elemento de la fila
correspondiente de la matriz dh.
diary off
CAPITULO 3: IMPLEMENTACIONES
COMPUTACIONALES COMENTARIOS
PRELIMINARES
El tratamiento de la cinemtica de los robots manipuladores, nos indica la
conveniencia de emplear de manera exclusiva la plataforma de MATLAB, ante la
otra opcin de hacerlo con la del SIMULINK. La explicacin consiste en la
circunstancia de que los datos involucrados en la cinemtica son matrices, los
cuales como es sabido, son ms fcilmente tratados desde MATLAB que desde
SIMULINK.
En la unidad I abordamos los temas relacionados con vectores y matrices, con el
propsito de facilitar la comprensin de los aspectos aplicativos, los cuales
tocaremos en estas secciones. De igual manera tratamos la representacin
grfica, con la cual hacemos posible la ilustracin de ciertos modelos de robots
mviles.
Para resolver la cinemtica de un robot, resulta suficiente conocer los
parmetros de Denavit-Hartenberg. Estos parmetros son ingresados en una
matriz de acuerdo a un formato determinado (matriz dh ). Esta matriz ser la
que permitir el paso de las funciones de MATLAB, por lo que recomendamos
asimilar bien su significado y contenido.
>> dh =[ 0 0 t1 0 0 ; pi/2 0 0 d2 1 ] ;
Vector de las variables articulares
>> q = [t1 d2];
Calculo del resultado
>> T= simple (fkine (dh , q ) )
T=
[ cos ( t1 ), 0, sin ( t1), sin ( t1) * d2 ]
[ sin ( t1 ), 0, -cos( t1 ), -cos( t1 ) * d2 ]
[ 0, 1, 0, 0 ]
[ 0, 0, 0, 1 ]
b. Representacin de los valores que toma 1 en funcin de las coordenadas(x,
y).
>> [ x , y] = meshgrid (1: 0.03 :1, 1: 0.03 : 1 ) ; t1 = atan2 (x,y);
>> surf (x , y, t1 ) ;
Representacin de d2 en funcin del punto (x , y ) del extremo del manipulador
>> [x1, y1] = meshgrid ( 1: 0.03: 1 , 1: 0.03:1 ) ;
>> d2 = sqrt (x1. ^2 + y. ^2 ) ;
>> surf ( x1 , y1, d2 ) ;
SOLUCION:
Ingresamos los datos del problema.
>> m1 = 2 ; m2 = 1 ; l1 = 3 ; l2 =1 ;
Cargamos los parmetros del manipulador.
>> dyn = [ 0 0 0 0 0 m1 l1 0 0 0 0 0 0 0 0 0 1 0 0 0 ; 0 l1 0 0 0 m2 l2 0 0 0 0 0 0 0 0
01000];
Integramos la dinmica
>> [ tsim, q, qd] fdyn (dyn, 0, 10, 'taucap5', [0 0]',[ 0 0]', [0 9.81 0] ) ;
Para obtener una animacin del manipulador, ingresamos:
>> dh = [0 0 0 0 0 ; 0 3 0 0 0 ] ;
plotbot (dh, q, 'd')
0.000000
0.000000
(std)
(std)
theta
0.000000
0.000000
[ ]
LECCIN 2: EJEMPLO
Consideremos un manipulador plano con una articulacin de traslacin y otra
de rotacin como el que se muestra en la figura:
4967757600021511/81129638414606681695789005144064*pxpy+l*sin(t)px+4
967757600021511/81129638414606681695789005144064*py+d+l*cos(t)
0
1
1
0
0
0
0
1
0
0
0
0
1
0
1
2
1
1
>> t = [ 0 : 0.056 : 10 ] ;
>> r = jtraj( 0 , 1 , t) ;
>> TC = ctraj (TO, T1, r) ;
>> plot ( t , transl ( TC ) ) ;
>> grid on
0
-0.1987
0.9801
0
0
0
0
1.0000
>> q1 = quaternion ( t )
q1 =
0.995 <0.099833, 0, 0>
>> q2 = quaternion ( roty ( 0.3 ) )
q2 =
0.98877 <0, 0.14944, 0>
>> q1 * q2
ans =
0.98383 <0.098712, 0.14869, 0.014919>
>> q1 * q1
ans =
(
(
Los datos del cuerpo para el pndulo simple ( la masa y las propiedades
geomtricas del cuerpo).
Grfica del espacio fase del movimiento del pndulo simple: velocidad angular
versus ngulo.
>> dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ]
dh =
0 0 0 0 0
0 4 0 0 0
0 3 0 0 0
Determinacin de la tolerancia y el nmero mximo de iteraciones.
>> stol = 1e-6; ilimit = 1000 ;
Ingreso de la trayectoria ( arco de radio 5) y la orientacin deseadas (radianes).
>> x = 0 : 0.05 :5 ;
>> y = sqrt ( 25 x.^2 ) ;
Ingreso del vector fila nulo de la misma dimensin que x.
Clculo del modelo inverso para cada uno de los puntos de la trayectoria,
usando un vector inicial q0 = [0 0 0] y una mscara M = [1 1 0 0 0 1].
>> q = ikine (dh , stol , limit,TG , [0 0 0] , [1 1 0 0 0 1] )
q=
14.7807 -32.9867 18.2061
14.7407 -32.9867 18.2461
14.7006 -32.9867 18.2861
14.6604 -32.9867 18.3263
14.6200 -32.9867 18.3667
14.5793 -32.9867 18.4074
14.5383 -32.9867 18.4484
14.4969 -32.9867 18.4898
14.4549 -32.9867 18.5318
14.4124 -32.9867 18.5743
14.3692 -32.9867 18.6176
14.3251 -32.9867 18.6617
14.2800 -32.9867 18.7067
14.2338
14.1863
14.1372
14.0862
14.0329
13.9769
13.9174
13.8534
13.7834
13.7048
13.6126
13.4937
13.2099
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
-32.9867
18.7529
18.8004
18.8496
18.9006
18.9538
19.0099
19.0694
19.1334
19.2033
19.2819
19.3741
19.4931
19.7769
SOLUCIN:
Ingreso de las variables articulares ( 1, 2, 3, 4, 5 y 6 ).
>> syms t1 t2 t3 t4 t5 t6 real;
Ingreso de las derivadas de las variables articulares ('1, '2, '3, '4, '5, y '6).
>> syms td1 td2 td3 td4 td5 td6 real;
Ingreso de los parmetros a2, a3, d3, y d4.
>> syms a2 a3 d3 d4 real ;
Ingreso de la matriz con los parmetros de Denavit-Hartenberg del Puma 560.
z=
cos(t6)*(cos(t5)*(cos(t4)*(cos(t3)*cos(t2)*td1*d3+sin(t3)*(td2*a2+sin(t2)*td1*
d3)(td2+td3)*d4)sin(t4)*(cos(t2)*td1*a2+(cos(t3)*sin(t2)*td1sin(t3)*cos(t2)*td
1)*d4(sin(t3)*sin(t2)*td1cos(t3)*cos(t2)*td1)*a3))+sin(t5)*(sin(t3)*cos(t2)*td1
*d3+cos(t3)*(td2*a2+sin(t2)*td1*d3)+(td2+td3)*a3))sin(t6)*(sin(t4)*(cos(t3)*c
os(t2)*td1*d3+sin(t3)*(td2*a2+sin(t2)*td1*d3)(td2+td3)*d4)+cos(t4)*(cos(t2)*
td1*a2+(cos(t3)*sin(t2)*td1sin(t3)*cos(t2)*td1)*d4(sin(t3)*sin(t2)*td1cos(t3)*c
os(t2)*td1)*a3))sin(t6)*(cos(t5)*(cos(t4)*(cos(t3)*cos(t2)*td1*d3+sin(t3)*(td2*
a2+sin(t2)*td1*d3)(td2+td3)*d4)sin(t4)*(cos(t2)*td1*a2+(cos(t3)*sin(t2)*td1si
n(t3)*cos(t2)*td1)*d4(sin(t3)*sin(t2)*td1cos(t3)*cos(t2)*td1)*a3))+sin(t5)*(sin(
t3)*cos(t2)*td1*d3+cos(t3)*(td2*a2+sin(t2)*td1*d3)+(td2+td3)*a3))cos(t6)*(si
n(t4)*(cos(t3)*cos(t2)*td1*d3+sin(t3)*(td2*a2+sin(t2)*td1*d3)(td2+td3)*d4)+c
os(t4)*(cos(t2)*td1*a2+(cos(t3)*sin(t2)*td1sin(t3)*cos(t2)*td1)*d4(sin(t3)*sin(
t2)*td1cos(t3)*cos(t2)*td1)*a3))sin(t5)*(cos(t4)*(cos(t3)*cos(t2)*td1*d3+sin(t
3)*(td2*a2+sin(t2)*td1*d3)(td2+td3)*d4)sin(t4)*(cos(t2)*td1*a2+(cos(t3)*sin(t
2)*td1sin(t3)*cos(t2)*td1)*d4(sin(t3)*sin(t2)*td1cos(t3)*cos(t2)*td1)*a3))+cos
(t5)*(sin(t3)*cos(t2)*td1*d3+cos(t3)*(td2*a2+sin(t2)*td1*d3)+(td2+td3)*a3)
cos(t6)*(cos(t5)*(cos(t4)*(cos(t3)*sin(t2)*td1sin(t3)*cos(t2)*td1)sin(t4)*(td2+t
d3))+sin(t5)*(sin(t3)*sin(t2)*td1cos(t3)*cos(t2)*td1+td4))sin(t6)*(sin(t4)*(cos(
t3)*sin(t2)*td1sin(t3)*cos(t2)*td1)+cos(t4)*(td2+td3)+td5)sin(t6)*(cos(t5)*(cos
(t4)*(cos(t3)*sin(t2)*td1sin(t3)*cos(t2)*td1)sin(t4)*(td2+td3))+sin(t5)*(sin(t3)si
n(t2)*td1cos(t3)*cos(t2)*td1+td4))cos(t6)*(sin(t4)*(cos(t3)*sin(t2)*td1sin(t3)*c
os(t2)*td1)+cos(t4)*(td2+td3)+td5)sin(t5)*(cos(t4)*(cos(t3)*sin(t2)*td1sin(t3)*
cos(t2)*td1)sin(t4)*(td2+td3))+cos(t5)*(sin(t3)*sin(t2)*td1cos(t3)*cos(t2)*td1+
td4)+td6
Ahora procedemos a emplear el Jacobiano
J=
[(cos(t2)*(cos(t3)*(cos(t4)*cos(t5)*cos(t6)sin(t4)*sin(t6))sin(t3)*sin(t5)*cos(t6))
+sin(t2)*(sin(t3)*(cos(t4)*cos(t5)*cos(t6)sin(t4)*sin(t6))+cos(t3)*sin(t5)*cos(t6)
))*d3+(sin(t4)*cos(t5)*cos(t6)cos(t4)*sin(t6))*(cos(t2)*(cos(t3)*a3sin(t3)*d4+a2
)sin(t2)*(sin(t3)*a3+cos(t3)*d4)),(cos(t3)*(cos(t4)*cos(t5)*cos(t6)sin(t4)*sin(t6)
)+sin(t3)*sin(t5)*cos(t6))*(sin(t3)*a3+cos(t3)*d4)+(sin(t3)*(cos(t4)*cos(t5)*cos(
t6)sin(t4)*sin(t6))+cos(t3)*sin(t5)*cos(t6))*(cos(t3)*a3sin(t3)*d4+a2),*cos(t4)*c
os(t5)*cos(t6)+sin(t4)*sin(t6))*d4+sin(t5)*cos(t6)*a3,0,0,0][(cos(t2)*(cos(t3)*(c
os(t4)*cos(t5)*sin(t6)sin(t4)*cos(t6))+sin(t3)*sin(t6)*sin(t5))+sin(t2)*(sin(t3)*(c
os(t4)*cos(t5)*sin(t6)sin(t4)*cos(t6))cos(t3)*sin(t6)*sin(t5)))*d3+(sin(t4)*cos(t5
)*sin(t6)cos(t4)*cos(t6))*(cos(t2)*(cos(t3)*a3sin(t3)*d4+a2)sin(t2)*(sin(t3)*a3+
cos(t3)*d4)),(cos(t3)*(cos(t4)*cos(t5)*sin(t6)sin(t4)*cos(t6))sin(t3)*sin(t6)*sin(t
5))*(sin(t3)*a3+cos(t3)*d4)+(sin(t3)*(cos(t4)*cos(t5)*sin(t6)sin(t4)*cos(t6))cos(
t3)*sin(t6)*sin(t5))*(cos(t3)*a3sin(t3)*d4+a2),(cos(t4)*cos(t5)*sin(t6)+sin(t4)*c
os(t6))*d4sin(t6)*sin(t5)*a3,0,0,0][(cos(t2)*(cos(t3)*cos(t4)*sin(t5)sin(t3)*cos(t
5))+sin(t2)*(sin(t3)*cos(t4)*sin(t5)+cos(t3)*cos(t5)))*d3+sin(t4)*sin(t5)*(cos(t2)
*(cos(t3)*a3sin(t3)*d4+a2)sin(t2)*(sin(t3)*a3+cos(t3)*d4)),(cos(t3)*cos(t4)*sin(
t5)+sin(t3)*cos(t5))*(sin(t3)*a3+cos(t3)*d4)+(sin(t3)*cos(t4)*sin(t5)+cos(t3)*co
s(t5))*(cos(t3)*a3sin(t3)*d4+a2),cos(t4)*sin(t5)*d4+cos(t5)*a3,0,0,0][sin(t2)*(c
os(t3)*(cos(t4)*cos(t5)*cos(t6)sin(t4)*sin(t6))sin(t3)*sin(t5)*cos(t6))cos(t2)*(sin
(t3)*(cos(t4)*cos(t5)*cos(t6)sin(t4)*sin(t6))+cos(t3)*sin(t5)*cos(t6)),sin(t4)*cos(
t5)*cos(t6)cos(t4)*sin(t6),sin(t4)*cos(t5)*cos(t6)cos(t4)*sin(t6),sin(t5)*cos(t6),
sin(t6),0][sin(t2)*(cos(t3)*(cos(t4)*cos(t5)*sin(t6)sin(t4)*cos(t6))+sin(t3)*sin(t6)
*sin(t5))cos(t2)*(sin(t3)*(cos(t4)*cos(t5)*sin(t6)sin(t4)*cos(t6))cos(t3)*sin(t6)*s
in(t5)),sin(t4)*cos(t5)*sin(t6)cos(t4)*cos(t6),sin(t4)*cos(t5)*sin(t6)cos(t4)*cos(t
6),sin(t6)*sin(t5),cos(t6),0][sin(t2)*(cos(t3)*cos(t4)*sin(t5)sin(t3)*cos(t5))cos(
t2)*(sin(t3)*cos(t4)*sin(t5)+cos(t3)*cos(t5)),sin(t4)*sin(t5),sin(t4)*sin(t5),cos(t5
),0,1]
Visualizacin grfica del robot Puma560.
>> puma560
>> plot (p560, q )
0
0
1.0000
0
0.4521
0.1500
0.4318
1.0000
-0.0000
0.3927
0.0000
0]
0.7500
0
0
0
0.9925
0.0996
0.0707
0
0
0
0.0998
-0.9950
0.0000
0
0
0
0.6782
0.0681
0.7317
0.0000
Expresada en arreglo de fila.
>> qvel '
ans =
0.0000 -0.2495
0.2741
0.0000
-0.0246
-0.0000
0.150000
Denavit-Hartenberg
que
(std)
implementan
0.020000
0.000000
0.150000
(std)
0.020000
0.000000
0.150000
(std)
modelos
1.570796
0.020000
0.000000
Visualizacin de los parmetros.
0.150000
>> showlink ( L )
alpha = 1.5708
A = 0.02
theta = 0
D = 0.15
sigma = 0
mdh = 0
offset = 0
m=
r=
I=
Jm =
G = 100
B=0
Tc = 5 -5
qlim =
Visualizacin detallada para el robot Puma (link 2).
>> showlink ( p560.link{2} )
alpha = 0
A = 0.4318
theta = 0
D=0
sigma = 0
mdh = 0
offset = 0
m = 17.4
r=
-0.3638
0.006
0.2275
(std)
I=
0.13
0
0
0 0.524
0
0
0
0.539
Jm = 0.0002
G = 107.815
B = 0.000817
Tc = 0.126 -0.071
qlim =
>> L1=1
>> L2=1
>> p = [ px ; py ] ;
p=
Columns 1 through 8
2.0000 1.9846
0
0.2349
Columns 9 through 16
1.1180 0.9168
1.5388 1.6371
Columns 17 through 21
-0.5000 -0.6576
1.5388
1.4264
1.9387
0.4655
1.8634
0.6874
1.7601
0.8968
1.6310
1.0898
1.4788 1.3066
1.2630 1.4135
0.7071
1.7071
1.4788 1.3066
1.2630 1.4135
-0.1338 -0.3244
1.7000 1.6310
SOLUCION:
Variables articulares 1 y 2
>> syms t1 t2 real ;
Velocidades articulares '1 y '2
>> syms td1 td2 real ;
Aceleraciones articulares
''1 y ''2
>> syms tdd1 tdd2 real ;
Longitudes de los enlaces ( l1 y l2 )
>> syms l1 l2 real ;
Masas de los enlaces ( m1 y m2 )
>> syms m1 m2 real ;
Aceleracin de la gravedad
>> syms g real ;
Ingresamos la matriz con los parmetros dinmicos del manipulador.
>> dyn = [ 0 0 t1 0 0 m1 l1 0 0 0 0 0 0 0 0 0 1 0 0 0 ; 0 l1 t2 0 0 m2 l2 0 0 0 0 0 0 0
001000]
dyn =
[ 0, 0, t1, 0, 0, m1, l1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
[ 0, l1, t2, 0, 0, m2, l2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
Ingresamos el vector de variables articulares
>> q = [t1 t2]
q=
[ t1, t2]
Ingresamos el vector de velocidades articulares
>> qd = [td1 td2]
qd =
[ td1, td2]
Ingresamos el vector de aceleraciones articulares
qdd =
[ tdd1, tdd2]
Ingresamos el vector de aceleracin de la gravedad
>> grav = [0 g 0 ]
grav =
[ 0, g, 0 ]
>> tau = rne (dyn, q , qd , qdd , grav )
tau =
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)* g)+l1*(sin(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)* l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
Obtencin de la expresin simblica de los trminos pares (centrfugos y de
Coriolis).
>> simple ( tau)
simplify:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+m2*tdd1*l1^2+l1*m2*cos(t1)*g+l1*cos(t
2)*m2*l2*t dd2,l2*m2*(l2*tdd1l2*tdd2sin(t2)*td1^2*l1+sin(t2)*sin(t1)*gcos(
t2)*tdd1*l1cos(t2)*cos(t1)*g)]
radsimp:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,l2*m2*(l2*tdd1+l2*tdd2+sin(t2)*td1^2*l1sin(t2)*sin(t1)*g+cos(t2)*t
dd1*l1+cos(t2)*cos(t1)*g)]
combine(trig:
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l
1+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l
2*td2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*td
d1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2
)*tdd1*l1]
factor:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd
1*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m
2*l2*td1*td21*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^
2*m2*cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t
2)^2*m2*cos(t1)*g,l2*m2*(l2*tdd1l2*tdd2sin(t2)*td1^2*l1+sin(t2)*sin(t1)*gco
s(t2)*tdd1*l1cos(t2)*cos(t1)*g)]
expand:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1l2*m2*sin(t2
)*sin(t1)*g+l2*m2*cos(t2)*tdd1*l1+l2*m2*cos(t2)*cos(t1)*g]
combine:
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l1
+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2
*td2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd
1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)
*tdd1*l1]
convert(exp):
[l2*m2*((tdd1+tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1
)1/exp(i*t1))*g)+(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/e
xp(i*t1))*g))+l1*m1*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g)+l1*(1/2*i*(exp(
i*t2)1/exp(i*t2))*m2*((td1+td2)^2*l2+(1/2*exp(i*t2)+1/2/exp(i*t2))*(td1^2*l1
1/2*i*(exp(i*t1)1/exp(i*t1))*g)1/2*i*(exp(i*t2)1/exp(i*t2))*(tdd1*l1+(1/2*exp(
i*t1)+1/2/exp(i*t1))*g))+(1/2*exp(i*t2)+1/2/exp(i*t2))*m2*((tdd1+tdd2)*l2+1/
2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g)+(1/2*exp(i
*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g))),l2*m2*((tdd1+
tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g)
+(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/e xp(i*t1))*g))]
convert(sincos):
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)* g)+l1*(sin(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)* l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
convert(tan):
[l2*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2
*t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(
1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))+l1*m1*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/
2*t1)^2)*g)+l1*(2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*m2*((td1+td2)^2*l2+(1tan(
1/2*t2)^2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+
2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2)
*g))+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1
+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^
2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))),l2*m2
*((tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1
+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1
)^2)/(1+tan(1/2*t1)^2)*g))]
collect(t1):
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)* g)+l1*(sin(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)* l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
mwcos2sin:
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)* g)+l1*(sin(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)* l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
ans=
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*
l1+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l
2*td2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*td
d1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2
)*tdd1*l1]
Evaluacin de los trminos que aparecen en la expresin del par por separado
Matriz de masas ( M ( ))
>> M = inertia (dyn , q)
M=
[l2*m2*(l2+cos(t2)*l1)+l1^2*m1+l1*(m2*sin(t2)^2*l1+cos(t2)*m2*(l2+cos(t
2)*l1)),l2*m2*(l2+cos(t2)*l1)] [l2^2*m2+l1*cos(t2)*m2*l2, l2^2*m2]
Termino gravitatorio G ( )
>> G = gravity ( dyn, q, grav )
G=
[l2*m2*(sin(t2)*sin(t1)*g+cos(t2)*cos(t1)*g)+l1*m1*cos(t1)*g+l1*(sin(t2)*m2*
(cos(t2)*sin(t1)*g+sin(t2)*cos(t1)*g)+cos(t2)*m2*(sin(t2)*sin(t1)*g+cos(t2)*cos
(t1)*g))
Trminos centrfugos y de Coriolis V ( , ' )
>> V = coriolis ( dyn, q, qd )
V=
[l2*m2*sin(t2)*td1^2*l1+l1*(sin(t2)*m2*((td1+td2)^2*l2cos(t2)*td1^2*l1)+cos
(t2)*m2*sin(t2)*td1^2*l1)
l1 = l2 = 0.8 m
m1 = 4.7 Kg
m2 = 2.6 Kg
m3 = 1.1
Kg g= 9.8 m / seg^2
5*td1^2+49/5*sin(t1))+sin(t2)*(4/5*tdd1+49/5*cos(t1)))+11/10*cos(t3)*(4/5*t
dd1+4/5*tdd2sin(t2)*(4/5*td1^2+49/5*sin(t1))+cos(t2)*(4/5*tdd1+49/5*cos(t
1)))),1/10*tdd1+1/10*tdd2+1/10*tdd3]
A. FLYBALL GOVERNOR
DESCRIPCIN:
El regulador mecnico con el rbol, collar, brazos y las bolas de equilibrio.
BIBLIOGRAFIA
ROBTICA: Manipuladores y Robots mviles. Anibal Ollero Baturone.
Alfaomega Grupo Editor S.A. 2007. Marcombo S.A 2007.
ROBTICA. Tercera Edicin. John J. Craig. Editorial PEARSON. Prentice Hall.
SISTEMAS DE CONTROL APLICADOS A LA ROBTICA. Universidad de
Costa Rica. Escuela de Ingeniera Elctrica. 2002.
A ROBOTICS TOOLBOX FOR MATLAB, IEEE Robotics and Automation
Magazine, Vol. 3
ROBOT MANIPULATORS: MATHEMATICS, PROGRAMMING AND CONTROL.
Paul R.P. MIT Massachusetts.
ADAPTIVE MANIPULATOR CONTROL: A CASE STUDY. Slotine J., Li W. IEEE
Trans. On Automatic Control Vol. 33.
THEORY OF ROBOT CONTROL. Canudas de Wit., B. Siciliano ,y G. Bastin
(1997).Springer.
INTEGRATE MECHANICAL DESIGN AND MODELLING OF A NEW MOBILE
ROBOT. Ollero A.,1995.
EL PROBLEMA CINEMTICO EN MANIPULADORES ROBTICOS INDUSTRIALES.
A Hoosian., E. Sierra., E. Fernandez,. P. Britos.
PGINAS WEB
http://fliiby.com/file/746518/dodtik04nq.html
http://www.itapizaco.edu.mx/paginas/robo/TTM1/PAG1.html
http://www.newtonium.com/