Sie sind auf Seite 1von 21

UNIVERSIDAD

NACIONAL DEL CALLAO


FACULTAD DE INGENIERIA ELECTRICA Y
ELECTRONICA

TEMA:
ANALISIS DE LOS PARAMETROS DENAVIT-HARTENBERG
PROFESOR:

MSc. Ing. Ricardo Rodrguez Bustinza


ALUMNOS:

CONDOR CORDOVA JAVIER ALAN

072059B

DURAN SALAS JOHAN AUGUSTO

072654H

ARANA URIARTE CHRISTIAN LUIS

072673B

CAMPOS TARAZONA OSCAR

080614A

ANLISIS DE LOS PARMETROS DENAVIT-HARTENBERG

INTRODUCCIN:

La cinemtica del robot estudia el movimiento del mismo con respecto a un


sistema de referencia. Existen dos problemas fundamentales: cinemtica directa y
cinemtica inversa. Denavit-Hartenberg propusieron un mtodo sistemtico para
describir y representar la geometra espacial de los elementos de una cadena cinemtica.
En este informe veremos cules son los pasos a seguir para dar solucin al
problema de la cinemtica directa; utilizando las herramientas computacionales de
MATLAB y LABVIEW para poder observar las simulaciones de los principios
descritos.

ROBTICA

OBJETIVOS:

Aplicar los pasos sugeridos por Denavit-Hartenberg para la solucin del


problema cinemtico directo.

Representar el diseo del robot a travs de Labview.

TRABAJO GRUPAL:

SOLUCIN:
Para verificar la tabla con los parmetros de DH, tenemos que seguir los pasos
sugeridos por DH, as tenemos el siguiente procedimiento:
DH_1: numeramos los eslabones mviles. La base fija se enumera con 0.

DH_2: numerar cada articulacin comenzando por 1.

DH_3: localizar el eje de cada articulacin. Si es rotativa, el eje ser su propio eje de
giro.

DH_4: para i de 0 a n-1 situar el eje zi sobre el eje de la articulacin i+1.

DH_5: situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los ejes
x0 e y0 se situaran de modo que formen un sistema dextrgiro con z0.

DH_6: para i de 1 a n-1, situar el sistema {Si} (solidario al eslabn i) en la interseccin


del eje zi con la lnea normal comn a zi-1 y zi.

DH_7: situar Xi en la lnea comn a Zi-1 y Zi.

DH_8: situar Yi de modo que forme un sistema dextrgiro con Xi y Zi.

DH_9: obtener i como el ngulo que hay que girar entorno a Zi-1 para que Xi-1 y Xi
queden paralelas.

DH_10: obtener di como la distancia medida a lo largo de Zi-1 que habra que
desplazar {Si-1} para Xi-1 y Xi queden alineados.

DH_11: obtener ai como la distancia medida a lo largo de Xi que habra que desplazar
el nuevo {Si-1} para que su origen coincida con {Si}.

DH_12: obtener i como el ngulo que habra que girar entorno a Xi (que ahora
coincidir con Xi-1) para que el nuevo {Si-1} coincida totalmente con {Si}.

Con estos valores podemos obtener las matrices de transformacin homogneas de


sistema a sistema siguiente definida por:

Ci Ci . Si Si . Si ai. Ci
Si Ci .Ci Si .Ci ai. Si
A i1
i =
Ci di
0
Si
0
0
0 1

Entonces tenemos los siguientes matrices:

][

C 1 C 90. S 1 S 90. S 1 a 1. C 1
C 1
S 1 C 90.C 1 S 90.C 1 a 1. S 1
S 1
A 01=
=
0 d1
0
S 90
0
0
0
0
0 1

C 2 C 0. S 2 S 0. S 2
S 2 C 0.C 2 S 0. C 2
A 12=
C0
0
S0
0
0
0

][

0 S 1 0
0 C 1 0
0 230
1
0
0 1

a 2. C 2
C 2 S 2 0 200. C 2
a 2. S 2
S2 C 2 0 200. S 2
=
d2
1 0
0
0
0
0
1
0 1

C 3 C 0. S 3 S 0. S 3
S 3 C 0.C 3 S 0.C 3
2
A 3=
C0
0
S0
0
0
0

][

a 3.C 3
C 3 S 3 0 130. C 3
a 3. S 3
S 3 C 3 0 130. S 3
=
d3
1 0
0
0
0
0
1
0 1

La posicin y orientacin del extremo del robot respecto al sistema de referencia fijo
situado en la base se halla a travs de la matriz T que se define como:

T =A 01 . A 12 . A 23

C 1
S 1
T=
0
0

][

][

][

0 S 1 0 C 2 S 2 0 200.C 2 C 3 S 3 0 130. C 3
0 C 1 0 S 2 C 2 0 200. S 2 S 3 C 3 0 130. S 3
0 230
1 0
1 0
1
0
0
0
0
0
0
0
0
0
0 1
0 1
0 1

C 1.C 2 C 1. S 2 S 1 200. C 1. C 2 C 3 S 3 0 130.C 3


S 1.C 2 S 1. S 2 C 1 200. S 1. C 2 S 3 C 3 0 130. S 3
T=
0 200. S 2+ 230
1 0
S 2
C 2
0
0
0
0
0
0
0 1
0 1

C 1.C 2.C 3C 1. S 2. S 3 C 1.C 2. S 3C 1. S 2. C 3 S 1 130. C 1. C 2


S 1.C 2.C 3S 1. S 2. S 3 S 1.C 2. S 3S 1. S 2. C 3 C 1 130. S 1. C
T=
0 130. S 2.C
S 2.C 3+C 2.C 3
S 2. S 3+C 2.C 3
0
0
DESARROLLO DE LA CINEMATICA DIRECTA E INVERSA:
La solucin en cdigo MATLAB:
clear all; close all; clc
disp('*****TRABAJO GRUPAL DE ROBOTICA*****')
disp('*************GRUPO No 2*************')
% INTEGRANTES:
% CONDOR CORDOVA JAVIER ALAN
072059B
% ARANA URIARTE CHRISTIAN LUIS 072673B
% DURAND SALAS JOHANN AUGUSTO 072654H

% CAMPOS TARAZONA OSCAR

080614A

% EL EJERCICIO A DESARROLLAR ES EL No 2 DE LA HOJA DE TRABAJO


% SEGUN LOS DATOS EN EL EJERCICIO:
%-------------------------------------------------------------------% PARAMETROS PARA EL DENAVITH-HARTENBERG EN EL INICIO
% LAS LONGITUDES DE LOS ESLABONES:
a1=0; a2=200; a3=130;
d1=230; d2=0; d3=0;
% LAS COORDENADAS
q=[0 0 0]; q1=q(1); q2=q(2); q3=q(3);
theta=[q1 q2 q3];
d=[d1 d2 d3];
a=[a1 a2 a3];
alpha=[pi/2 0 0];
% LAS MATRICES DE LOS PARAMETROS DENAVITH-HARTENBERG
disp('----------------------------------------------------------')
disp('
LAS MATRICES DE LOS PARAMETROS DENAVIT-HARTENBERG')
disp('PARA CONDICIONES INICIALES ANTES DE REALIZAR ALGUNA ACCION')
disp('----------------------------------------------------------')
disp('**PRIMERA MATRIZ DENAVIT-HARTENBERG --> A01:')
disp('--------------------------------------------')
A01=denavit_h(theta(1),d(1),a(1),alpha(1))
disp('--------------------------------------------')
disp('**SEGUNDA MATRIZ DENAVIT-HARTENBERG --> A12:')
disp('--------------------------------------------')
A12=denavit_h(theta(2),d(2),a(2),alpha(2))
disp('--------------------------------------------')
disp('**TERCERA MATRIZ DENAVIT-HARTENBERG --> A23:')
disp('--------------------------------------------')
A23=denavit_h(theta(3),d(3),a(3),alpha(3))
disp('---------------------------------------------------------------')
disp('**MATRIZ DE TRANSFORMACION HOMOGENEA -->
MTH_INICIAL=A01*A12*A23')
disp('---------------------------------------------------------------')
MTH_INICIAL=A01*A12*A23
disp('-------------------------------------------')
%-------------------------------------------------------------------% PARAMETROS PARA EL DENAVITH-HARTENBERG EN EL FINAL
% LAS LONGITUDES DE LOS ESLABONES:
a1=0; a2=200; a3=130;
d1=230; d2=0; d3=0;
% LAS COORDENADAS
q=[pi pi/3 -pi/3]; q1=q(1); q2=q(2); q3=q(3);
theta=[q1 q2 q3];
d=[d1 d2 d3];

a=[a1 a2 a3];
alpha=[pi/2 0 0];
% MATRICES DE LOS PARAMETROS DENAVITH-HARTENBERG
disp('-----------------------------------------------------------')
disp('
LAS MATRICES DE LOS PARAMETROS DENAVIT-HARTENBERG')
disp('EN POSICION FINAL DESPUES DE HABER REALIZADO LOS MOVIMIENTO')
disp('-----------------------------------------------------------')
disp('**PRIMERA MATRIZ DENAVIT-HARTENBERG --> A01:')
disp('--------------------------------------------')
A01=denavit_h(theta(1),d(1),a(1),alpha(1))
disp('--------------------------------------------')
disp('**SEGUNDA MATRIZ DENAVIT-HARTENBERG --> A12:')
disp('--------------------------------------------')
A12=denavit_h(theta(2),d(2),a(2),alpha(2))
disp('--------------------------------------------')
disp('**TERCERA MATRIZ DENAVIT-HARTENBERG --> A23:')
disp('--------------------------------------------')
A23=denavit_h(theta(3),d(3),a(3),alpha(3))
disp('--------------------------------------------------------------')
disp('**MATRIZ DE TRANSFORMACION HOMOGENEA --> MTH_FINAL=A01*A12*A23')
disp('--------------------------------------------------------------')
MTH_FINAL=A01*A12*A23
disp('-------------------------------------------')
%-------------------------------------------------------------------% SIMULACION DEL ROBOT RRR
disp('-------------------------------------------')
disp('**********LA SIMULACION DEL TRABAJO********')
L(1)=Link([0 230 0 pi/2 0]); %DH de longitud del brazo 1
L(2)=Link([0 0 200
0 0]); %DH de longitud del brazo 2
L(3)=Link([0 0 130
0 0]); %DH de longitud del brazo 3
threeLink=SerialLink(L,'name','ROBOT RRR');
threeLink.n;
% n=3 DOF
threeLink.config;
% RRR CONFIGURACION
disp('-------------------------------------------')
disp('
MATRIZ DE TRANSFORMACION HOMOGENEA')
disp('
PARA CONDICIONES INICIALES')
disp('-------------------------------------------')
disp('**T_INICIAL:')
disp('-----------------------------------------')
q1=0; q2=0; q3=0;
threeLink.fkine([q1 q2 q3])
disp('-----------------------------------------')
figure(1)
threeLink.plot([q1 q2 q3]) %la grafica en posicion inicial

% Simulacion
figure(3)
% HACIENDO LA PRIMERA REVOLUCION
for q1=0:pi/30:pi;
q2=0;
q3=0;
threeLink.plot([q1 q2 q3]); hold on
T=threeLink.fkine([q1 q2 q3]);
plot3(T(1,4),T(2,4),T(3,4),'ro')
end
%HACIENDO LA SEGUNDA REVOLUCION
for q2=0:pi/30:pi/3;
q3=0;

threeLink.plot([q1 q2 q3]); hold on


T=threeLink.fkine([q1 q2 q3]);
plot3(T(1,4),T(2,4),T(3,4),'g*')
end
%HACIENDO LA TERCERA REVOLUCION
for q3=0:-pi/30:-pi/3;
threeLink.plot([q1 q2 q3]); hold on
T=threeLink.fkine([q1 q2 q3]);
plot3(T(1,4),T(2,4),T(3,4),'bo')
end
disp('---------------------------------------------------')
disp('
MATRIZ DE TRANSFORMACION HOMOGENEA')
disp('PARA CONDICIONES FINALES DESPUES DE LOS MOVIMIENTOS')
disp('---------------------------------------------------')
disp('**T_FINAL:')
disp('-----------------------------------------')
disp(T)
disp('-----------------------------------------')
%-------------------------------------------------------------------%DESARROLLO DE LA CINEMATICA INVERSA
% INVOCANDO A: cinversa_3g
disp('*********** CINEMATICA INVERSA ***********')
disp('------------------------------------------')
qci=cinversa_3g(T)*180/pi;
disp('LOS ANGULOS DESEADOS DE CINEMATICA INVERSA')
disp(' ')
disp('------------------------------------------')
disp(qci)
disp('------------------------------------------')

La solucin del cdigo Matlab de cinemtica inversa:


function q=cinversa_3g(T)
% POSICION FINAL DEL ROBOT RRR
p=T(1:3,4); % T es la matriz DH
% CONDICIONES INICIALES
q1=0; q2=0; q3=0;
% DATOS DEL PARAMETRO DENAVIT-HARTENBERG
d1=230; d2=0; d3=0;
a1=0 ; a2=200; a3=130;
% PARAMETROS DH

teta=[q1 q2
d=
[d1 d2
a=
[a1 a2
alfa=[pi/2 0

q3];
d3];
a3];
0];

% CINEMATICA INVERSA
% SOLUCION DE LA ARTICULACION 1
q1=atan2(p(2),p(1));
% ECUACIONES
a=cos(q1)*p(1)+sin(q1)*p(2);
b=p(3)-230;
c=(23100+a^2+b^2)/400;
% SOLUCION DE LA ARTICULACION 2
q2=(2*atan2((b+sqrt(b^2-c^2+a^2)),(a+c)));
% SOLUCION DE LA ARTICULACION 3
q3=atan2((b*cos(q2)-a*sin(q2)),(a*cos(q2)+b*sin(q2)-200));
% DATOS ANGULARES
q=[q1 q2 q3];
end

LAS MATRICES QUE SE OBTUVIERON FUERON LAS SIGUIENTES:


*****TRABAJO GRUPAL DE ROBOTICA*****
*************GRUPO No 2*************
-------------------------------------------------------------------------------------------------------LAS MATRICES DE LOS PARAMETROS DENAVIT-HARTENBERG

PARA CONDICIONES INICIALES ANTES DE REALIZAR ALGUNA ACCION


------------------------------------------------------------------------------------------------------**PRIMERA MATRIZ DENAVIT-HARTENBERG --> A01:
---------------------------------------------------------------------------A01 =

1.0000

0.0000 -1.0000

1.0000

0.0000 230.0000
0

1.0000

-----------------------------------------------------------------------------**SEGUNDA MATRIZ DENAVIT-HARTENBERG --> A12:


-----------------------------------------------------------------------------A12 =
1

0 200

--------------------------------------------

**TERCERA MATRIZ DENAVIT-HARTENBERG --> A23:


---------------------------------------------------------------------------A23 =

0 130

--------------------------------------------------------------------------**MATRIZ DE TRANSFORMACION HOMOGENEA -->


MTH_INICIAL=A01*A12*A23
---------------------------------------------------------------------------

MTH_INICIAL =

1.0000

0 330.0000

0.0000 -1.0000

1.0000

0.0000 230.0000
0

1.0000

-------------------------------------------

-------------------------------------------------------------------------------------------------------LAS MATRICES DE LOS PARAMETROS DENAVIT-HARTENBERG


EN POSICION FINAL DESPUES DE HABER REALIZADO LOS MOVIMIENTO
------------------------------------------------------------------------------------------------------**PRIMERA MATRIZ DENAVIT-HARTENBERG --> A01:

----------------------------------------------------------------------------

A01 =

-1.0000 -0.0000

0.0000

0.0000 -0.0000

1.0000

1.0000

0.0000 230.0000
0

1.0000

----------------------------------------------------------------------------**SEGUNDA MATRIZ DENAVIT-HARTENBERG --> A12:


------------------------------------------------------------------------------

A12 =

0.5000 -0.8660

0 100.0000

0.8660

0 173.2051

0.5000

1.0000

0
1.0000

--------------------------------------------

**TERCERA MATRIZ DENAVIT-HARTENBERG --> A23:


-----------------------------------------------------------------------------

A23 =

0.5000

0.8660

0 65.0000

-0.8660

0.5000

0 -112.5833

1.0000

0
1.0000

-------------------------------------------------------------------------**MATRIZ DE TRANSFORMACION HOMOGENEA -->


MTH_FINAL=A01*A12*A23
--------------------------------------------------------------------------

MTH_FINAL =

-1.0000

0.0000 -230.0000

0.0000 -0.0000
0

1.0000

1.0000

0.0000

0.0000 403.2051
0

1.0000

-------------------------------------------

--------------------------------------------------------------------------**********LA SIMULACION DEL TRABAJO********


--------------------------------------------------------------------------MATRIZ DE TRANSFORMACION HOMOGENEA
PARA CONDICIONES INICIALES

--------------------------------------------------------------------------**T_INICIAL:
-------------------ans =

1.0000

0 330.0000

0.0000 -1.0000

1.0000

0.0000 230.0000
0

1.0000

-----------------------------------------------------------------------------------------------------------------------------------MATRIZ DE TRANSFORMACION HOMOGENEA


PARA CONDICIONES FINALES DESPUES DE LOS MOVIMIENTOS
------------------------------------------------------------------------------------------**T_FINAL:
-------------------1.0000

0.0000 -230.0000

0.0000 -0.0000
0

1.0000

1.0000

0.0000

0.0000 403.2051
0

1.0000

-----------------------------------------------------------------------------*********** CINEMATICA INVERSA ***********


-----------------------------------------------------------------------------LOS ANGULOS DESEADOS DE CINEMATICA INVERSA

------------------------------------------180.0000 60.0000 -60.0000

------------------------------------------LAS GRFICAS QUE SE OBTUVIERON:


PARA CONDICIONES INICIALES SIN MOVIMIENTO

PARA CONDICIONES FINALES DESPUES DE LOS MOVIMIENTOS