Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Valeria Staiti
2021/2022
CINEMATICA DIRECTA
La cinemática directa se apoya en establecer cuál es la posición y orientación del extremo
final del robot, con en relación con un sistema de coordenadas , conocidos los valores de
las articulaciones y los parámetros geométricos de los recursos del robot.
Aquì se anexa la foto del robot en el que se vean los sistemas de referencia generados
El programa que se ha desarollado por esta pratica nos calcula la Matriz de Transformación
Homogénea correspondiente a los valores de los ángulos de rotación del robot. Para ello
hemos creados dos funciones, denavit y mentor_dir.
Denavit: Función que calcula la Matriz de Transformación para cada valor de án gulos del
robot. La matriz que relaciona el eslabón i con el i-1 viene dada por la matriz:
Mentor_ dir: Nos calcula la Matriz de Transformación Homogénea, “Pose”, desde la base
del robot hasta su extremo, haciendo las correspondientes transformaciones de ángulos
CINEMATICA INVERSA
El fin de la cinemática inversa de un robot, es calcular como tienen que estar sus
articulaciones, para que el extremo del robot tenga la posición y orientación deseadas.
Codo – Indica la solución de la cinemática inversa que se desea en función del codo.
Existen dos soluciones codo en posición alta ‘a’ y en posición baja ‘b’.
Formato – Indica en que unidades se desea que se genere la salida, las posibilidades son:
‘g’ en grados, ‘r’ en radianes y ‘w’ en walli.
Por lo tanto el fin es calcular los ángulos de todas las articulaciones, que estan contenido
en un vector q.
El programa lo será llamado letras.m., será realizado en Matlab tomando como origen los
puntos (0,0) la parte inferior central de la inicial del apellido, que coincide con El punto
origen es al que apunta el extremo del robot cuando se le introducen los ángulos walli
siguientes [128, 84, 24, 98, 128]
Teniendo en cuenta las medidas, se ha hecho el dibujo de las letras. Cada segmento de la
lettras se divide en puntos, que se ha tenido en cuenta de cojerlos a una distancia de
maximo 1 cm entre ellos. El formato tiene que ser por ejemplo :
Entonces se declara el punto origine y los incrementos de los puntos respecto a esto. Se va a crear
asì una matriz T y gracias a esta se calcula la cinematica inversa y se obtiene los angulos en walli.
Una vez realizado el programa y recibir las coordenadas en walli, se ha de pasar los datos a
dicho programa, colocando los ángulos de coordenadas en (x,y,z) en las tres primeras
columnas y en las dos últimas los ángulos de translación y rotación necesarios para la
escritura de las letras. Si se quiere que se vaya de un punto a otro sin que el robot escriba,
se deberá aumentar su coordenada z en 20mm.
a1=(255-128)/(105-0); % Calculamos a1 y b1
b1=128-a1*0;
a2=(155-20)/(0+90); % Calculamos a2 y b2
b2=20-a2*(-90);
a3=(255-128)/(115-0); % Calculamos a3 y b3
b3=128-a3*0;
a4=(255-128)/(160-0); % Calculamos a4 y b4
b4=128-a4*0;
a5=(255-128)/(160-0); % Calculamos a5 y b5
b5=128-a5*0;
if formato == 'r'
qr=q % como los datos se han introducido en radianes, qr=q
qg=qr*180/pi % como los datos se han introducido en grados,
qg=q
qw(1)=qg(1)*a1+b1; % Las constantes a1 y b1 hay que
calcularlas con
% los datos dados en la práctica
qw(2)=qg(2)*a2+b2; % Las constantes a2 y b2 hay que
calcularlas con
% los datos dados en la práctica
qw(3)=qg(3)*a3+b3; % Las constantes a3 y b3 hay que
calcularlas con
% los datos dados en la práctica
qw(4)=qg(4)*a4+b4; % Las constantes a4 y b4 hay que
calcularlas con
% los datos dados en la práctica
qw(5)=qg(5)*a5+b5; % Las constantes a5 y b5 hay que
calcularlas con
% los datos dados en la práctica
qw=round(qw) % redondea y lo muestra en el command window
end
if formato == 'w'
qw=q % como los datos se han introducido en walli, qw=q
qg(1)=(qw(1)-b1)/a1;
qg(2)=(qw(2)-b2)/a2;
qg(3)=(qw(3)-b3)/a3;
qg(4)=(qw(4)-b4)/a4;
qg(5)=(qw(5)-b5)/a5;
qg
qr=qg*pi/180
end
% Parámetros Denavit-Hartenberg del robot
l1=185;
l2=165;
l3=150;
l4=205;
%%Práctica 5.
% mentor_inv cinemática inversa
% Q = mentor_inv(T, codo, formato) devuelve el vector de
coordenadas
% articulares correspondiente a la solución cinemática
inversa de la
% mano
% del manipulador en la posición y orientación expresadas en
la matriz
% T.
% codo = 'a' indica codo del robot arriba, es decir, que la
% articulación 3 se
% sitúa por encima de la articulación 2, mientras que CODO =
'b'
% indica codo
% abajo, es decir que la articulación 2 se sitúa por encima
de la 3.
% formato = los angulos de las articulaciones se devuelven
en: 'r'
% radianes, 'g' grados o 'w' walli.
% See also mentor_dir, DENAVIT.
function qs=mentor_invC(T,codo,formato)
l1=185;
l2=165;
l3=150;
l4=205;
a1=(255-128)/(105-0);
b1=128-a1*0;
a2=(155-20)/90;
b2=20-a2*(-90);
a3=(255-128)/115;
b3=128-a3*0;
a4=(255-128)/160;
b4=128-a4*0;
a5=a4;
b5=128-a5*0;
longitud = length(inc);
Q = zeros(1);
for i=1:longitud
inc_Px = inc(i,1);
inc_Py = inc(i,2);
inc_Pz = inc(i,3);
Q(i,1) = i;
Q(i,2) = S(1);
Q(i,3) = S(2);
Q(i,4) = S(3);
Q(i,5) = S(4);
Q(i,6) = 128;
end