Documente Academic
Documente Profesional
Documente Cultură
Laboratorio de Cmputo
DEPARTAMENTO DE INGENIERA EN MECATRONICA
Prctica No: 1
Ttulo: Rotaciones y Traslaciones con el ToolBox de Robtica
Nmero de grupo del curso: 41290
Profesor del Curso de Teora y de Laboratorio: Josu Romn Martnez Mireles
Integrantes
Nombre
Matrcula
1131106902
1231107924
OBJETIVO GENERAL
El alumno ser capaz de instalar y utilizar el toolbox de robtica para la representacin de la posicin y
orientacin en el espacio tridimensional, as como las transformaciones homogneas anidadas.
OBJETIVO PARTICULAR
El alumno ser capaz de instalar el Toolbox de Robtica as como confirmar una correcta instalacin con la
ejecucin del demo del toolbox.
El alumno utilizar las funciones del toolbox para la representacin de la posicin y orientacin tridimensional.
DESARROLLO DE LA METODOLOGA
1.
2.
Suponer que tres sistemas de coordenadas o1x1y1z1, o2x2y2z2 y o3x3y3z3 existen, y suponer
1
21
0
[0
0
1
2
3
2
0
3
0
2
2 ; 3 = [0
1
1
2 ]
0 1
1 0]
0 0
Encontrar 2R3
2
3.
4.
RESULTADOS Y ANALISIS
1.Comandos Utilizados
T=rotx(0)
T0=roty(0)
T00=T*T0
R0=trplot(T00,'frame','1')
T1=rotx(pi/2)
T2=roty(pi/2)
T01=T1*T2
R=trplot(T01,'frame','222')
Resultados Matlab
>> ejercicio1
T=
1
0
0
0
1
0
0
0
1
T0 =
1
0
0
0
1
0
0
0
1
T00 =
1
0
0
0
1
0
0
0
1
R0 =
192.0085
T1 =
1.0000
0
0
0
0.0000 -1.0000
0
1.0000 0.0000
T2 =
0.0000
0
0 1.0000
-1.0000
0
1.0000
0
0.0000
T01 =
0.0000
1.0000
-0.0000
0
1.0000
0.0000 -0.0000
1.0000 0.0000
Sistema Inicial
R=
200.0085
>>
Sistema Final
5
2.
Comandos Utilizados
R12=[1 0 0;0 1/2 -sqrt(3)/2;0 sqrt(2)/2 1/2]
R13=[0 0 -1;0 1 0;1 0 0]
R21=inv(R12)
R23=R21*R13
Resultados Matlab
>> ejercicio2
R12 =
1.0000
0
0
0 0.5000 -0.8660
0 0.7071 0.5000
R13 =
0
0
1
0 -1
1 0
0 0
R21 =
1.0000
0
0
0 0.5798 1.0042
0 -0.8200 0.5798
R23 =
0
0 -1.0000
1.0042 0.5798
0
0.5798 -0.8200
0
>>
6
3.
Comandos Utilizados
eu=eul2r(pi/2, 0, pi/4)
trplot(eu,'frame','x1')
Resultados Matlab
>> ejercicio3
eu =
-0.7071 -0.7071
0
0.7071 -0.7071
0
0
0 1.0000
>>
4.
Comandos Utilizados
P0=transl(0,1,1)
P1=transl(-.5,1.5,1)
P2=transl(-.5,1.5,1)
Pz=rotz(90*pi/180)
Px=rotx(90*pi/180)
Pxz=Pz*Px
[r,t1]=tr2rt(P2)
tr=rt2tr(Pxz,t1)
T1=trplot(P0,'frame','1')
hold on
T2=trplot(P1,'frame','2')
T3=trplot(P2,'frame','3')
T4=trplot(Pxz,'frame','4')
T5=trplot(tr,'frame','5')
Resultados Matlab
>> ejercicio4
P0 =
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
P1 =
1.0000
0
0 -0.5000
0 1.0000
0 1.5000
0
0 1.0000 1.0000
0
0
0 1.0000
P2 =
1.0000
0
0 -0.5000
0 1.0000
0 1.5000
0
0 1.0000 1.0000
0
0
0 1.0000
Pz =
0.0000 -1.0000
0
1.0000 0.0000
0
0
0 1.0000
Px =
1.0000
0
0
0 0.0000 -1.0000
0 1.0000 0.0000
Pxz =
0.0000 -0.0000 1.0000
1.0000 0.0000 -0.0000
0 1.0000 0.0000
8
r=
1
0
0
0
1
0
0
0
1
t1 =
-0.5000
1.5000
1.0000
tr =
0.0000 -0.0000 1.0000 -0.5000
1.0000 0.0000 -0.0000 1.5000
0 1.0000 0.0000 1.0000
0
0
0 1.0000
T1 =
352.0116
T2 =
360.0116
T3 =
368.0116
T4 =
376.0116
T5 =
384.0116
>>
9
5.
Comandos Utilizados
aPz=rotz(30*pi/180)
aPx=rotx(45*pi/180)
aPy=roty(175*pi/180)
aPzxy=aPy*aPx*aPz
aP0=zeros(4)
[R,t2]=tr2rt(aP0)
T=rt2tr(aPzxy,t2)
Resultados Matlab
>> ejercicio5
aP0 =
aPz =
0.8660 -0.5000
0
0.5000 0.8660
0
0
0 1.0000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
R=
aPx =
1.0000
0
0
0 0.7071 -0.7071
0 0.7071 0.7071
0
0
0
t2 =
aPy =
-0.9962
0 0.0872
0 1.0000
0
-0.0872
0 -0.9962
aPzxy =
-0.8319 0.5515 0.0616
0.3536 0.6124 -0.7071
-0.4277 -0.5665 -0.7044
0
0
0
T=
-0.8319
0.3536
-0.4277
0
0.5515 0.0616
0.6124 -0.7071
-0.5665 -0.7044
0
0 1.0000
0
0
0
>>
10
6.
Comandos Utilizados
Tx=rotx(pi/4)
Ty=roty(pi/2)
Tz=rotz(pi/2)
Txyz=Tx*Ty*Tz
T=trplot(Txyz,'frame','1')
Resultados Matlab
>> ejercicio6
>> ejercicio6
Tx =
1.0000
0
0
0 0.7071 -0.7071
0 0.7071 0.7071
Ty =
0.0000
0 1.0000
0 1.0000
0
-1.0000
0 0.0000
Tz =
0.0000 -1.0000
0
1.0000 0.0000
0
0
0 1.0000
Txyz =
0.0000 -0.0000 1.0000
0.7071 -0.7071 -0.0000
0.7071 0.7071 0.0000
T=
192.0120
>>
11
7.
Comandos Utilizados
s1z=rotz(90*pi/180)
s1y=roty(60*pi/180)
t1=transl([9,3,5]')
s1x=rotx(180*pi/180)
t2=transl([2,8,1]')
g=[1.8786 -.7071 .5857 0;.7071 1 -1.442 0;1.17 1.4142 -1 0;0 0 0 1]
s1t=s1z*s1y
[r,t1]=tr2rt(st)
st1=s1t*s1x
[R1,t2]=tr2rt(st1)
[R2,g]=tr2rt(R1)
Resultados Matlab
>> ejercicio7
s1z =
0.0000 -1.0000
0
1.0000 0.0000
0
0
0 1.0000
s1y =
0.5000
0 0.8660
0 1.0000
0
-0.8660
0 0.5000
t1 =
1
0
0
0
0
1
0
0
0
0
1
0
9
3
5
1
s1x =
1.0000
0
0
0 -1.0000 -0.0000
0 0.0000 -1.0000
12
t2 =
1
0
0
0
0
1
0
0
0
0
1
0
0.0000
-0.8660
2
8
1
1
R2 =
3.0616e-17
g=
g=
1.8786
0.7071
1.1700
0
-0.7071 0.5857
1.0000 -1.4420
1.4142 -1.0000
0
0 1.0000
0
0
0
1
>>
s1t =
0.0000 -1.0000 0.0000
0.5000 0.0000 0.8660
-0.8660
0 0.5000
r=
0.0000 -1.0000
0.5000 0.0000
t1 =
0.0000
0.8660
st1 =
0.0000 1.0000 0.0000
0.5000 0.0000 -0.8660
-0.8660 0.0000 -0.5000
R1 =
0.0000 1.0000
0.5000 0.0000
t2 =
13
CUESTIONARIO
1. Cmo forma el toolbox la matriz de transformacin homognea a partir de los vectores orientacin y
acercamiento?
Utilizando el comando oa2tr donde T es la variable de transformacin homognea y o, a son las
variables que tienen los valores de los ngulos de Euler
Notes
-
The vectors o and a are parallel to the Y- and Z-axes of the coordinate frame.
2. Qu diferencia existe entre los comandos eul2tr y rpy2tr si tienen los mismos argumentos de
entrada?
Que el comando eul2tr utiliza las variables (r, p, y) con los valores de los ngulos de Euler y el comando
rpy2tr utiliza las variables (r, p, y) con los valores de los ngulos de roll, pitch y yaw
CONCLUSIONES
Concluyendo esta primera prctica logramos comprender mejor el funcionamiento de la
herramienta Toolbox de Matlab observando que tiene una amplia variedad de funciones
que podemos utilizar en la cinemtica para simular y analizar sistemas robticos como
son la translacin y la rotacin estos nuevos conocimientos sern de mucha utilidad en
ejercicios futuros.
EQUIPO
Equipo
Computadora Personal con MATLAB y
SIMULINK precargados.
Calculadora
14