Matrices de Transformación Homogénea

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

UNIVERSIDAD PRIVADA BOLIVIANA

FACULTAD DE INGENIERA Y ARQUITECTURA


CARRERA DE INGENIERA ELECTROMECNICA

MATRICES DE TRANSFORMACIN HOMOGNEA

INFORME TRABAJO PRCTICO 3

Estudiante: Jhonatan Oroza

Materia: Robtica

Docente: PhD Cecilia Tapia

Cochabamba, octubre 2017

i
CONTENIDO

1 INTRODUCCIN ................................................................................................................................... 1

2 ANTECEDENTES ................................................................................................................................... 1

3 JUSTIFICACIN .................................................................................................................................... 2

4 TRABAJO REALIZADO .......................................................................................................................... 3

5 EJEMPLOS DE APLICACIN .................................................................................................................. 6

5.1 PRIMERA PRUEBA ....................................................................................................................................6


5.2 SEGUNDA PRUEBA ...................................................................................................................................9

6 ESPACIO DE TRABAJO ........................................................................................................................ 11

7 CONCLUSIONES ................................................................................................................................. 12

8 ANEXOS ............................................................................................................................................. 13

8.1 CDIGO DEL PROGRAMA .........................................................................................................................13

UPB 2015 ii
1 INTRODUCCIN

El modelo geomtrico inverso(MGI) nos sirve para obtener los ngulos o distancias en
nuestro robot con introduciendo la matriz de transformacin 0
tal como si nosotros
introduzcamos tales valores para el modelo geomtrico directo(MGD).

Este modelo nos permite obtener las expresiones para hallar tales ngulos o distancias. Para
la obtencin de tales expresiones se requiere utilizar el mtodo de Paul.

Este mtodo trata de hacer igualaciones de matrices, y de esta forma despejar las
variables requeridas.

Las expresiones de las matrices no siempre son visiblemente solucionables, para eso se
requiere despejar las matrices y de esto se trata el mtodo como se ve en la Ilustracin N1.

Ilustracin N1. Despeje de las matrices de transformacin para el mtodo de Paul

Para verificar que est correcta las dimensiones obtenidas, se debe comprobar con el
MGD teniendo los ngulos o distancias ya que esto nos resultar una matriz de
transformacin, y es esta la matriz introducida para hallar los ngulos o distancias que
anteriormente fueron definidas.

2 ANTECEDENTES

Para la resolucin de las expresiones requeridas utilizando el Mtodo de Paul, se requiri el


software Wolfram Mathematica 9.0 para el despeje de dichas ecuaciones.

Ya obtenidas tales ecuaciones se introducen en el software de Matlab y de esta forma


poder calcular en este caso los 5 ngulos.

UPB 2014 1
3 JUSTIFICACIN

El MGI es importantsima ya que cuando un robot es automatizado, este deber contar


con los datos de posicin al que quiere llegar, e internamente el robot debe ser capaz de
ajustar cada extremidad a la posicin requerida. De esta manera, cumplir su objetivo de
automatizacin.

Es importante contar con herramientas tales como la computadora para realizar el clculo
rpido de los ngulos, ya que el robot lee estos valores y lo traduce a movimiento de
motores o servomotores.

UPB 2014 2
4 TRABAJO REALIZADO

Primero se debe identificar grficamente las articulaciones como se puede apreciar en la


Ilustracin N2. para el robot que deseamos implementar el MGI.

Ilustracin N2. Identificacin grfica de los componentes.

Se obtiene la tabla de parmetros geomtricos como se muestra en la Tabla N1.

UPB 2014 3
Tabla 1. Parmetros geomtricos.

j d R
1 0 0 0 1 D1
2 0 /2 0 2 0
3 0 0 D2 3 0
4 0 0 D3 4 0
5 0 - /2 0 5 D4

Ya obtenido la tabla de parmetros geomtricos se debe obtener la matriz de


transformacin.

Cos[1] Sin[1] 0 0
0 Sin[1] Cos[1] 0 0
1 = [ ]
0 0 1 1
0 0 0 1

Cos[2] Sin[2] 0 0
1 0 0 1 0
2 = [ ]
Sin[2] Cos[2] 0 0
0 0 0 1

Cos[3] Sin[3] 0 2
2 Sin[3] Cos[3] 0 0
3 = [ ]
0 0 1 0
0 0 0 1

Cos[4] Sin[4] 0 3
3 Sin[4] Cos[4] 0 0
4 = [ ]
0 0 1 0
0 0 0 1

Cos[5] Sin[5] 0 0
4 0 0 1 4
5 = [ ]
Sin[5] Cos[5] 0 0
0 0 0 1

Aplicando el mtodo de Paul se pudo hallar las expresiones de los ngulos, se debe tomar
en cuenta que se utiliza variables de la matriz a introducir como la siguiente:

sx
4
5 = [ ]

0 0 0 1

UPB 2014 4
Con la ayuda de Wolfram Mathematica 9.0 se pudo simplificar las expresiones para luego
con ayuda de lpiz y papel poder despejarla utilizando las ecuaciones caractersticas del
mtodo de Paul.

Entonces se obtuvo la siguiente ecuacin para 1:


= ( )

Para 5:


= ( )

Para 3:

= ( , )

Donde:



( + + ( + + )) + ( ( + + ))
=

Para 2:

= ( ,

Donde:

sin 2
(2 + 3 cos 3)( 1 4 cos(2 + 3 + 4)) (3 sin 3)( cos 1 + sin 1 + 4 sin(2 + 3 + 4))
=
(2 + 3 + cos 3)2 + (3 sin 3)2

cos 2
(2)( cos 1 + sin 1 + 4 sin(2 + 3 + 4)) + (3 sin 3)( 1 4 cos(2 + 3 + 4))
=
(2 + 3 + cos 3)2 + (3 sin 3)2

Para 4:

4 = cos 1 2 3

UPB 2014 5
5 EJEMPLOS DE APLICACIN

Con el programa elaborado en Matlab, se verificar los valores dndonos los valores de la
matriz a la cual queremos llegar calculando los ngulos tomando en cuenta las
dimensiones del robot como se muestra en la Ilustracin N3.

Ilustracin N3. Dimensiones del Robot.

As que para este caso las distancias que se tomar en cuenta son las siguientes:

D1=35mm, D2=80mm, D3=81mm, D4=48mm

5.1 Primera prueba

Para la primera prueba se tomar los datos iniciales para que nuestro robot este
completamente erguido verticalmente, entonces tenemos:

1= /4, 2= /8, 3= /2, 4= /8, 5= /4:

UPB 2014 6
Cuando se elige 1 nos permitir introducir los ngulos:

Cuando se elige 2 nos permitir obtener los ngulos calculados en la opcin anterior que
sera la 1.

UPB 2014 7
Como se puede notar:

1 0.7854 /4

2 0.3927 /8

3 1.5708 /2

4 0.3927 /8

UPB 2014 8
5 0.7854 /4

5.2 Segunda prueba

Para la segunda prueba se tomar los datos iniciales para que nuestro robot este
completamente erguido verticalmente, entonces tenemos:

1= /2, 2= /4, 3= 0, 4= /8, 5= 0:

Cuando se elige 1 nos permitir introducir los ngulos:

UPB 2014 9
Cuando se elige 2 nos permitir obtener los ngulos calculados en la opcin anterior que
sera la 1.

UPB 2014 10
1 1.5708 /2

2 0.7854 /4

3 0 0

4 0.3927 /8

5 0 0

6 ESPACIO DE TRABAJO

El espacio de trabajo puede ser determinado tomando en cuenta el caso en el que las
articulaciones llegan a su mxima distancia. En el caso del robot que se muestra en la
Ilustracin N2. para obtener el espacio de trabajo en el eje x-y se define los siguientes
ngulos:

1= (Rotar 2 radianes), 2= , 3= 0, 4= /2, 5= 0:

El espacio de trabajo en el eje x-y se puede visualizar en la Ilustracin N4.

D2+D3+D4
y

Ilustracin N4. Espacio de trabajo en el eje x-y

El espacio de trabajo en el eje x-z se puede visualizar en la Ilustracin N5.

1=0, 2= (variar de 0 a ), 3= 0, 4= /2, 5= 0:

UPB 2014 11
z

D2+D3+D4
D1 x

Ilustracin N5. Espacio de trabajo en el eje x-z

Este espacio de trabajo es calculado tomando en cuenta que las articulaciones son
ideales y pueden llegar a rotar 2 radianes.

7 CONCLUSIONES

Las expresiones halladas pueden darnos dos soluciones y esto se puede explicar con el
siguiente ejemplo: cuando queremos hallar un punto en 2 dimensiones, y teniendo 2
articulaciones, habr 2 ngulos para cada articulacin posibles que obtienen el mismo
resultado. Por lo tanto, al calcular los ngulos debemos usar nuestro criterio para elegir el
ngulo posible fsicamente.

Un ngulo es posible fsicamente cuando el servomotor en un robot permite este


movimiento lo cual a veces no resulta ya que algunos servomotores solo permiten el
movimiento en 180.

Si tomamos las limitaciones fsicas de los servomotores, el espacio de trabajo cambiara.

El programa podra ser ms inteligente si nosotros restringimos los ngulos, teniendo un


ngulo mximo y uno mnimo y que el programa nos pueda decir si es posible llegar a cierta
ubicacin dada.

UPB 2014 12
8 ANEXOS

8.1 Cdigo del programa

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% MODELO GEOMTRICO INVERSO %%%
%%% TRABAJO PRCTICO 3 %%%
%%% ESTUDIANTE: JHONATAN OROZA %%%
%%% MATERIA: ROBTICA %%%
%%% UNIVERSIDAD: UPB %%%
%%% DOCENTE: PhD. CECILIA TAPIA %%%
%%% AO: 2017 %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%DEFINICIN DE VARIABLES
op=4;%Variable de opciones del men principal

matriz=[];%Matriz principal que nos mostrar la matriz 4 x 4 resultante


%Las distancias del robot ya estn definidas con las 4 siguientes lneas:
d1=35;
d2=80;
d3=81;
d4=48;
while op>0%Bucle infinito hasta que se elija la opcin "Salir"
clc
fprintf('MATRICES DE TRANSFORMACIN HOMOGNEA:\n');
fprintf('OPCIONES:\n');
fprintf('1. Modelo Geomtrico Directo\n');
fprintf('2. Modelo Geomtrico Inverso (Debe haber pasado por 1 para
esta opcin)\n');
fprintf('0. Salir\n');
%Lnea donde se detiene el programa para pedir opcin
op=input('Insertar opcin: ');
clc
switch op
case 1%Modelo Geomtrico Directo
fprintf('INTRODUCIR LOS NGULOS PARA CALCULAR LA MATRIZ DE
TRANSFORMACIN:\n');
%El programa nos pedir los ngulos para generar la tabla de
%Parmetros Geomtricos
theta1in=input('\nIntroducir theta1: ');
theta2in=input('\nIntroducir theta2: ');
theta3in=input('\nIntroducir theta3: ');
theta4in=input('\nIntroducir theta4: ');
theta5in=input('\nIntroducir theta5: ');
matriztran=eye(4,4);
fprintf('La matriz de PARMETROS GEOMTRICOS:\n');
fprintf('[j Rho Alpha d theta r]\n');
matriz=[
1 0 0 0 theta1in d1;
2 0 pi/2 0 theta2in 0;
3 0 0 d2 theta3in 0;
4 0 0 d3 theta4in 0;

UPB 2014 13
5 0 -pi/2 0 theta5in d4]
tamMdPG=size(matriz);
i=1;
matriztran=eye(4,4);
while i <= tamMdPG(1,1)
%Genera una matriz por cada j de la tabla de Parmetros
Geomtricos
fprintf('Para j = %d, la matriz de transformacin ser:
\n',i);
matrizgen=[
cos(matriz(i,5)) -
sin(matriz(i,5)) 0 matriz(i,4);
cos(matriz(i,3))*sin(matriz(i,5))
cos(matriz(i,3))*cos(matriz(i,5)) -sin(matriz(i,3)) -
matriz(i,6)*sin(matriz(i,3));
sin(matriz(i,3))*sin(matriz(i,5))
sin(matriz(i,3))*cos(matriz(i,5)) cos(matriz(i,3))
matriz(i,6)*cos(matriz(i,3));
0 0
0 1]
matriztran=matriztran*matrizgen;
i=i+1;
end
fprintf('La matriz de transformacin final es:\n');
%Esta es la matriz de transformacin que se utilizar cuando
op=2
%op es la variable de seleccin del men principal
matriztran
input('Pulse ENTER pa continuar...');
clc
case 2%Modelo Geomtrico Inverso
%El programa utilizar la matriz hallada en el Modelo Geomtrico Directo
%Calculado cuando op=1 del men principal

fprintf('MODELO GEOMTRICO INVERSO:\n');


%Clculo de theta1
th1o=atan(matriztran(2,4)/matriztran(1,4));
%Clculo de theta5
th5o=asin(matriztran(2,1)*cos(th1o)-
1*matriztran(1,1)*sin(th1o));
%Clculo de theta3

aux1=matriztran(1,4)*cos(th1o)+matriztran(2,4)*sin(th1o)+d4*((matriztran(
3,1))/(cos(th5o)));
aux2=matriztran(3,4)-d1-d4*matriztran(3,3);
aux3=(aux1^2+aux2^2-d2^2-d3^2)/(2*d2*d3);
th3o=atan2(sqrt(1-(aux3^2)),aux3);
%Clculo de theta2
aux21=d2+d3*cos(th3o);
aux22=d3*sin(th3o);
senth2=(aux21*aux2-aux22*aux1)/(aux21^2+aux22^2);
costh2=(aux21*aux1-aux22*aux2)/(aux21^2+aux22^2);
th2o=atan2(senth2,costh2);
%Clculo de theta4
th4o=acos(matriztran(3,3))-th3o-th2o;
fprintf('Theta 1 es:\n ');

UPB 2014 14
th1o
fprintf('Theta 2 es:\n ');
th2o
fprintf('Theta 3 es:\n ');
th3o
fprintf('Theta 4 es:\n ');
th4o
fprintf('Theta 5 es:\n ');
th5o
input('Pulse ENTER para continuar...');
clc
end
end

UPB 2014 15

También podría gustarte