You are on page 1of 4

LABORATORIO DE ROBOTICA

DESPLAZAMIENTO DE 90 ALREDEDOR DEL EJE Z

El programa contiene el código para realizar la rotación de la imagen de prueba. El


vector p0 = [px0, py0, pz0 ]T tiene las coordenadas de la imagen de prueba definidas
en el sistema de referencia Σ0(x0, y0, z0). El ´ángulo de rotación θ es de 90 grados con
respecto al eje z0. El sistema Σ1 (x1, y1, z1) tiene la imagen rotada con respecto al
sistema Σ0(x0, y0, z0). La matriz de rotación Rz0( π/2 ) relaciona la orientación que tiene
la imagen rotada definida en Σ1(x1, y1, z1) en relación al sistema fijo Σ0(x0, y0, z0).
En la figura muestra el resultado del programa en ambos sistemas de referencia
Σ0(x0, y0, z0) y el sistema de referencia rotado Σ1(x1, y1, z1).
clc;
clear all;
close all;
%coordenadas del vector p_0=[px0; py0; pz0]
pxo=[0,0,0,0,0,6,7,7, 8, 8, 9,9, 10,10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 13, 14,14,
14, 14, 14, 14, 14, 14,14, 14, 15, 15, 16,16, 17,17,18,19,20,21];
pyo=[0,0,0,0,0,9,9,10,9, 11, 9,12, 1, 2, 3, 4, 5, 6,7, 8, 9, 12, 12, 12, 12,1, 2, 3, 4,
5, 6, 7, 8, 9, 12, 9, 12, 9, 11, 9, 10, 9,0,0,0 ];
pzo=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];

theta=90*3.1416/180.0;
%matriz de rotación Rot{z}{theta}
R_ztheta=[ cos(theta), -sin(theta), 0;
sin(theta), cos(theta), 0;
0, 0,1];

%conversión de coordenadas del sistema sis{0} al sistema sis{1}


% p_1=Rot{z}{theta}p_0
Sigma1=R_ztheta*[pxo; pyo; pzo];

%p_1=[px1; py1; pz1]


px1=Sigma1(1,:);
py1=Sigma1(2,:);
pz1=Sigma1(3,:);
%puntos graficados en los sistemas p_0 in sis{0} y p_1 in sis{1}
plot3(pxo,pyo,pzo,'.',px1,py1,pz1,'x')
Estudie el programa anterior haciendo las pruebas correspondientes por partes y
luego desarrollar el algoritmo para obtener el mismo desplazamiento con 90 grados de
la flecha azul (tomando como referencia)

CODIGO PARA GIRAR 180° alrededor del eje z

%coordenadas del vector p_0=[px0; py0; pz0]

pxo=[0,0,0,0,0,6,7,7, 8, 8, 9,9, 10,10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 13, 14,14,
14, 14, 14, 14, 14, 14,14, 14, 15, 15, 16,16, 17,17,18,19,20,21];
pyo=[0,0,0,0,0,9,9,10,9, 11, 9,12, 1, 2, 3, 4, 5, 6,7, 8, 9, 12, 12, 12, 12,1, 2, 3, 4,
5, 6, 7, 8, 9, 12, 9, 12, 9, 11, 9, 10, 9,0,0,0 ];
pzo=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];

theta=180*3.1416/180.0;
%matriz de rotación Rot{z}{theta}
R_ztheta=[ cos(theta), -sin(theta), 0;
sin(theta), cos(theta), 0;
0, 0,1];
%conversión de coordenadas del sistema sis{0} al sistema sis{1}
Sigma1=R_ztheta*[pxo; pyo; pzo];

%p_1=[px1; py1; pz1]


px1=Sigma1(1,:);
py1=Sigma1(2,:);
pz1=Sigma1(3,:);
%puntos graficados en los sistemas p_0 in sis{0} y p_1 in sis{1}
plot3(pxo,pyo,pzo,'.',px1,py1,pz1,'x')

IMAGEN ROTADA 180°

 Como podemos ver en el codigo , se modifico el 90 por 180 para que el angulo
de giro sea 180 .
 El orden de la grafica es : primero la flecha azul , posteriormente la de x, que
es quien varia los 180 grados.
 Como podemos apreciar theta es el angulo de giro .
 R_ztheta es la matriz de rotación.
 Sigma1 es la multiplicación de la matriz rotacional con las coordenadas
originales.
 pxo,pyo,pzo, son las coordenadas de origen y ,px1,py1,pz1 las nuevas
coordenadas a las que se le aplico la rotación.
PARA GIRAR 90° alrededor del eje y

PARA GIRAR 90° alrededor del eje x

You might also like