Anda di halaman 1dari 9

Instituto Tecnolgico de La Laguna

Robtica Aplicada I

Tarea #7

Anlisis de la manipulabilidad de un manipulador 2R al


describir una ruta elptica
Nombre: Osvaldo Muoz Muoz
Nmero de Control: 11130605
Dr. Jos Alfonso Pmanes Garca
Torren, Coah. A 20 de Marzo del 2015

Anlisis de la manipulabilidad de un manipulador 2R al describir una ruta elptica.


Obtener los mejores valores de a, b y que permitan mejorar el desempeo del manipulador 2R,
bajo el criterio de la manipulabilidad, para describir una elipse.
Comenzamos analizando la figura que se muestra a continuacin para obtener la ecuacin de la
elipse, con la cual podremos determinar las ecuaciones para el clculo de las coordenadas y de
los puntos que formarn la elipse.

Podemos notar que una elipse tiene diferentes valores de radio (y/o dimetro) a lo largo de toda
su circunferencia; en la figura notamos un radio a el cual es el de mayor magnitud, as como el
radio b que es el de menor magnitud.
Si analizamos uno de sus radios r escogido arbitrariamente, sin ser ste el radio a (el mayor) ni
el b (el menor), notamos que su magnitud es mayor que la magnitud de b, pero menor que
la magnitud de a.
Descomponiendo r obtenemos que sus coordenadas de < y < y tiene un ngulo tan .
Sabemos que:
tan =

sin
=
cos

Y tambin se sabe que es la pendiente de la recta cuando sus coordenadas iniciales x y y


estn en el origen.
Entonces, las coordenadas del punto final de r las obtenemos:
= cos
= sin

Si en cada ecuacin despejamos sin y cos , obtenemos:


cos =

sin =

Si elevamos al cuadrado ambas ecuaciones y las sumamos obtenemos:


cos 2 + sin2 =

2 2
+
2 2

De las identidades trigonomtricas, tenemos que:


sin2 + cos2 = 1
Entonces, la ecuacin queda:
2 2
+
=1
2 2
La cual es la ecuacin de la elipse.
Ahora, para la graficacin del trazo de la ruta con el manipulador 2R tomando el criterio de la
manipulabilidad necesitamos asignarle un marco cuyo origen sea diferente del marco 0 del
manipulador para que las configuraciones del manipulador se acerquen lo mayor posible a sus
configuraciones de mxima manipulabilidad.
Para esto, declaramos un marco de 0-e, el cual es el marco de la estacin de trabajo donde se
realizar el trazo de la ruta.

0
= [
0
0

0
0

0
0
1
0

0
0
]
0
1

ste marco, cuenta con una matriz de rotacin en z para poder girar los puntos de la ruta por
medio de un ngulo y mejorar la manipulabilidad; adems, cuenta con las coordenadas 0 0
para ubicar el origen de la elipse.
Con las ecuaciones que describen las coordenadas de la elipse, obtenemos un vector erQ

compuesto por:

e
rQ= [ ]
0
1

El cual pertenece al marco de la estacin y cuyas componentes son:


= cos
= sin
Para trasladar esas componentes al marco 0, lo multiplicamos por la matriz de 0-e y obtenemos

un nuevo vector 0PQ:


0

0
PQ= [
0
0
Donde:

0
0

PQ = 0 erQ

+ 0
0 0

0 0
+ + 0
] [ ] = [
]
1 0
0
0
0 1
1
1

xQ = + 0
yQ = + + 0

Cdigo del programa


Con las consideraciones anteriores y apoyados del programa para la graficacin de una ruta
circular, obtenemos el siguiente programa:
%Parmetros geomtricos de la elipse:
a = 10;
b = 5;
%Cantidad de puntos para la graficacin:
np = 100;
%Arreglo para almacenar variables
pnx = zeros(np);
pny = zeros(np);
manip = zeros(np);
time = zeros(np);
eps = -1;

%Definir la postura del codo

%Parmetros geomtricos del manipulador:


l = 30;
%Tiempo de Graficacin:
T = 20;
%Coordenadas del origen de la elipse:
a0 = 30;
b0 = 25;
phi = deg2rad(-45);

%Funciones trigonomtricas del ngulo phi:


cphi = cos(phi);
sphi = sin(phi);
betai = 0;
deltbeta = 2*pi;
for i = 1 : 1 : np
t = i*T/np;
time(i) = t;
fc = (t/T)-(1/(2*pi))*sin(2*pi*t/T);
B = betai + deltbeta*fc;
%Clculo de los puntos de la ruta:
rcx = a*cos(B);
rcy = b*sin(B);
%Marco de 0 a la estacin:
T0e = [cphi -sphi
sphi cphi
0
0
0
0

0
0
1
0

a0;
b0;
0;
1];

%Vector r de la elipse en Q con respecto a e:


reQ = [rcx rcy 0 1]';
%Vector P de la elipse en Q con respecto a 0:
P0Q = T0e*reQ;
%Componentes de P0Q:
Px = P0Q(1);
Py = P0Q(2);
%Almacenamiento de los puntos de la ruta:
pnx(i) = Px;
pny(i) = Py;
P = sqrt((Px^2)+(Py^2));
Pxu = Px/P;
Pyu = Py/P;
raiz = sqrt((l^2) - ((P/2)^2));
P1x = (Px/2)+(eps*raiz)*Pyu;
P1y = (Py/2)-(eps*raiz)*Pxu;
P2x = Px-P1x;
P2y = Py-P1y;
th1 = atan2(P1y,P1x);
th1g = rad2deg(th1);
th2 = atan2(P2y,P2x)-th1;
th2g = rad2deg(th2);
th12 = th1 + th2;

%Declaracin de senos y cosenos:


c1 = cos(th1);
c12 = cos(th12);
c2 = cos(th2);
s1 = sin(th1);
s12 = sin(th12);
s2 = sin(th2);
%Matrices elementales:
T01 = [c1 -s1 0 0;
s1 c1 0 0;
0
0 1 0;
0
0 0 1];
T12 = [c2 -s2 0 l;
s2 c2 0 0;
0
0 1 0;
0
0 0 1];
T23 = [1
0
0
0

0
1
0
0

0
0
1
0

l;
0;
0;
1];

%Multiplicacin de matrices:
T02 = T01*T12;
T03 = T02*T23;
%Coordenadas de los orgenes de los marcos 1 y 2:
po1x = T02(1,4);
po1y = T02(2,4);
po2x = T03(1,4);
po2y = T03(2,4);
%Jacobiana:
J = l*[-s1-s12 -s12;
c1+c12 c12];
JJT = J*J';
%Clculo de la manipulabilidad:
manip(i) = sqrt(det(JJT));
%Arreglos para el trazo de las rectas de los eslabones:
e1x = [0 po1x];
e1y = [0 po1y];
e2x = [po1x po2x];
e2y = [po1y po2y];

if i > 1
figure(1)
clf
hold on
%Graficacin de la ruta del OT:
for j = 2 : i
plot([pnx(j-1), pnx(j)],[pny(j-1), pny(j)],'-r')
grid on
hold on
end
end
plot(e1x,e1y,'g-o',e2x,e2y,'y') %Graficacin de los eslabones
axis([-50,50,-50,50])
end
%Graficacin de la manipulabilidad vs tiempo:
figure(2)
plot(time,manip,'y')
axis([0,20,0,1000])
grid on
hold on

Resultados
Despus de experimentar con varias valores de 0 , 0 y obtenemos las siguientes grficas de
manipulabilidad:

Primer prueba

Segunda prueba

Tercer prueba

Primer prueba (Rojo), Segunda prueba (Azul), Tercer prueba (Verde)