Funciones Comandos en Matlab

11
FUNCIONES DE LOS COMANDOS EN MATLAB Primera Parte: Cada grupo de trabajo, diseñará un cuadro en el que relacionen cada uno delos comandos utilizados en esta segunda unidad en el programa de SCILAB (ó MATLAB), especificando la sintaxis y finalidad de cada uno, además de mantener una constante comunicación con todos sus compañeros del grupo. Instrucciones relacionadas con la cinemática COMANDO SINTAXIS FINALIDAD Sym s=sym(A) Construye un objeto s de clase 'sym' de A. Si el argumento de entrada es un string, el resultado es un número simbólico o variable. Symple r=simple s Simplificación algebraica de la expresión s radsimp radsimp: cos(x)+sin(x) Método de simplificación combine combine('hello',8^,[110 101 100],'blue') Form matrix from individual vectors and matrices diary diary off= suspende la sesion Save text of Matlab session. fkine T=simple ( fkine (dh,q) ) Calcular la cinemática directa de un robot manipulador Dh dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ] Contener los parámetros de Denavit Hartenberg del manipulador diff2tr t = diff2tr(d) Convertir un vector de movimiento diferencial en la correspondiente transformación homogénea Ikine T=fkine(dh,q) Ikine devuelve los valores de las variables articulares necesarios para que el efector final del manipulador tenga la posición y orientación dadas por la transformación T. jacobO >> J = simple ( jacob0 (dh, q) ) Calcular el Jacobiano del manipulador expresado en el sistema de referencia base jacobN >> J = simple ( jacobn (dh , q )) Calcular el Jacobiano expresado en el sistema de coordenadas del efector final Linkstrans T1=linktrans(dhp560(:.1),t1); %trans 1-0 T2=linktrans(dhp560(:.2),t2); %trans 2-1 T=T1*T2; ejem Calcular las matrices de transformación a partir de los parámetros de Denavit Hartenberg

description

comandos en matlab utilizados en robotica y control

Transcript of Funciones Comandos en Matlab

  • FUNCIONES DE LOS COMANDOS EN MATLAB

    Primera Parte: Cada grupo de trabajo, disear un cuadro en el que relacionen cada uno delos comandos utilizados en esta segunda unidad en el programa de SCILAB ( MATLAB), especificando la sintaxis y finalidad de cada uno, adems de mantener una constante comunicacin con todos sus compaeros del grupo.

    Instrucciones relacionadas con la cinemtica COMANDO SINTAXIS FINALIDAD

    Sym s=sym(A) Construye un objeto s de clase 'sym' de A. Si el argumento de entrada es un string, el resultado es un nmero simblico o variable.

    Symple r=simple s Simplificacin algebraica de la expresin s

    radsimp radsimp: cos(x)+sin(x) Mtodo de simplificacin

    combine combine('hello',8^,[110 101 100],'blue') Form matrix from individual vectors and matrices

    diary diary off= suspende la sesion Save text of Matlab session.

    fkine T=simple ( fkine (dh,q) ) Calcular la cinemtica directa de un robot manipulador

    Dh dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ] Contener los parmetros de Denavit Hartenberg del manipulador

    diff2tr t = diff2tr(d) Convertir un vector de movimiento diferencial en la correspondiente transformacin homognea

    Ikine T=fkine(dh,q) Ikine devuelve los valores de las variables articulares necesarios para que el efector final del manipulador tenga la posicin y orientacin dadas por la transformacin T.

    jacobO >> J = simple ( jacob0 (dh, q) ) Calcular el Jacobiano del manipulador expresado en el sistema de referencia base

    jacobN >> J = simple ( jacobn (dh , q )) Calcular el Jacobiano expresado en el sistema de coordenadas del efector final

    Linkstrans T1=linktrans(dhp560(:.1),t1); %trans 1-0 T2=linktrans(dhp560(:.2),t2); %trans 2-1

    T=T1*T2; ejem

    Calcular las matrices de transformacin a partir de los parmetros de Denavit Hartenberg

  • Numcols xData = zeros(500,1);ejem [numRows, numCols] = size(xData);

    jxData = javaArray('java.lang.Double',numRows,numCols);

    Calcular el nmero de columnas de una matriz

    Numrows Calcular el nmero de filas de una matriz

    Plotbot plotbot (dh, q) Representar grficamente el manipulador

    tr2diff Y = diff(X,n,dim) Convertir una transformacin en un vector de movimiento diferencial y calcular la diferencia entre dos transformaciones

    tr2jac dt = tr2jac (t) * d calcular la matriz que permite pasar un vector de velocidades cartesianas de un cuadro de referencia a otro distinto

    Velprop z = simple (velprop (dh, q, qd, v0, w0 ) ) Calcular el vector de velocidades en el espacio cartesiano expresado en el sistema de coordenadas del cuadro {n}.

    Instrucciones que habitualmente se emplean para realizar clculos relacionados con la dinmica de los brazos manipuladores

    COMANDO SINTAXIS FINALIDAD

    corioli V = coriolis (dyn, q, qd ) calcular el par correspondiente a los trminos centrfugos y de coriolis

    dyn e = diff(y)./h; ejem dy0=1; dyn=1;

    g = diff([dy0; e; dyn]); g = xxxx

    Contener los parmetros cine mticos y dinmicos del manipulador

    fdyn fdyn (dyn, 0, 10, 'taucap5', [0 0]',[ 0 0]', [0 9.810] permite integrar la dinmica directa para obtener las trayectorias articulares

    friction 1/sqrt(friction) = 2*log10((eD/3.7)+(5.74/Reyolds)*(1/sqrt(friction)));

    ejem

    calcular el par correspondiente a las fricciones segn un cierto modelo

    gravity G = gravity ( dyn, q, grav ) Calcular el par correspondiente al trmino gravitatorio.

    inertia M = inertia ( dyn, q) calcular la matriz de masas del manipulador

    rne tau = rne(robot, q, qd, qdd) calcular el modelo completo del manipulador mediante el mtodo recursivo de Newton-Euler

  • SEGUNDA PARTE: EJEMPLOS UTILIZANDO LA HERRAMIENTA COMPUTACIONAL

    SCILAB MATLAB

    EL COMANDO PLOTBOT Aspectos importantes: PLOTBOT Representa grficamente el manipulador PLOTBOT(DH, Q) PLOTBOT(DH, Q, OPT) Esta funcin construye una representacin grfica del robot, a partir de los parmetros cinemticas contenidos en DH y de los valores de las variables articulares (Q) que se le pasen. Se trata de una representacin grfica simple en la que cada enlace se modela mediante un paraleleppedo de color cin. El sistema de coordenadas asociado al efector final se representa en color verde, mientras que los sistemas de coordenadas asociados a cada una de las articulaciones intermedias se representan en color rojo. Si el parmetro Q es una matriz que representa una trayectoria en el espacio de las variables articulares (es decir, que contiene en cada fila el conjunto de variables articulares del robot), entonces el resultado es una animacin del robot siguiendo dicha trayectoria.

  • Trayectorias de un manipulador

    Desplazamiento, velocidad y aceleracin vs tiempo

    EJEMPLO lo primero que se debe tener presente es que el mtodo numrico empleado para obtener el modelo inverso no siempre converge. habr regiones del espacio en las que el algoritmo no converger aunque dichas regiones pertenezcan al espacio alcanzable, lo cual representa una limitacin importante. en la figura 3.1 estn representados los puntos del rea [0.7]x[0.7] en los que no hay convergencia para una tolerancia de 10^-6 y un numero de iteraciones igual a 1000 ( el barrido del rea se ha efectuado de 0.1 en 0.1). la estimacin inicial del vector de variables articulares para el calculo del modelo inverso en los puntos de dicha rea ser [0 0 0]. es posible elegir un trayectoria de la regin donde hay convergencia para comprobar como el manipulador se mueve por ella. una posible trayectoria seria un arco de circunferencia de radio igual a 5 m.

  • Las rdenes que se muestran a continuacin, se utilizan para calcular el valor que deben tener las variables articulares para cada punto del arco de circunferencia anteriormente mencionado:

  • >> clear all >> t1=0; t2=0; t3=0; % Estos valores de t1, t2 y t3 son irrelevantes >> l1=4; l2=3; >> % Se crea la matriz dh con los parmetros del manipulador >> dh = [0 0 t1 0 0; 0 l1 t2 0 0; 0 l2 t3 0 0]; >> % Se establecen la tolerancia y el nmero mximo de iteraciones >> stol=1e-6; ilimit=1000; >> % Se introduce la trayectoria (arco de radio 5) y la orientacin (0 grados) deseadas >> x=[0:0.2:5]; >> y=sqrt(25-x.^2); >> phi=zeros(1,length(x)); >> % Se crea la trayectoria de transformaciones >> for k=1:length(x) TG(:,:,k) = [cos(phi(k)) -sin(phi(k)) 0 x(k); sin(phi(k)) cos(phi(k)) 0 y(k); 0 0 1 0; 0 0 1 0; end >> % Se calcula el modelo inverso para cada uno de los puntos de la trayectoria usando un vector >> % inicial q0=[0 0 0] y una mscara [1 1 0 0 0 1] >> q=ikine(dh,stol,ilimit,TG,[0 0 0],[1 1 0 0 0 1]) q = 14.7807 -32.9867 18.2061 14.7407 -32.9867 18.2461 14.7006 -32.9867 18.2861 14.6604 -32.9867 18.3263 14.6200 -32.9867 18.3667 14.5793 -32.9867 18.4074 14.5383 -32.9867 18.4484 14.4969 -32.9867 18.4898 14.4549 -32.9867 18.5318 14.4124 -32.9867 18.5743 14.3692 -32.9867 18.6176 14.3251 -32.9867 18.6617 14.2800 -32.9867 18.7067 14.2338 -32.9867 18.7529 14.1863 -32.9867 18.8004 14.1372 -32.9867 18.8496 14.0862 -32.9867 18.9006 14.0329 -32.9867 18.9538

  • 13.9769 -32.9867 19.0099 13.9174 -32.9867 19.0694 13.8534 -32.9867 19.1334 13.7834 -32.9867 19.2033 13.7048 -32.9867 19.2819 13.6126 -32.9867 19.3741 13.4937 -32.9867 19.4931 13.2099 -32.9867 19.7769 >> % Se representa grficamente el manipulador mientras recorre la trayectoria >> plotbot(dh,q,'lfdw') >> >> clear all >> t1=0; t2=0; t3=0; >> I1=4; I2=3; >> dh = [0 0 t1 0 0; 0 I1 t2 0 0; 0 I2 t3 0 0]; >> stol=1e-6; ilimit=1000; >> x=[0:0.2:5]; >> y=sqrt(25-x.^2); >> phi=zeros(1,length(x)); >> TG=[]; >> for k=1:length(x) T=[cos(phi(k)) -sin(phi(k)) 0 x(k); sin(phi(k)) cos(phi(k)) 0 y(k); 0 0 1 0; 0 0 0 1]; TG=[TG;T(:)']; end

  • CONCLUSIONES

    Se identificaron los comandos utilizados en el programa Matlab para la

    cinemtica del robot.

    Se identificaron las instrucciones que son utilizadas en los clculos

    relacionados con la dinmica de los brazos manipuladores.

    Se aplican estos comandos para agilizar el aprendizaje de ellos en la

    cinemtica del robot.

  • BIBLIOGRAFA

    Modulo Robtica Avanzada JAIRO PERTUZ CAMPO (Acreditador), Bogot; Versin actualizada a 2009

    Modelos Cinemticas de Robots, extrado el 06 de Mayo de; http://www.marcombo.com/Descargas/8426713130-ROBOTICA/HEMERO/manualpdf/cap3.pdf

    MATLAB + ROBOTICA, JAVIER ALEJANDRO JORGE extrado el 06 de Mayo de; http://www.geocities.ws/javierbrk/matlab-robotica.pdf