Está en la página 1de 6

SIMULINK GENERAL (Para 1 GDL)

SIMULINK GENERAL (Para los 3 GDL)


PARTE DEL SENSADO

ERROR ACEPTABLE

Universidad Católica de Santa María


ROBOTICA II 1
PUENTE H

SIMULINK PARTE MOTOR

Universidad Católica de Santa María


ROBOTICA II 2
OBSERVACIONES

 Teníamos error en el temporizador (periodo de muestreo) por que el Matlab 2016 se debe configurar los
periodos de muestreo cambiando de “auto” a “singletasking”

Universidad Católica de Santa María


ROBOTICA II 3
Cinemática Directa
clear all
close all
clc

q1=input('Rotación de la Art. 1: ');


q2=input('Rotación de la Art. 2: ');
q3=input('Rotación de la Art. 3: ');

x=(15*cosd(q2)+7*cosd(q2+q3))*cosd(q1);
y=(15*cosd(q2)+7*cosd(q2+q3))*sind(q1);
z=17+15*sind(q2)+7*sind(q2+q3);

theta=real(asind(sind(q3)*cosd(q3)+cosd(q3)*sind(q2)));
lambda=asind((cosd(q3)*cosd(q2)-sind(q3)*sind(q2))/cosd(theta));
a=real(asind(sind(q3)*cosd(q2)+cosd(q3)*sind(q2))+acosd((-
sind(q3)*sind(q2)*cosd(q1)+cosd(q3)*cosd(q2)*cosd(q1))/(cosd(theta))));
b=real(acosd((-
sind(q3)*sind(q2)*cosd(q1))/(cosd(theta)))+asind((cosd(q3)*cosd(q2)-
sind(q3)*sind(q2))/(cosd(theta))));
c=asind(sind(q3)*cosd(q2)+cosd(q3)*sind(q2))+asind((cosd(q3)*cosd(q2)-
sind(q3)*sind(q2))/(cosd(theta)));

Cinemática Indirecta

clear all
close all
clc
x=input('Ingrese posición X deseada: ');
y=input('Ingrese posición Y deseada: ');
z=input('Ingrese posición Z deseada: ');
q1=real(atand(y/x));
q2=real(atand((z)/((x^2)+(y^2))^(0.5)));
q3=real(acosd(((x^2)+(y^2)+(z^2)-(15^2)-(7^2))/(2*15*7)));
if x==22& y==0 & z==17
q1=0;
q2=0;
q3=0;
end

Interpolación Lineal y Cubica (Funciones)

function q=interpolLin(qf,qi,t,T)
q=(qf-qi)*t/T+qi;
if t>T
q=qf;
end

function q=interpolCub(qf,qi,t,T)
a=qi;
b=0;
c=3*(qf-qi)/T^2;
d=-2*(qf-qi)/T^3;
q=a+b*t+c*t^2+d*t^3;
if t>T
q=qf;
end

Universidad Católica de Santa María


ROBOTICA II 4
Interfaz

Universidad Católica de Santa María


ROBOTICA II 5

También podría gustarte