You are on page 1of 5

Facultad Ingeniera Electrnica y Mecatrnica

Laboratorio 09 Cinematica directa 1. Objetivo. - Analizar la cinemtica directa de un robot.. - Obtener la matriz de transformacin homognea que localiza el extremo del robot 2. Marco terico Denavit y Hartenberg propusieron un mtodo matricial que permite establecer de manera sistemtica un sistema de coordenadas. La representacin de DenavitHartenberg (D-H) establece que seleccionndose adecuadamente los sistemas de coordenadas asociados a cada eslabn, ser posible pasar de uno al siguiente mediante 4 transformaciones bsicas que dependen exclusivamente de las caractersticas geomtricas del eslabn. Reducindose al siguiente patrn de transformaciones que permiten relacionar el sistema de referencia del elemento i con respecto al sistema del elemento i-1: Rotacin alrededor del eje z i-1 un ngulo i Traslacin a lo largo de z i-1 una distancia di, vector d (0,0,d) Traslacin a lo largo x i una distancia ai, vector a (a, 0,0) Rotacin alrededor del eje xi un ngulo i Una vez obtenidos los parmetros Denavit y Hartenberg es posible obtener la matriz de transformacin homognea que localiza el extremo del robot para una terna de coordenadas articulares. 3. Procedimiento. a. Crear una definicin de Robot La Toolbox de Mattlab contiene diferentes objetos. As los objetos Link (articulacin) permiten construir un objeto robot , para el anlisis del manipulador. Este puede luego ser graficado con la funcin Plot. Los parmetros de un manipulador planar de dos articulaciones (Link) poseen los siguientes parmetros Denavit-Hartenberg

El grfico se muestra en la figura 1.

W.Castellanos

Facultad Ingeniera Electrnica y Mecatrnica

Figura 1 Manipulador de dos articulaciones (Link) Cargar la Robotics Toolbox de Matlab en el espacio de trabajo de Matlab (Work). Tambien se puede cargar la carpeta con el explorador. Crear un par de objetos Link (articulacin) L1 y L2. >> L1=link([0 1 0 0], 'standard') L1 = 0.000000 1.000000 0.000000 0.000000 R (std)

>> L2=link([0 1 0 0], 'standard') L2 = 0.000000 1.000000 0.000000 0.000000 R (std)

Crear el Objeto robot a partir de los Link L1 y L2. >> r=robot({L1 L2}) r= noname (2 axis, RR) grav = [0.00 0.00 9.81] alpha 0.000000
W.Castellanos

standard D&H parameters D 0.000000 R/P R

A 1.000000

theta 0.000000

(std)

Facultad Ingeniera Electrnica y Mecatrnica

0.000000

1.000000

0.000000

0.000000

(std)

Graficar el resultado. >> plot(r, [0 0]) Interprete el resultado. Analizar la funcin drivebot. Crear un robot con tres articulaciones >> L1=link([pi/2 0 0 10], 'standard') L1 = 1.570796 0.000000 0.000000 10.000000 R (std)

>> L2=link([0 20 0 0], 'standard') L2 = 0.000000 20.000000 0.000000 0.000000 R (std)

>> L3=link([0 30 0 0], 'standard') L3 = 0.000000 30.000000 0.000000 0.000000 R (std)

>> r=robot({L1 L2 L3}) r= noname (3 axis, RRR) grav = [0.00 0.00 9.81] alpha 1.570796 0.000000 0.000000 >> drivebot(r) A 0.000000 20.000000 30.000000 theta 0.000000 0.000000 0.000000

standard D&H parameters D 10.000000 0.000000 0.000000 R/P R R R

(std) (std) (std)

W.Castellanos

Facultad Ingeniera Electrnica y Mecatrnica

b. Analizar la funcin fkine. Utilizar la funcin fkine para obtener la matriz de transformacin homognea que localiza el extremo del robot para una terna de coordenadas articulares. fkine (r ,[0 0 0])

ans =

1.0000 0 0 0

0 50.0000 0

0.0000 -1.0000 1.0000 0

0.0000 10.0000 0 1.0000

fkine (r ,[pi/2 0 pi/2])

ans =

-0.0000 -0.0000

1.0000 -0.0000

0.0000 -1.0000 -0.0000 20.0000 1.0000 0 0.0000 0 0 0.0000 40.0000 1.0000

fkine (r ,[pi/2 pi/2 pi])

ans =

0.0000 -0.0000

0.0000

1.0000

0.0000

1.0000 -0.0000 -0.0000 0.0000 0 1.0000 0

-1.0000 -0.0000 0 0

W.Castellanos

Facultad Ingeniera Electrnica y Mecatrnica

c. Obtener la matriz de transformacin homognea. Utilizando los parmetros DH encuentre la matriz de transformacin homognea que localiza el extremo del robot. Utilice los comandos de traslacin y rotacin de la Toolbox de Corke.

syms q1 q2 q3 l1 l2 l3 pi1 = sym ("pi") A01 = MDH(q1, l1, 0, pi/2) A12 = MDH(q2, 0, l2, 0) A23 = MDH(q3, 0, 0, l3,0) A13= simple (A12*A13) A03= simple (A01*A13) T = A03 q1 0=; q2=0; q3=0; eval(T) q1=pi1/2; q2=0; q3=pi/2; eval(T) q1=pi1/2; q2=pi/2; q3=pi/2; eval(T)

W.Castellanos