Está en la página 1de 11

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 Sym SINTAXIS s=sym(A) FINALIDAD 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. Simplificacin algebraica de la expresin s Mtodo de simplificacin Form matrix from individual vectors and matrices Save text of Matlab session. Calcular la cinemtica directa de un robot manipulador Contener los parmetros de Denavit Hartenberg del manipulador Convertir un vector de movimiento diferencial en la correspondiente transformacin homognea 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. Calcular el Jacobiano del manipulador expresado en el sistema de referencia base Calcular el Jacobiano expresado en el sistema de coordenadas del efector final Calcular las matrices de transformacin a partir de los parmetros de Denavit Hartenberg

Symple radsimp combine diary fkine Dh diff2tr

r=simple s radsimp: cos(x)+sin(x) combine('hello',8^,[110 101 100],'blue') diary off= suspende la sesion T=simple ( fkine (dh,q) ) dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ] t = diff2tr(d)

Ikine

T=fkine(dh,q)

jacobO

>> J = simple ( jacob0 (dh, q) )

jacobN

>> J = simple ( jacobn (dh , q ))

Linkstrans

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

Numcols Numrows Plotbot tr2diff

xData = zeros(500,1);ejem [numRows, numCols] = size(xData); jxData = javaArray('java.lang.Double',numRows,numCols); plotbot (dh, q) Y = diff(X,n,dim)

Calcular el nmero de columnas de una matriz Calcular el nmero de filas de una matriz Representar grficamente el manipulador Convertir una transformacin en un vector de movimiento diferencial y calcular la diferencia entre dos transformaciones calcular la matriz que permite pasar un vector de velocidades cartesianas de un cuadro de referencia a otro distinto Calcular el vector de velocidades en el espacio cartesiano expresado en el sistema de coordenadas del cuadro {n}.

tr2jac

dt = tr2jac (t) * d

Velprop

z = simple (velprop (dh, q, qd, v0, w0 ) )

Instrucciones que habitualmente se emplean para realizar clculos relacionados con la dinmica de los brazos manipuladores
COMANDO corioli dyn SINTAXIS V = coriolis (dyn, q, qd ) e = diff(y)./h; ejem dy0=1; dyn=1; g = diff([dy0; e; dyn]); g = xxxx fdyn (dyn, 0, 10, 'taucap5', [0 0]',[ 0 0]', [0 9.810] FINALIDAD calcular el par correspondiente a los trminos centrfugos y de coriolis Contener los parmetros cine mticos y dinmicos del manipulador

fdyn

friction

1/sqrt(friction) = 2*log10((eD/3.7)+(5.74/Reyolds)*(1/sqrt(friction))); ejem G = gravity ( dyn, q, grav ) M = inertia ( dyn, q) tau = rne(robot, q, qd, qdd)

permite integrar la dinmica directa para obtener las trayectorias articulares calcular el par correspondiente a las fricciones segn un cierto modelo Calcular el par correspondiente al trmino gravitatorio. calcular la matriz de masas del manipulador calcular el modelo completo del manipulador mediante el mtodo recursivo de Newton-Euler

gravity inertia rne

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 14.7407 14.7006 14.6604 14.6200 14.5793 14.5383 14.4969 14.4549 14.4124 14.3692 14.3251 14.2800 14.2338 14.1863 14.1372 14.0862 14.0329 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 18.2061 18.2461 18.2861 18.3263 18.3667 18.4074 18.4484 18.4898 18.5318 18.5743 18.6176 18.6617 18.7067 18.7529 18.8004 18.8496 18.9006 18.9538

13.9769 13.9174 13.8534 13.7834 13.7048 13.6126 13.4937 13.2099

-32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867 -32.9867

19.0099 19.0694 19.1334 19.2033 19.2819 19.3741 19.4931 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/8426713130ROBOTICA/HEMERO/manualpdf/cap3.pdf MATLAB + ROBOTICA, JAVIER ALEJANDRO JORGE extrado el 06 de Mayo de; http://www.geocities.ws/javierbrk/matlab-robotica.pdf