robotica
Facultad de Ingeniería de Producción y Servicios
Escuela Profesional De Ingeniería Electrónica
Docente : Ing. LizardoPari
Alumnos :
Miano Cuentas Leonidas -20081749
Cano Torres Marco Alonso -20084090
Arequipa 2014
IV. INFORME
a. Realizar una función (archivo .m) que convierta de la matriz derotación R a representación ángulo y eje.
Archivo: pregunta_a.m
function [ang,eje] = anggeje(R)
R=input('INGRESE EL VALOR DE LA MATRIZ 3*3:');R
%Verificamos que la matriz de rotacion sea deorden 3x3
d = size(R);
if (d(1) ~= d(2) || d(1) ~= 3)
error('La matriz debe ser de orden 3x3');
else
ang = acos((trace(R)-1)/2);
eje =(1/(2*sin(ang)))*[R(3,2)-R(2,3);R(1,3)-R(3,1);R(2,1)-R(1,2)];
ang = ang * 180/pi;
disp('El ángulo en grados es:')
ang
disp('El eje es:')
eje
end
end
Vista en la Pantalla de MATLAB
INGRESE EL VALOR DE LA MATRIZ 3*3:[0.8 -0.1 0.6;0.0010.98 0.18;-0.58 -0.14 0.79]
R =
0.8000 -0.1000 0.6000
0.0010 0.9800 0.1800
-0.5800 -0.1400 0.7900
El ángulo en grados es:
ang =
38.2793
El eje es:eje =
-0.2583
0.9524
0.0815
ans =
38.2793
b. Realizar una función (archivo .m) que convierta de la representación de R por fórmula de Rodríguez a R.
Archivo:pregunta_b_Rodriguez.m
function R = rodrig2R(k,theta)
clear all;clc
k=input('Ingrese la matriz 3*1que seria el eje:');
k
theta=input('Ingrese el angulo :');
theta
ss1 = [0 -k(3) k(2);k(3)0 -k(1);-k(2) k(1) 0];
R = eye(3) + sin(theta)*ss1 + (1-cos(theta))*ss1^2;
disp('el valor de la matriz es: R:');R
end
Vista en la Pantalla de MATLAB
Ingrese la matriz 3*1 queseria el eje:[1 1 1]
k =
1 1 1
Ingrese el angulo:45
theta =
45
el valor de la matriz es: R:
R =
0.0506 -0.3762 1.3256
1.3256 0.0506...
Regístrate para leer el documento completo.