Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cinematica Directa de Un Robot SCARA PDF
Cinematica Directa de Un Robot SCARA PDF
1
Comprobacin de los parmetros Denavit-Hartenbert.
i = 1
theta1 Angulo de x0 a x1 medido alrededor de z1 1=0
d1 Distancia de x0 a x1 medida a lo largo de z1 d1=2
a1 Distancia de z0 a z1 medida a lo largo de x1 a1=0
alpha1 Angulo de z0 a z1 medido alrededor de x1 1=0
i =2
theta2 Angulo de x1 a x2 medido alrededor de z2 2=q1
d2 Distancia de x1 a x2 medida a lo largo de z2 d2=0
a2 Distancia de z1 a z2 medida a lo largo de x2 a2=3
alpha2 Angulo de z1 a z2 medido alrededor de x2 2=0
i = 3
theta3 Angulo de x2 a x3 medido alrededor de z3 3=q2
d3 Distancia de x2 a x3 medida a lo largo de z3 d3=0
a3 Distancia de z2 a z3 medida a lo largo de x3 a3=2
alpha3 Angulo de z2 a z3 medido alrededor de x3 3=0
i = 4
theta4 Angulo de x3 a x4 medido alrededor de z4 4=0
d4 Distancia de x3 a x4 medida a lo largo de z4 d4=2
a4 Distancia de z3 a z4 medida a lo largo de x4 a4=0
alpha4 Angulo de z3 a z4 medido alrededor de x4 4=0
i = 5
theta5 Angulo de x4 a x5 medido alrededor de z5 5=q3
d5 Distancia de x4 a x5 medida a lo largo de z5 d5=q4
a5 Distancia de z4 a z5 medida a lo largo de x5 a5=0
alpha5 Angulo de z4 a z5 medido alrededor de x5 5=0
i i di ai i
1 0 d1 0 0
2 q1 0 a2 0
3 q2 0 a3 0
4 0 -d4 0 0
5 q3 q4 0 0
Cinemtica Directa
2
Como es sabido el Algoritmo Denavit Hartenberg est conformado por una
rotacin en el eje Z, una translacin en el eje Z, una translacin en el
eje X y una rotacin en el eje X. Todos estas rotaciones y translaciones
se dan con respecto al eje mvil, por ende sus matrices se debern pos
multiplicar sobre las matrices de transformaciones previas tal y como se
muestra a continuacin.
Esto nos dar una matriz de transformacin homognea MTH, como tenemos
cuatro parmetros Denavit Hartenberg y un parmetro fantasma obtendremos
cinco MTHS. Es muy importante respetar el orden en el que se da funcin
denavit, ya que de esto depende nuestra Cinemtica Directa.
3
%--------------------------------------------------------------------------
% FUNCION DENAVIT HARTENBERG
%--------------------------------------------------------------------------
function dh = denavit(theta,d,a,alpha)
dh = [cos(theta) -cos(alpha)*sin(theta) sin(alpha)*sin(theta) a*cos(theta)
sin(theta) cos(alpha)*cos(theta) -sin(alpha)*cos(theta) a*sin(theta)
0 sin(alpha) cos(alpha) d
0 0 0 1];
Esta funcin ser llamada para obtener los MTHS relativas a cada eslabn
de nuestro Robot Scara, como tenemos cinco parmetros Denavit Hartenber
entonces tendremos 5 MTHS.
4
Como podemos apreciar en la figura 02 las flechas de amarillo nos hace
referencia que el MTH posterior esta referenciado al anterior (relativo a
cada eslabn).
Donde:
Los MTHS obtenidos son los que se utilizaran para plotear los Frames
del robot en MATLAB con la Toolbox frame.
Como podemos apreciar en la figura 03, las flechas de amarillo nos hace
referencia que los MTHS esta referenciado al Frame Fijo. Ahora para
hallar las coordenadas de cada punto del extremo de los eslabones
relativos al Frame Fijo, se hallara de la siguiente manera.
5
Sabemos que el MTH aportan la siguiente informacin:
6
Nuestro objetivo es hallar los puntos de las Coordenadas mviles, ,
pero con respecto al Frame Fijo, , ahora para poder encontrarlas
multiplicaremos los siguientes MTHS y sus respectivas coordenadas de
cada punto del extremo del robot:
Gracias a los MTHS con respecto al Frame Fijo y a los puntos de las
coordenadas de los extremos de cada eslabn de nuestro robot, tambin con
respecto al Frame Fijo, podremos realizar su ploteo tanto de los Frame
Mviles como de las coordenadas de cada extremo del robot en MATLAB.
7
Con lo descrito anteriormente estamos listos para realizar la cinemtica
directa en MATLAB tal como sigue:
8
frame(T01,'b',.5)
hold on
plot3([P1(1) P2(1)],[P1(2) P2(2)],[P1(3) P2(3)],'r','linewidth',3)
frame(T02,'b',.5)
hold on
plot3([P2(1) P3(1)],[P2(2) P3(2)],[P2(3) P3(3)],'r','linewidth',3)
frame(T03,'m',.5)
hold on
plot3([P3(1) P4(1)],[P3(2) P4(2)],[P3(3) P4(3)],'r','linewidth',3)
frame(T04,'b',.5)
hold on
plot3([P4(1) P5(1)],[P4(2) P5(2)],[P4(3) P5(3)],'r','linewidth',3)
frame(T05,'g',.5)
axis([-1 5 -1 5 -3 3])
grid
view(121,44)
rotate3d
T00 = T03 =
0 0 1 0 0 0 1.0000 2.0000
0 0 0 1 0 0 0 1.0000
T01 = T04 =
0 0 1 2 0 0 1.0000 0
0 0 0 1 0 0 0 1.0000
T02 = T05 =
0 0 0 1.0000 0 0 0 1.0000
9
ROBOT SCARA
Z
X Y
3 X Y Z
Y
2 X
Z Y
1 X
Eje Z
0 Z Y
-1 X
-1
-2 Z
0
-3 X Y 1
-1
0 2
1 3
2
3 4
4 Eje X
5 5
Eje Y
Cinemtica Inversa
[ ]
10
Ahora extraeremos los tres primeros elementos de la primera columna
[ ]
[ ]
[ ]
[ ]
11
Ahora de la Figura 03 y 06 podemos representar los MTHS de cada Frame
relativo a Frame Fijo en funcin de sus vectores unitarios n o a, as
como tambin de sus posiciones:
[ ]
[ ]
[ ]
[ ]
[ ]
Como sabemos nuestro Robot Scara est compuesto por un RRRP entonces
tendremos que hallar tres articulaciones de rotacin (q1, q2 y q3) y una
articulacin prismtica (q4).
Articulacin q1
12
Articulacin q2
Articulacin q3
13
Obtencin de la articulacin prismtica.
Articulacin q4
14
Programacin en software LABVIEW
CINEMTICA DIRECTA
15
Ahora con la subview ya creado se puede empezar a construir la cinemtica
directa. Comenzaremos creando un WHILE LOOP con su respectivo STOP, para
ahorrarle recursos a LABVIEW, y un STACKED SEQUENCE STRUCTURE con cuatro
FRAME para tener un orden en la programacin.
En el FRAME 0:
En el FRAME 1:
16
En el FRAME 2:
Aqu obtendremos las coordenadas de los puntos de los extremos del ROBOT
SCARA referenciados al Frame Fijo. Se utilizo VARIABLES LOCALES, GET
MATRIX ELEMENTS y PRODUCTO DE MATRICES.
En el FRAME 3:
Aqu se recibir las coordenadas de los puntos de los extremos del ROBOT
SCARA referenciados al Frame Fijo y se ordenaran convenientemente las
coordenadas para plotearlas. Se utilizo BUILD MATRIX en modo APPEND by
columns, TRANSPOSE MATRIX, GET SUBMATRIX, GET MATRIX ELEMENTS, CONVERTS
MATRIX TO ARRAY, RESHAPE ARRAY y NI_3DGRAPH.LVLIB: 3D CURVE.VI.
17
El ploteo en labview se aprecia seguidamente:
CINEMTICA INVERSA
18
Figura 18 Subview Cinemtica Inversa.
19
Figura 20 Ploteo del Robot Scara con Cinemtica Inversa.
Las posiciones halladas estn referenciadas al Frame Fijo asi que con
estos puntos podemos plotear, y como dependen del MTH M01, cuando este
vari tambin variaran las posiciones p1, p2 y p3, graficndose como si
fuera un frame para la direccin y1.
20
Figura 21 Puntos a lo largo del vector unitario eje y1.
Esto mismo podemos generalizarlo para ms punto y para cada uno de los
ejes restantes (eje X y eje Z).
21
SUBVIEW FRAMES
22
Figura 24 Subview Frames Totales.
23
Tambin en el FRAME 3 del STACKED SEQUENCE STRUCTURE agregamos tres
NI_3DGRAPH.LVLIB: 3D CURVE.VI ms para el grafico de cada eje xyz.
24