Funciones Comandos en Matlab

FUNCIONES DE LOS COMANDOS EN MATLAB Primera Parte: Cada grupo de trabajo, diseñará un cuadro en el que relacionen cada u

Views 195 Downloads 5 File size 708KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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)

Symple

r=simple s

radsimp combine

radsimp: cos(x)+sin(x) combine('hello',8^,[110 101 100],'blue')

diary fkine

diary off= suspende la sesion T=simple ( fkine (dh,q) )

Dh

dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ]

diff2tr

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

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. Simplificación algebraica de la expresión s Método de simplificación Form matrix from individual vectors and matrices Save text of Matlab session. Calcular la cinemática directa de un robot manipulador Contener los parámetros de Denavit Hartenberg del manipulador Convertir un vector de movimiento diferencial en la correspondiente transformación homogénea 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. 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 transformación a partir de los parámetros de Denavit Hartenberg

Numcols

Calcular el número de columnas de una matriz

Numrows

xData = zeros(500,1);ejem [numRows, numCols] = size(xData); jxData = javaArray('java.lang.Double',numRows,numCols);

Plotbot

plotbot (dh, q)

tr2diff

Y = diff(X,n,dim)

tr2jac

dt = tr2jac (t) * d

Velprop

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

Representar gráficamente el manipulador Convertir una transformación 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}.

Calcular el número de filas de una matriz

Instrucciones que habitualmente se emplean para realizar cálculos relacionados con la dinámica de los brazos manipuladores COMANDO

SINTAXIS

FINALIDAD

corioli

V = coriolis (dyn, q, qd )

calcular el par correspondiente a los términos centrífugos y de coriolis

dyn

e = diff(y´)./h´; ejem dy0=1; dyn=1; g = diff([dy0; e; dyn]); g = xxxx

Contener los parámetros cine máticos y dinámicos del manipulador

fdyn

fdyn (dyn, 0, 10, 'taucap5', [0 0]',[ 0 0]', [0 9.810]

friction

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

permite integrar la dinámica directa para obtener las trayectorias articulares calcular el par correspondiente a las fricciones según un cierto modelo

gravity

G = gravity ( dyn, q, grav )

inertia

M = inertia ( dyn, q)

rne

tau = rne(robot, q, qd, qdd)

Calcular el par correspondiente al término gravitatorio. calcular la matriz de masas del manipulador calcular el modelo completo del manipulador mediante el método recursivo de Newton-Euler

SEGUNDA PARTE: EJEMPLOS UTILIZANDO LA HERRAMIENTA COMPUTACIONAL SCILAB Ó MATLAB

EL COMANDO PLOTBOT Aspectos importantes: PLOTBOT Representa gráficamente el manipulador PLOTBOT(DH, Q) PLOTBOT(DH, Q, OPT) Esta función construye una representación gráfica del robot, a partir de los parámetros cinemáticas contenidos en DH y de los valores de las variables articulares (Q) que se le pasen. Se trata de una representación gráfica simple en la que cada enlace se modela mediante un paralelepípedo de color cián. 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 parámetro 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 animación del robot siguiendo dicha trayectoria.

Trayectorias de un manipulador

Desplazamiento, velocidad y aceleración vs tiempo

EJEMPLO lo primero que se debe tener presente es que el método numérico 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 limitación importante. en la figura 3.1 están 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 estimación 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 región 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 continuación, 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 parámetros del manipulador >> dh = [0 0 t1 0 0; 0 l1 t2 0 0; 0 l2 t3 0 0]; >> % Se establecen la tolerancia y el número máximo de iteraciones >> stol=1e-6; ilimit=1000; >> % Se introduce la trayectoria (arco de radio 5) y la orientación (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 máscara [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 gráficamente 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 cinemática del robot.  Se identificaron las instrucciones que son utilizadas en los cálculos relacionados con la dinámica de los brazos manipuladores.  Se aplican estos comandos para agilizar el aprendizaje de ellos en la cinemática del robot.

BIBLIOGRAFÍA  Modulo Robótica Avanzada” JAIRO PERTUZ CAMPO “ (Acreditador), Bogotá; Versión actualizada a 2009  Modelos Cinemáticas de Robots, extraído el 06 de Mayo de; http://www.marcombo.com/Descargas/8426713130ROBOTICA/HEMERO/manualpdf/cap3.pdf  MATLAB + ROBOTICA, JAVIER ALEJANDRO JORGE extraído el 06 de Mayo de; http://www.geocities.ws/javierbrk/matlab-robotica.pdf