You are on page 1of 3

Práctica: Rev:.

Página 1 de
Cinemática Directa Robot 2 3
Scara Documento Número
Práctica 2

PRÁCTICA DE CINEMÁTICA DIRECTA ROBOT SCARA

En la práctica siguiente, deberás utilizar MATLAB y las funciones de los M-files que hiciste en la
Práctica 1.

Usaremos la función denavit, y deberás modificar la función directkinematic4 de acuerdo a los


parámetros Denavit-Hartenberg que determines para el siguiente robot Scara:

Primero completa la tabla de parámetros DH siguiente:

Articulación Θ d a α
1
2
3
4

Para llenar la tabla anterior te puede servir de apoyo el video de la página:

https://www.youtube.com/watch?v=b3dINxuqLm0
Práctica: Rev:. Página 2 de
Cinemática Directa Robot 2 3
Scara Documento Número
Práctica 2

Con los parámetros DH de la tabla anterior, modifica la función directkinematic4, cambiando los
términos que están resaltados en color amarillo (los mostrados corresponden al robot de la
práctica 5). También asígnale valores a las longitudes L1, L2, L3 y L4 dentro de la función:
function A04 = directkinematic4(q)
% Parámetros Denavit-Hartenberg del robot
theta = [q(1) pi/2 0 q(4)];
d = [1 q(2) q(3) 1];
a = [0 -0 0 0];
alfa = [0 pi/2 0 0];
% Matrices de transformación homogénea entre sistemas de coordenadas
%consecutivos
A01 = denavit(theta(1), d(1), a(1), alfa(1));
A12 = denavit(theta(2), d(2), a(2), alfa(2));
A23 = denavit(theta(3), d(3), a(3), alfa(3));
A34 = denavit(theta(4), d(4), a(4), alfa(4));
% Matriz de transformación del primer al último sistema de coordenadas
A04 = A01 * A12 * A23 * A34;

Ahora se pueden introducir los valores articulares (q1, q2, q3 y q4) con el vector q, para hacer las
pruebas. Si damos los valores de prueba q1=45°, q2=30°, d3=3 y Θ4=0°, los introducimos a
MATLAB como un vector de variables q y lo definimos:

>> q=[pi/4;pi/6;3;0] ;

NOTA: En la función denavit se calculan las matrices i-1Ai introduciendo los parámetros DH de la
tabla para cada articulación, sin embargo, es importante notar que MATLAB realiza los cálculos
de seno y coseno para los ángulos en radianes, por lo tanto los valores articulares del vector q
deberán darse en radianes, para las articulaciones rotatorias. Otra alternativa es modificar la
función denavit para que reciba los valores articulares de las articulaciones rotatorias en grados
y al calcular los valores de seno y coseno se conviertan a radianes, es decir: sin (theta*pi/180) o
cos (alfa*pi/180).

Ahora llamamos a la función directkinematic4 con los parámetros del vector q, para que
calcule la matriz de Transformación Homogénea para esa posición:

>> T=directkinematic4(q)

Realiza pruebas dando nuevos valores al vector de parámetros variables q.

Grafica el robot en MATLAB usando alambres o líneas que nos muestren la posición de los
eslabones. Para hacer la representación gráfica en MATLAB usando alambres, usa la función
drawrobot3d4 que se muestra abajo (es prácticamente la misma de la práctica 5). Pero se deben
Práctica: Rev:. Página 3 de
Cinemática Directa Robot 2 3
Scara Documento Número
Práctica 2

modificar los Parámetros Denavit-Hartenberg del robot, que están resaltados en color amarillo (los
mostrados corresponden al robot de la práctica 5).
function drawrobot3d4(q)
% Parámetros Denavit-Hartenberg del robot
theta = [q(1) pi/2 0 q(4)];
d = [1 q(2) q(3) 1];
a = [0 0 0 0];
alfa = [0 pi/2 0 0];
% Matrices de transformación homogénea entre sistemas de coordenadas
%consecutivos
A01 = denavit(theta(1), d(1), a(1), alfa(1));
A12 = denavit(theta(2), d(2), a(2), alfa(2));
A23 = denavit(theta(3), d(3), a(3), alfa(3));
A34 = denavit(theta(4), d(4), a(4), alfa(4));
% Matrices de transformación del primer sistema al correspondiente
A02 = A01 * A12;
A03 = A02 * A23;
A04 = A03 * A34;
% Vector de posicion (x, y, z) de cada sistema de coordenadas
x0 = 0; y0 = 0; z0 = 0;
xa1 = 0; ya1=0; z1 = A01(3,4);
x2 = A02(1,4); y2 = A02(2,4); z2 = A02(3,4);
xi = A03(1,4); yi = A03(2,4); zi = A02(3,4);
x3 = A03(1,4); y3 = A03(2,4); z3 = A03(3,4);
x4 = A04(1,4); y4 = A04(2,4); z4 = A04(3,4);
% Se dibuja el robot
x = [x0 xa1 x2 xi x3 x4];
y = [y0 ya1 y2 yi y3 y4];
z = [z0 z1 z2 zi z3 z4];
plot3(x,y,z);
% Se coloca una rejilla a los ejes
grid;
% Se establecen los límites de los ejes
axis([-4.5 4.5 -4.5 4.5 0 4.5]);
% Se nombra a los ejes
xlabel('Eje x');
ylabel('Eje y');
zlabel('Eje z');

Realiza pruebas y comprueba la cinemática directa de tu robot Scara cambiando los parámetros de
L1, L2, L3 y L4 dentro de la función directkinematic4, drawrobot3d4(q)y dando nuevos
valores al vector de las variables articulares q. Llama a la función con el comando:

>> drawrobot3d4(q)

Las pruebas que te parezcan más adecuadas, documéntalas en el reporte dando la explicación,
mostrando los parámetros que le diste, los resultados y las gráficas que obtuviste.