Análisis de manipulabilidad de manipuladores redundantes

9
Instituto Tecnológico de La Laguna Robótica Aplicada I Tarea #7 Análisis de la manipulabilidad de un manipulador 2R al describir una ruta elíptica Nombre: Osvaldo Muñoz Muñoz Número de Control: 11130605 Dr. José Alfonso Pámanes García Torreón, Coah. A 20 de Marzo del 2015

description

Elipse

Transcript of Análisis de manipulabilidad de manipuladores redundantes

  • 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:

    cos2 + sin2 =2

    2+

    2

    2

    De las identidades trigonomtricas, tenemos que:

    sin2 + cos2 = 1 Entonces, la ecuacin queda:

    2

    2+

    2

    2= 1

    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 00 0 1 00 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:

    erQ= [

    01

    ]

  • 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:

    0PQ = 0 erQ

    0PQ= [

    0 0 0 00 0 1 00 0 0 1

    ] [

    01

    ] = [

    + 0 + + 0

    01

    ]

    Donde: 0xQ = + 0 0yQ = + + 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 0 a0; sphi cphi 0 b0; 0 0 1 0; 0 0 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 l; 0 1 0 0; 0 0 1 0; 0 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)