Informe Lab 3 Robotica
Informe Lab 3 Robotica
CURSO:
ROBOTICA 1
Informe 3:
PROFESOR:
ALUMNOS:
AREQUIPA-PERÚ
2014
INFORME 3
HERRAMIENTAS DE LOCALIZACIÓN ESPACIAL
I. OBJETIVOS
IV. PROCEDIMIENTO
IV.1. Deducir la matriz de rotación resultante de realizar las siguientes operaciones respecto de dos
sistemas de referencia {A} fijo y {B} móvil y representar en un diagrama dichas operaciones:
R ( Z A ,90 ° ) R ( X B , 45 ° ) R ( Z B , 30° )
[ 0 0 ][
1 0 sen(45) cos (45) 0 0][
¿ sen (90) cos (90) 0 0 cos(45) −sen(45) sen(30) cos (30) 0
1 ]
−0.3535 −0.6124 0.7071
[
R ( Z A ,90 ° ) R ( X B , 45 ° ) R ( Z B , 30° ) = 0.8660 −0.5000
0.3536
0
0.6124 0.7071 ]
Implementar una función en MATLAB que permita obtener la matriz de rotación dando como
argumento solo el ángulo de rotación y el eje de rotación.
function T=Rotar(eje,ang)
Ejemplos:
Se puede relacionar este par de rotación con una matriz de rotación homogénea siguiendo un método de
transformaciones en los ejes X, Y y Z descrita por la siguiente transformación:
Utilizando la herramienta del MATLAB podemos obtener esta matriz introduciendo todas estas relaciones. Así
creamos la función “PR_MTH(k,ang)” la cual nos entrega la matriz de transformación homogénea
correspondiente al par de rotación dado.
function MRH=PR_MTH(k,ang)
% Introducimos el vector k antes definido y el ángulo que se desea rotar.
ang=ang*0.0174532;
A=k(2)/(k(2)^2+k(3)^2)^(0.5);
B=k(3)/(k(2)^2+k(3)^2)^(0.5);
A1=k(1);
B1=(k(2)^2+k(3)^2)^0.5;
alfa=asin(A1)*57.2957
beta=asin(B1)*57.2957
VT=1-cos(ang);
MRH=[k(1)^2*VT+cos(ang), k(1)*k(2)*VT-k(3)*sin(ang),
k(1)*k(3)*VT+k(2)*sin(ang), 0 ;
k(1)*k(2)*VT+k(3)*sin(ang),k(2)^2*VT+cos(ang),k(2)*k(3)*VT-k(1)*sin(ang),0
;k(1)*k(3)*VT-k(2)*sin(ang),k(2)*k(3)*VT+k(1)*sin(ang),k(3)^2*VT+cos(ang), 0 ;
0, 0, 0,1];
end
IV.3. Escriba un programa en MATLAB para calcular la matriz de rotación R cuando el usuario
introduzca los ángulos de Euler XYZ
function MRH=AE_MTH(y,q,f)
T1=Py*Px;
MRH=Pz*T1;
end
Ejemplo:
IV.4. Escriba un programa MATLAB que calcule los ángulos de Euler XYZ cuando el usuario
introduzca la matriz de rotación R.
function AE=MTH_AE(MTH)
% introducimos la MTH de 4x4 y el resultado es son los angulos:
% y =yaw
% q= pitch
% f=roll
% en el orden AE=[y q f]
q=asin(-MTH(3,1))*57.2957;
q=q*0.0174532;
f=acos(MTH(1,1)/cos(q))*57.2957;
y=acos(MTH(3,2)/cos(q))*57.2957;
q=q*57.2957;
AE=[y q f]
end
Ejemplos: