Vous êtes sur la page 1sur 16

CONTROL INTELIGENTE

UNIVERSIDAD NACIONAL DEL CALLAO


FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA
ESCUELA PROFESIONAL DE ING.ELCTRONICA

TRASLACION Y
ROTACION
2015-B

Profesor:
Ricardo

Ing.

Rodrguez

Bustinza

Curso: ROBOTICA
Tarea N 1
Alumnos:
1.
2.

Infantes Cayo Corina


1113220699
Guzman Alvitrez Cesar

Pgina 0

CONTROL INTELIGENTE

PROBLEMA 1:
Ha sido preparada una estacin de trabajo de un robot con una
cmara de TV. La cmara puede ver el origen del sistema de
coordenadas de la base donde esta unido un robot de 6
articulaciones. Puede ver tambin el centro de un objeto
(supuesto que es un cubo) que va a ser manipulado por el robot.

Fig. 1

Si se ha establecido un sistema de coordenadas local en el


centro de cubo, este pbjeto como se ve en la cmara se puede
representar por una matriz de transformacin homognea T1. Si el
origen de coordenadas de la base tal como
lo ve la cmara se
puede expresar tambin mediante una matriz de transformacin
homognea T2 siendo.

0
1
T1
0

Pgina 1

1 0 1
0 0 10
0 1 9

0 0 1

CONTROL INTELIGENTE

1 0 0 10
0 1 0 20

T2
0 0 1 10

1
0 0 0
a) Cul es la posicin de centro del cubo respecto al sistema
de coordenadas de la base?

SOLUCION:
base

Tcubo

Para encontrar
cadena:

la

utilizamos la regla del producto en

Tcubo

base

Tcamara * camaraTcubo (T 2) 1T 1

base

Mediante Matlab realizamos la operacin dada y obtenemos:

base

Tcubo

1 0 0 10
0 1 0 20

0 0 1 10

0 0 0 1

0
1
10
1
9
0

0 1
0

0 1 0
1 0 0
0 0 1
0 0

1 0 11
0 0 10
0 1 1

0 0 1
(11,10,1)T

Esto quiere decir que el cubo est en la posicin


del
sistema de coordenadas de la base. Sus ejes x,y,z son paralelos
a los ejes y ,x y z del sistema de coordenadas de la base.
Cdigo comentado._
clear all; close all; clc
% Estacion de trabajo de un robot
w=eye(3);
%matriz de transformacion del centro de cubo.
T1=[ 0 1 0 1
1 0 0 10
0 0 -1 9
0 0 0 1];
%matriz de transformacion del origen del
%sitema de coordenadas de la base.
T2=[ 1 0 0 -10
0 -1 0 20
0 0 -1 10
0 0 0 1];
disp('coordenadas respecto al sistema de la base')
%Usamos la regla del producto en cadena
Tf=(T2)^-1*T1
Pgina 2
Fig. 2

CONTROL INTELIGENTE

Figura obtenida._

Fig. 3

b) Suponer que el cubo est dentro del alcance del brazo. Cul
es la matriz de orientacin

[n , s , a]

si se necesita que la

pinza(o los dedos) de la mano se alineen con el eje y del


objeto y al mismo tiempo coja el objeto desde lo alto?

SOLUCION:

n, s, a
Para hallar

utilzamos la siguiente matriz:


0

n s a
T6
0 0 0

p
1
p (11,10,1)T

Donde p la tenemos de la solucin anterior

De la figura inicial se requiere tener el vector de aproximacin


a para alinear con la direccin negativa del eje OZ del sistema

a 0, 0 1
de coordenadas de la base entonces

, el vector s se
base

Tcubo

puede alinear en una o en otra direccin del eje y de


Pgina 3

CONTROL INTELIGENTE

s 1, 0, 0

entonce
y el vector n se puede obtener del producto
vectorial de s y a.

i
n sx
ax

j
sy
ay

k
i
j k 0
sz 1 0 0 1
az
0 0 1 0

n, s , a
Por lo tanto la matriz

es:

0 1 0
n, s, a 1 0 0
0 0 1

0 1 0
n, s, a 1 0 0
0 0 1
o
Cdigo comentado._

clear all; close all; clc


% Estacion de trabajo de un robot
w=eye(3);
%matriz de transformacion del centro de cubo.
T1=[ 0 1 0 1
1 0 0 10
0 0 -1 9
0 0 0 1];
%matriz de transformacion del origen del
%sitema de coordenadas de la base.
T2=[ 1 0 0 -10
0 -1 0 20
0 0 -1 10
0 0 0 1];
disp('coordenadas respecto al sistema de la base')
%Usamos la regla del producto en cadena
Tf=(T2)^-1*T1
a=[0;0;-1];
s=[-1;0;0];
%comando cross para hallar el producto vectorial
z=cross(a,s)

Fig. 4

Figura obtenida._

Pgina 4

CONTROL INTELIGENTE

Fig. 5

PROBLEMA 2:

PROBLEMA 3:

PROBLEMA 4:
Piden describir los frames espaciales e implementar una posible
matriz de transformacin homognea para la localizacin.
Considere que la tenaza (efecto final) solo puede realizar un
trazado vertical de longitud finita. Asuma las consideraciones
que crea ms conveniente.
Solucin:
Parte

Analtica:

Tenemos un robot manipulador KUKA de 6 grados de libertad:

Pgina 5

CONTROL INTELIGENTE

El robot manipulador KUKA de 6DOF consiste en una secuencia de


cuerpos
rigidos,
llamados
elementos,
conectados
mediante
articulaciones
prismticas
o
de
revolucin.
Cada
par
articulacin-elemento constituye un grado de libertad.

Pgina 6

CONTROL INTELIGENTE

Establecimiento del sistema de coordenadas de elementos para un


robot KUKA

Ahora implementaremos
para la localizacin.

una

matriz

de

transformacin

homognea

Primero hacemos la asignacin del sistema de coordenadas de los


elementos
Dado un brazo con 6 grados de libertad, este algoritmo asigna un
sistema de coordenadas ortonormal a cada elemento del brazo. Las
relaciones entre elementos adyacentes se pueden representar
mediante una matriz de transformacin homognea 4 x 4.

Pgina 7

CONTROL INTELIGENTE

Una vez establecido el sistema de coordenadas D-H para cada


elemento, se puede desarrollar fcilmente una matriz de
transformacin homognea que relacione el sistema de coordenadas
i-esimo con el sistema de coordenadas (i-1)-esimo.
Realizaremos las siguientes transformaciones sucesivas:
Cada una de estas cuatro operaciones se puede expresar mediante
una matriz rotacin-translacion homognea bsica y el producto
de estas cuatro matrices de transdormacion homogneas bsicas da
una matriz de transformacin homognea compuesta
como la matriz de transformacin D-H para
coordenadas adyacentes i e i-1. Asi:

, conocida
sistemas de

Utilizando la ecuacin:

Se puede encontrar la inversa de esa transformacin como:


Pgina 8

CONTROL INTELIGENTE

Para una articulacin prismtica, la variable articulacin es


di, mientras que i, ai, i son constantes. En este caso, (i-1)A i
se hace

y su inversa es

La matriz homognea
que especifica la localizacin del
sistema de coordenadas i-esimo con respecto al sistema de
coordenadas de la base es el producto en cadena de matrices de
transformacin de coordenadas sucesivas
como

Pgina 9

y se expresa

CONTROL INTELIGENTE

Matrices de transformacin de coordenadas de los elementos del


robot KUKA
Donde Ci =cosOi; Si=senOi; Cij=cos(Oi+Oj); Sij=sen(Oi+Oj)
Donde:
[xi, yi,zi]=matriz de orientacin del sistema de coordenadas iesimo establecido en el elemento i con respecto al sistema de
coordenadas de la base. Es la matriz particionada superior
izquierda 3 x 3 de

Especificamente para i=6 , obtendremos la matriz T, que


especifica la posicin y orientacin del punto final del
manipulador con respecto al sistema de coordenadas de la base,
tambien se llama la matriz del brazo:

Para un robot KUKA T1 se determina como:

Pgina 10

CONTROL INTELIGENTE

Y la matriz T2 se encuentra que es

Donde Cij=cos(Oi+Oj) y Sij=sen(Oi+Oj)


La matriz del brazo T para el robot KUKA es:

Donde:

Como comprobacin, si O1=90,


O6=0, entonces la matriz T es:
Pgina 11

O2=0,

O3=90,

O4=0,

O5=0,

CONTROL INTELIGENTE

Que esta de acuerdo con el sistema de coordenadas establecido en


la figura del robot KUKA.

CODIGO EN MATLAB:
clear all;close all;clc
%describiendo los parametros
W=eye(4);%frame mundial matriz identidad 4X4
Rx=rotx(9*pi/2);%rotacion de 90 con respecto al eje Z
Tx=[Rx zeros(3,1);zeros(1,3) 1];%Matriz de transformacion
%homogenea del eje Z
Ry=roty(-pi/2);
Ty=[Ry zeros(3,1); zeros(1,3) 1];%matriz de transf. homogenea
Tz=transl([4 0 0]);%translacion en eje x en 4 unidades
%ingresamos los puntos del dato de la grafica
%rotaciones paso a paso
O=[1 -1 -1 1 1 -1
0 0 0 0 4 4
0 0 2 2 0 0
1 1 1 1 1 1];
T1=Tx*O;
T2=Ty*T1;
T3=Tz*T2;
%T1=Ty*Tz;%primero se traslada Z luego Y
%T2= Tx*T1;
%T3=T2*O;
%2grafica del frame
figure
subplot(221)
plot3(0,0,0,'sb'),hold,grid on
plot3(O(1),O(2),O(3),'sr');
plot3(O(5),O(6),O(7),'sr');
plot3(O(9),O(10),O(11),'sr');
plot3(O(13),O(14),O(15),'sr');
plot3(O(17),O(18),O(19),'sr');
plot3(O(21),O(22),O(23),'sr');
axis([-5 5 -5 5 -5 5]);
Pgina 12

CONTROL INTELIGENTE

%(x1,y1,z1) (x2, y2,z2)


trplot(W,'frame','A','color','black'),hold on
plot3([O(1,1)
O(1,2)],[O(2,1)
O(3,2)],'k','linewidth',1)
plot3([O(1,2)
O(1,3)],[O(2,2)
O(3,3)],'k','linewidth',1)
plot3([O(1,3)
O(1,4)],[O(2,3)
O(3,4)],'k','linewidth',1)
plot3([O(1,4)
O(1,1)],[O(2,4)
O(3,1)],'k','linewidth',1)
plot3([O(1,1)
O(1,5)],[O(2,1)
O(3,5)],'k','linewidth',1)
plot3([O(1,5)
O(1,6)],[O(2,5)
O(3,6)],'k','linewidth',1)
plot3([O(1,6)
O(1,2)],[O(2,6)
O(3,2)],'k','linewidth',1)
plot3([O(1,5)
O(1,4)],[O(2,5)
O(3,4)],'k','linewidth',1)
plot3([O(1,6)
O(1,3)],[O(2,6)
O(3,3)],'k','linewidth',1)
view (154,26)

O(2,2)],[O(3,1)
O(2,3)],[O(3,2)
O(2,4)],[O(3,3)
O(2,1)],[O(3,4)
O(2,5)],[O(3,1)
O(2,6)],[O(3,5)
O(2,2)],[O(3,6)
O(2,4)],[O(3,5)
O(2,3)],[O(3,6)

%3 giro en eje Z
subplot(222)
O=T1-1;
plot3(0,0,0,'sb'),hold,grid on
plot3(O(1),O(2),O(3),'sr');
plot3(O(5),O(6),O(7),'sr');
plot3(O(9),O(10),O(11),'sr');
plot3(O(13),O(14),O(15),'sr');
plot3(O(17),O(18),O(19),'sr');
plot3(O(21),O(22),O(23),'sr');
trplot(W,'frame','A','color','black'),hold on
plot3([O(1,1)
O(1,2)],[O(2,1)
O(3,2)],'k','linewidth',1)
plot3([O(1,2)
O(1,3)],[O(2,2)
O(3,3)],'k','linewidth',1)
plot3([O(1,3)
O(1,4)],[O(2,3)
O(3,4)],'k','linewidth',1)
plot3([O(1,4)
O(1,1)],[O(2,4)
O(3,1)],'k','linewidth',1)
plot3([O(1,1)
O(1,5)],[O(2,1)
O(3,5)],'k','linewidth',1)
plot3([O(1,5)
O(1,6)],[O(2,5)
O(3,6)],'k','linewidth',1)
plot3([O(1,6)
O(1,2)],[O(2,6)
O(3,2)],'k','linewidth',1)
plot3([O(1,5)
O(1,4)],[O(2,5)
O(3,4)],'k','linewidth',1)
plot3([O(1,6)
O(1,3)],[O(2,6)
O(3,3)],'k','linewidth',1)
axis([-5 5 -5 5 -5 5]);
view (154,26)

%4 rotacion en el eje Y
Pgina 13

O(2,2)],[O(3,1)
O(2,3)],[O(3,2)
O(2,4)],[O(3,3)
O(2,1)],[O(3,4)
O(2,5)],[O(3,1)
O(2,6)],[O(3,5)
O(2,2)],[O(3,6)
O(2,4)],[O(3,5)
O(2,3)],[O(3,6)

CONTROL INTELIGENTE

subplot(2,2,3)
O=T2;
plot3(0,0,0,'sb'),hold,grid on
plot3(O(1),O(2),O(3),'sr');
plot3(O(5),O(6),O(7),'sr');
plot3(O(9),O(10),O(11),'sr');
plot3(O(13),O(14),O(15),'sr');
plot3(O(17),O(18),O(19),'sr');
plot3(O(21),O(22),O(23),'sr');
trplot(W,'frame','A','color','black'),hold on
plot3([O(1,1)
O(1,2)],[O(2,1)
O(3,2)],'k','linewidth',1)
plot3([O(1,2)
O(1,3)],[O(2,2)
O(3,3)],'k','linewidth',1)
plot3([O(1,3)
O(1,4)],[O(2,3)
O(3,4)],'k','linewidth',1)
plot3([O(1,4)
O(1,1)],[O(2,4)
O(3,1)],'k','linewidth',1)
plot3([O(1,1)
O(1,5)],[O(2,1)
O(3,5)],'k','linewidth',1)
plot3([O(1,5)
O(1,6)],[O(2,5)
O(3,6)],'k','linewidth',1)
plot3([O(1,6)
O(1,2)],[O(2,6)
O(3,2)],'k','linewidth',1)
plot3([O(1,5)
O(1,4)],[O(2,5)
O(3,4)],'k','linewidth',1)
plot3([O(1,6)
O(1,3)],[O(2,6)
O(3,3)],'k','linewidth',1)

O(2,2)],[O(3,1)
O(2,3)],[O(3,2)
O(2,4)],[O(3,3)
O(2,1)],[O(3,4)
O(2,5)],[O(3,1)
O(2,6)],[O(3,5)
O(2,2)],[O(3,6)
O(2,4)],[O(3,5)
O(2,3)],[O(3,6)

axis([-5 5 -5 5 -5 5]);
view (154,26)
%4 translacion en el eje X
subplot(2,2,4)
O=T3;
plot3(0,0,0,'sb'),hold,grid on
plot3(O(1),O(2),O(3),'sr');
plot3(O(5),O(6),O(7),'sr');
plot3(O(9),O(10),O(11),'sr');
plot3(O(13),O(14),O(15),'sr');
plot3(O(17),O(18),O(19),'sr');
plot3(O(21),O(22),O(23),'sr');
trplot(W,'frame','A','color','black'),hold on
plot3([O(1,1)
O(1,2)],[O(2,1)
O(3,2)],'k','linewidth',1)
plot3([O(1,2)
O(1,3)],[O(2,2)
O(3,3)],'k','linewidth',1)
plot3([O(1,3)
O(1,4)],[O(2,3)
O(3,4)],'k','linewidth',1)
plot3([O(1,4)
O(1,1)],[O(2,4)
O(3,1)],'k','linewidth',1)
plot3([O(1,1)
O(1,5)],[O(2,1)
O(3,5)],'k','linewidth',1)
plot3([O(1,5)
O(1,6)],[O(2,5)
O(3,6)],'k','linewidth',1)
plot3([O(1,6)
O(1,2)],[O(2,6)
O(3,2)],'k','linewidth',1)

Pgina 14

O(2,2)],[O(3,1)
O(2,3)],[O(3,2)
O(2,4)],[O(3,3)
O(2,1)],[O(3,4)
O(2,5)],[O(3,1)
O(2,6)],[O(3,5)
O(2,2)],[O(3,6)

CONTROL INTELIGENTE

plot3([O(1,5)
O(1,4)],[O(2,5)
O(3,4)],'k','linewidth',1)
plot3([O(1,6)
O(1,3)],[O(2,6)
O(3,3)],'k','linewidth',1)

O(2,4)],[O(3,5)
O(2,3)],[O(3,6)

axis([-5 5 -5 5 -5 5]);
view (154,26)

Conclusiones:

Pgina 15

El comando cross es til para hallar el producto


vectorial de dos vectores.
Con la propiedad de producto en cadena se puede
hallar de frente la matriz de transformacin a partir
de otras.
Se aprendi a utilizar la traslacin y rotacin en un
grfico prismtico.

Vous aimerez peut-être aussi