You are on page 1of 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

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

Numcols

Calcular el nmero 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
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}.

Calcular el nmero de filas de una


matriz

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]

friction

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

permite integrar la dinmica directa


para
obtener
las
trayectorias
articulares
calcular el par correspondiente a las
fricciones segn 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


trmino gravitatorio.
calcular la matriz de masas del
manipulador
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
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

You might also like