Professional Documents
Culture Documents
MATERIA: Robtica.
TAREA: # 2
Simulacin del modelo cinemtico directo del robot Motoman
ES280D
1
OBJETIVOS:
a) Obtener las ecuaciones del modelo cinemtico directo de posicin del robot
Motoman modelo ES280D.
c) Efectuar una simulacin del movimiento del robot si las variables articulares
tienen un movimiento definido por:
i = io + i + fc(t)
Dnde:
1 2
() = [ ( )]
2
1
2
2
4 2
3
4 4
4
2
5
2
6 2
2
INTRODUCCIN:
El modelo cinemtico directo de posicin (MCDP) consiste en el establecimiento de
las funciones que hacen posible determinar las coordenadas operacionales de un
robot a partir de sus coordenadas articulares.
Para este caso se analizara el MCDP del robot Motoman ES280D. Este robot es un
manipulador de 6 grados de libertad con el cual vamos a desarrolla una animacin
en MATLAB con el objetivo de efectuar varias trayectorias articulares dentro de sus
lmites articulares de operacin que nos proporciona el fabricante.
3
A continuacin en la tabla # 2 se observan los limites articulares los cuales son
representados por las letras maysculas S,L,U,R,B,T.
4
Donde las longitudes del robot son vase tabla # 3
Longitudes Unidades en cm
L1 65
L2 28.5
L3 115
L4 25
L5 101.5
L6 25
El eje yj se define a partir de los ejes xj y zj, de tal manera que se complete un
marco de mano derecha.
Ntese que mediante esta convencin no es posible definir los marcos unidos a los
eslabones C0 y Cn (eslabn fijo de la base y eslabn correspondiente a la ltima
articulacin). Tales marcos se pueden especificar de manera simple como sigue: el
marco 0 se escoge de tal manera que este alineado con el 1 cuando la variable
articular q1 sea nula; por su parte, el marco n se elige de modo que este alineado
con el n-1 cuando qn=0.
Los marcos que se encuentran en los puntos 0 w y 0p se colocaron arbitrariamente en
5
la cadena cinemtica del robot y estn referenciados de acurdo al marco anterior, ya
que tienen la misma orientacin que estos marcos solo que una distancia diferente
en alguno de sus ejes con respecto al marco anterior.
6
A continuacin en la tabla # 4 se pueden observar los PDHM que se obtuvieron de
acuerdo al esquema cinemtico de la Figura #2.
j j j dj j rj
1 0 0 0 1 0
2 0 90 d2 2 0
3 0 0 d3 3 0
4 0 90 d4 4 r4
5 0 -90 0 5 0
6 0 90 0 6 0
MATRICES ELEMENTALES.
Ya obtenido los PDHM del esquema cinemtico del robot Motoman ahora es
momento de obtener las matrices elementales del robot.
0
1
=
[ 0 0 0 1 ]
7
Sustituyendo en la matriz anterior anterior los PDHM pertenecientes a cada eslabn
del robot, se obtienen las siguientes matrices de transformacin homogneas,
tambin llamadas matrices elementales del robot.
1 1 0 0 2 2 0 2 3 3 0 3
0 1 1 0 0] 1 0 0 1 0 ] 2 3 3 0 0]
1 = [ 2 = [ 2 3 = [
0 0 1 0 2 0 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
4 4 0 4 5 5 0 0 6 6 0 0
3 0 0 1 4 ] 4 0 0 1 0] 5 0 0 1 0]
4 = [ 4 5 = [ 5 6 = [ 6
4 0 0 5 0 0 6 0 0
0 0 0 1 0 0 0 1 0 0 0 1
Dnde:
1 = (1 ) 1 = cos(1 )
2 = (2 ) 2 = cos(2 )
3 = (3 ) 3 = cos(3 )
4 = (4 ) 4 = cos(4 )
5 = (5 ) 5 = cos(5 )
6 = (6 ) 6 = cos(6 )
8
Ecuaciones del modelo cinemtico directo de posicin.
Para obtener el MCDP hay que multiplicar todas las matrices elementales que son
desde el marco cero hasta el ltimo marco que sera el marco seis.
0
6 = 01 12 23 34 45 56
Dnde:
9
ANIMACIN DEL ROBOT EN MATLAB
Anteriormente ya obtuvimos los marcos elementales del robot ahora para llevar a
cabo la simulacin en MATLAB hay que definir los marcos auxiliares los cuales son
el punto 0w, 0p y hay que aadir el marco de la pinza al centro de la pinza. Estas
matrices se declaran a continuacin.
1 0 0 4 1 0 0 0 1 0 0 0
3 0 1 0 0] 6 0 1 0 0] 0 1 0 0]
= [ = [ = [
0 0 1 0 0 0 1 6 0 0 1 4
0 0 0 1 0 0 0 1 0 0 0 1
10
% Desarrollo del programa para la animacin del robot motoman modelo ES280
% Nmero de puntos
np=50;
% fin de movimiento del robot
T=5;
% Matriz de emplazamiento
% x, y z se utilizan para posicionar al marco del mundo en una posicin
% deseada
x=0;
y=0;
z=0;
Mep=[0 -1 0 x
1 0 0 y
0 0 1 z
0 0 0 1 ];
d2=28.5;%distancia L2
d3=115;%distancia L3
d4=25;%distancia L4
r4=101.5;%distancia L5
r6=25;%distancia L6
rcp=6;%distancia de la pinza al centro de la pinza
11
t=T*i/np;
Q1 = Q1i+delQ1*((t/T)-(1/(2*pi))*(sin(2*pi*t/T)));
Q2 = Q2i+delQ2*((t/T)-(1/(2*pi))*(sin(2*pi*t/T)));
Q3 = Q3i+delQ3*((t/T)-(1/(2*pi))*(sin(2*pi*t/T)));
Q4 = Q4i+delQ4*((t/T)-(1/(2*pi))*(sin(2*pi*t/T)));
Q5 = Q5i+delQ5*((t/T)-(1/(2*pi))*(sin(2*pi*t/T)));
Q6 = Q6i+delQ6*((t/T)-(1/(2*pi))*(sin(2*pi*t/T)));
12
%Coordenadas del marco 3 al marco 0
x03= c1*d2 + c1*c2*d3;
y03=d2*s1 + c2*d3*s1;
z03=d3*s2;
xpt=cpt(1);
ypt=cpt(2);
zpt=cpt(3);
pn1(i+1)=xpt;
pn2(i+1)=ypt;
pn3(i+1)=zpt;
e02x=[x cpt2(1)];
e02y=[y cpt2(2)];
e02z=[z cpt2(3)];
e23x=[cpt2(1) cpt3(1)];
e23y=[cpt2(2) cpt3(2)];
e23z=[cpt2(3) cpt3(3)];
e3wx=[cpt3(1) cptw(1)];
13
e3wy=[cpt3(2) cptw(2)];
e3wz=[cpt3(3) cptw(3)];
ew4x=[cptw(1) cpt4(1)];
ew4y=[cptw(2) cpt4(2)];
ew4z=[cptw(3) cpt4(3)];
e4wx=[cpt4(1) cpt4w(1)];
e4wy=[cpt4(2) cpt4w(2)];
e4wz=[cpt4(3) cpt4w(3)];
epx=[cpt4w(1) cptp(1)];
epy=[cpt4w(2) cptp(2)];
epz=[cpt4w(3) cptp(3)];
l1=[0 0 0 1]';
l2=[0 0 -100 1]';
br1=[-35 35 -100 1]';
br2=[ 35 35 -100 1]';
br3=[ 35 -35 -100 1]';
br4=[-35 -35 -100 1]';
14
% Posicin del Marco de mundo
mm1x=[0 20];
mm1y=[0 0];
mm1z=[0 0];
mm2x=[0 0];
mm2y=[0 20];
mm2z=[0 0];
mm3x=[0 0];
mm3y=[0 0];
mm3z=[0 20];
p1 = [5 10 0 1]';
p2 = [5 10 10 1]';
p3 = [-5 10 0 1]';
p4 = [-5 10 10 1]';
p5 = [5 -10 0 1]';
p6 = [5 -10 10 1]';
p7 = [-5 -10 0 1]';
p8 = [-5 -10 10 1]';
a1 = Mep*m0p*p1;
a2 = Mep*m0p*p2;
a3 = Mep*m0p*p3;
a4 = Mep*m0p*p4;
a5 = Mep*m0p*p5;
a6 = Mep*m0p*p6;
a7 = Mep*m0p*p7;
a8 = Mep*m0p*p8;
15
%Traza las lneas para formar la pinza
p12x=[a1(1) a2(1)];
p12y=[a1(2) a2(2)];
p12z=[a1(3) a2(3)];
p24x=[a2(1) a4(1)];
p24y=[a2(2) a4(2)];
p24z=[a2(3) a4(3)];
p13x=[a1(1) a3(1)];
p13y=[a1(2) a3(2)];
p13z=[a1(3) a3(3)];
p34x=[a3(1) a4(1)];
p34y=[a3(2) a4(2)];
p34z=[a3(3) a4(3)];
p15x=[a1(1) a5(1)];
p15y=[a1(2) a5(2)];
p15z=[a1(3) a5(3)];
p37x=[a3(1) a7(1)];
p37y=[a3(2) a7(2)];
p37z=[a3(3) a7(3)];
p57x=[a5(1) a7(1)];
p57y=[a5(2) a7(2)];
p57z=[a5(3) a7(3)];
p78x=[a7(1) a8(1)];
p78y=[a7(2) a8(2)];
p78z=[a7(3) a8(3)];
p86x=[a8(1) a6(1)];
p86y=[a8(2) a6(2)];
p86z=[a8(3) a6(3)];
p65x=[a6(1) a5(1)];
p65y=[a6(2) a5(2)];
p65z=[a6(3) a5(3)];
figure(1)
clf
% Ciclo para trazar la trayectoria
for j=3:i
plot3([pn1(j-1),pn1(j)],[pn2(j-1),pn2(j)],[pn3(j-1),pn3(j)],'b'),;
hold on
end
grid on
plot3(mm1x,mm1y,mm1z,'g',mm2x,mm2y,mm2z,'b',mm3x,mm3y,mm3z,'y') %
Graficacion del marco de mundo
plot3(br1x,br1y,br1z,'b',br2x,br2y,br2z,'b',br3x,br3y,br3z,'b',br4x,br4y,
br4z,'b') %Graficacion de la base del robot
plot3(l1x,l1y,l1z,'m','MarkerSize',5) %Graficacion de la lnea de
soporte del robot
plot3(e02x,e02y,e02z,'k-o',e23x,e23y,e23z,'k-o',e3wx,e3wy,e3wz,'k-
o',ew4x,ew4y,ew4z,'k-o',e4wx,e4wy,e4wz,'k-o',epx,epy,epz,'k-o') %
Graficacion de las lneas de cada eslabn
plot3(p12x,p12y,p12z,'g',p24x,p24y,p24z,'g',p13x,p13y,p13z,'g',p34x,p34y,
p34z,'g',p15x,p15y,p15z,'g',p37x,p37y,p37z,'g',p57x,p57y,p57z,'g',p78x,p7
16
8y,p78z,'g',p86x,p86y,p86z,'g',p65x,p65y,p65z,'g')% Graficacion de la
pinza
axis([-200,200,-100,250,-100,200])
view([1,1,1])
title(' ROBOT MOTOMAN ES280D')
end
17
A continuacin veremos las simulaciones hechas en MATLAB cuando se le aplica
una funcin cicloidal esta funcin la definimos al principio de esta tarea. De
acuerdo a la tabla # 1 vamos a simular dicho robot.
Trayectoria 2:
1 = , y 1 = = 180 2 = , y 2 = = 90
2 4
19
Trayectoria 3:
1 = , y 1 = = 180 2 = , y 2 = = 90 3 = , y 2 =
2 4 2 4
= 45
4
Trayectoria 4:
1 = , y 1 = = 180 2 = , y 2 = = 90 3 = , y 2 =
2 4 2 4
= 45 4 = , y 4 = = 180
4 2
20
Trayectoria 5:
1 = , y 1 = = 180 2 = , y 2 = = 90 3 = , y 2 =
2 4 2 4
= 45 4 = , y 4 = = 180 5 = , y 5 = = 180
4 2 2
Trayectoria 6:
1 = , y 1 = = 180 2 = , y 2 = = 90 3 = , y 2 =
2 4 2 4
= 45 4 = , y 4 = = 180 5 = , y 5 = = 180 6 =
4 2 2
, y 6 = = 180
2
21
BIBLIOGRAFA
1. Robtica: Introduccin al modelado de manipuladores. Autor: J. Alfonso
Pamanes Garca.
22