Вы находитесь на странице: 1из 198

Robtica Industrial

HERRAMIENTAS MATEMTICAS
La base de estas transparencias han sido preparadas por A. Barrientos como complemento didctico al libro Fundamentos de Robtica 2 edicin (McGraw-Hill 2007). Algunas diapositivas han sido editadas para el curso de Robtica de la Maestria en Controles Industriales
viernes 27 de enero de 2012

Necesidad
Manipulacin de piezas

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

Necesidad
Manipulacin de piezas
Movimiento espacial del extremo del robot

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

Necesidad
Manipulacin de piezas
Movimiento espacial del extremo del robot

Necesidad de herramientas matemticas para especificar posicin y orientacin de las piezas y del extremo del robot
Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

Localizacin espacial
Especificacin conjunta de la posicin y orientacin de un slido rgido en el espacio, con respecto a un sistema de referencia fija S= {O,X,Y,Z} Al slido rgido se le asocia un sistemas de coordenadas (dextrgiro) S= {O,U,V,W} La posicin y orientacin del slido con respecto al sistema S, queda totalmente determinada por la del sistema Scon respecto a S

V U

Z Y X

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

Representacin de la posicin
Vector de posicin en coordenadas

Cartesianas
Cilndricas Esfricas

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

Dibujar un objeto en Matlab - Bordes


Dibujar Lneas
% ejemplo_dibujar_lineas.m % % Este programa dibuja 3 lineas clear; % Borra las variables del workspace close all; % cierra las ventanas abiertas clc; % borra la pantalla figure(1); % Crea una ventana para hacer nueva figura p1 = [1 , 1 , 1]; % Punto 1 p2 = [3 , 4 , 5]; % Punto 2 p3 = [-3, -2, 5]; % Punto 3 % Dibuja las lineas: line( [p1(1) , p2(1)], [p1(2) , p2(2)], [p1(3) , p2(3)], ... 'LineWidth',1, 'Color', 'r' , 'LineStyle', '--' ); line( [p1(1) , p3(1)], [p1(2) , p3(2)], [p1(3) , p3(3)], ... 'LineWidth',5, 'Color', 'g' , 'LineStyle', '-' ); line( [p2(1) , p3(1)], [p2(2) , p3(2)], [p2(3) , p3(3)], ... 'LineWidth',3, 'Color', 'b' , 'LineStyle', ':' ); title('Mi primera linea en Matlab'); % Crea el titulo de la figura xlabel('X'); % Etiqueta el eje x ylabel('Y'); % Etiqueta el eje y zlabel('Z'); % Etiqueta el eje y grid on % Activa la grilla view(40,20) % Especifica un vista con azimut 40 y elevacion 20

viernes 27 de enero de 2012

Dibujar un objeto en Matlab - Bordes


EJERCICIO: Dibujar un paralelepipedo - Largo 10 - Ancho 5 - Alto 7

viernes 27 de enero de 2012

Dibujar un objeto en Matlab - Bordes


% ejercicio_dibujar_paralelepipedo.m % % Este programa dibuja un paralelepipedo clear, close all, clc Largo = 10;, Ancho = 7;, Alto = 5; figure(1); % Crea una ventana para hacer nueva figura p1 = [0 ; 0 ; 0];, p2 = [Largo ; 0 ; 0]; p3 = [Largo ; Ancho; 0];, p4 = [0 ; Ancho; 0]; p5 = [0 ; 0 ; Alto];, p6 = [Largo ; 0 ; Alto]; p7 = [Largo ; Ancho; Alto];, p8 = [0 ; Ancho; Alto]; % Dibuja lineas de la base del paralelepipedo: line( [p1(1) , p2(1), p3(1), p4(1), p1(1)], ... [p1(2) , p2(2), p3(2), p4(2), p1(2)], ... [p1(3) , p2(3), p3(3), p4(3), p1(3)], ... 'LineWidth',4, 'Color', 'r' , 'LineStyle', '-' ); % Dibuja lineas de la tapa del paralelepipedo: line( [p5(1) , p6(1), p7(1), p8(1), p5(1)], ... [p5(2) , p6(2), p7(2), p8(2), p5(2)], ... [p5(3) , p6(3), p7(3), p8(3), p5(3)], ... 'LineWidth',4, 'Color', 'g' , 'LineStyle', '-' ); % Dibuja lineas de los lados del paralelepipedo: line( [p1(1) , p5(1)], [p1(2) , p5(2)], [p1(3) , p5(3)], 'LineWidth',4); line( [p2(1) , p6(1)], [p2(2) , p6(2)], [p2(3) , p6(3)], 'LineWidth',4); line( [p3(1) , p7(1)], [p3(2) , p7(2)], [p3(3) , p7(3)], 'LineWidth',4); line( [p4(1) , p8(1)], [p4(2) , p8(2)], [p4(3) , p8(3)], 'LineWidth',4); grid on, view(40,20); axis([-30, 30, -30, 30, -30, 30]);

viernes 27 de enero de 2012

Animaciones en Matlab

EJERCICIO: Simular el segundero de un reloj anlogo

viernes 27 de enero de 2012

Animaciones en Matlab
Paso 1: dibujar las lneas guia

% ejercicio_animacion_segundero_paso_1.m clear, close all, clc p1 = [0 , 0]; % punto centro del reloj largo_barra = 20; figure(1); for i = 1:6:360 p2(1) = largo_barra*cosd(i); % Coordenadas eje x p2(2) = largo_barra*sind(i); % Coordenadas eje y line( [p1(1) , p2(1)], [p1(2) , p2(2)], ... 'LineWidth',1, 'Color', 'r' , 'LineStyle', '--'); end axis([-30, 30, -30, 30, -30, 30]); view(0,90)

viernes 27 de enero de 2012

Animaciones en Matlab
Paso 2: animar el segundero
% ejercicio_animacion_segundero.m clear, close all, clc p1 = [0 , 0]; % punto centro del reloj largo_barra = 20; figure(1); for s = 90:-6:-270 figure(1);, clf for i = 1:6:360 p2(1) = largo_barra*cosd(i); % Coordenadas eje x p2(2) = largo_barra*sind(i); % Coordenadas eje y line( [p1(1) , p2(1)], [p1(2) , p2(2)], ... 'LineWidth',1, 'Color', 'r' , 'LineStyle', '--'); end p3(1) = largo_barra*cosd(s); % Coordenadas eje x p3(2) = largo_barra*sind(s); % Coordenadas eje y line( [p1(1) , p3(1)], [p1(2) , p3(2)], ... 'LineWidth',5, 'Color', 'k' , 'LineStyle', '-'); axis([-30, 30, -30, 30, -30, 30]); view(0,90) pause(1) end

viernes 27 de enero de 2012

Ejercicio:
Obtener las componentes de los vectores U y V sobre los ejes cordenados X, Y. Teniendo en cuenta los vectores unitarios ix, jy y conociendo que que U y V son ortogonales.

U = ___________ i x + ___________ jy V = ___________ i x + ___________ jy


Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

11

Representacin de la Orientacin Mediante Matrices de Rotacin. Caso 2D

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

12

Representacin de la Orientacin Mediante Matrices de Rotacin. Caso 2D

P = pui u + pv jv

P = px i x + py jy
px = P i x py = P jy
Robotica Industrial- Herramientas matemticas

pu = P i u pv = P jv
Herramientas Matemticas
viernes 27 de enero de 2012

13

Representacin de la Orientacin Mediante Matrices de Rotacin. Caso 2D

P = pui u + pv jv

pu = P i u pv = P jv

P = px i x + py jy px = P i x py = P jy

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

Representacin de la orientacin mediante Matrices de Rotacin. Caso 2D

P = px i x + py jy
px = P i x py = P jy

P = pui u + pv jv

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

15

Representacin de la orientacin mediante Matrices de Rotacin. Caso 2D

P = px i x + py jy
px = P i x py = P jy

P = pui u + pv jv

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

15

Representacin de la orientacin mediante Matrices de Rotacin. Caso 2D

P = px i x + py jy

P = pui u + pv jv

px = P i x = ( pui u + pv jv ) i x py = P jy = ( pui u + pv jv ) jy

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

15

Representacin de la orientacin mediante Matrices de Rotacin. Caso 2D

P = px i x + py jy

P = pui u + pv jv

px = P i x = ( pui u + pv jv ) i x py = P jy = ( pui u + pv jv ) jy px = pui u i x + pv jv i x py = pui u jy + pv jv jy

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

15

Representacin de la orientacin mediante Matrices de Rotacin. Caso 2D

P = px i x + py jy

P = pui u + pv jv

px = P i x = ( pui u + pv jv ) i x py = P jy = ( pui u + pv jv ) jy px = pui u i x + pv jv i x py = pui u jy + pv jv jy


px i x i u p = j i y y u
Herramientas Matemticas
viernes 27 de enero de 2012

i x jv pu p jy jv v

Robotica Industrial- Herramientas matemticas

15

Representacin de la orientacin mediante Matrices de Rotacin. Caso 2D

P = px i x + py jy

P = pui u + pv jv

px = P i x = ( pui u + pv jv ) i x py = P jy = ( pui u + pv jv ) jy px = pui u i x + pv jv i x py = pui u jy + pv jv jy


px i x i u p = j i y y u
Herramientas Matemticas
viernes 27 de enero de 2012

px pu p = R p v y

i x jv pu p jy jv v

Robotica Industrial- Herramientas matemticas

15

Representacin de la orientacin mediante Matrices de Rotacin. Caso 2D

P = px i x + py jy

P = pui u + pv jv

px = P i x = ( pui u + pv jv ) i x py = P jy = ( pui u + pv jv ) jy px = pui u i x + pv jv i x py = pui u jy + pv jv jy


px i x i u p = j i y y u
Herramientas Matemticas
viernes 27 de enero de 2012

px pu p = R p v y

i x jv pu p jy jv v

cos sen R= sen cos

Robotica Industrial- Herramientas matemticas

15

Representacin de la Orientacin Mediante Matrices de Rotacin. Caso 3D

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

16

Representacin de la Orientacin Mediante Matrices de Rotacin. Caso 3D

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

16

Matrices de Rotacin
0 0 1 cos( ) 0 sen( ) Rx = 0 cos( ) sen( ) R = 0 1 0 y 0 sen( ) cos( ) sen( ) 0 cos( ) cos( ) sen( ) 0 Rz = sen ( ) cos( ) 0 0 1 0

viernes 27 de enero de 2012

Matrices de Rotacin
0 0 1 cos( ) 0 sen( ) Rx = 0 cos( ) sen( ) R = 0 1 0 y 0 sen( ) cos( ) sen( ) 0 cos( ) cos( ) sen( ) 0 Rz = sen ( ) cos( ) 0 0 1 0

Ejemplo: Rotar el punto [10, 0, 0] con respecto al eje z, 90 grados

viernes 27 de enero de 2012

Matrices de Rotacin
0 0 1 cos( ) 0 sen( ) Rx = 0 cos( ) sen( ) R = 0 1 0 y 0 sen( ) cos( ) sen( ) 0 cos( ) cos( ) sen( ) 0 Rz = sen ( ) cos( ) 0 0 1 0

Ejemplo: Rotar el punto [10, 0, 0] con respecto al eje z, 90 grados

viernes 27 de enero de 2012

Matrices de Rotacin
0 0 1 cos( ) 0 sen( ) Rx = 0 cos( ) sen( ) R = 0 1 0 y 0 sen( ) cos( ) sen( ) 0 cos( ) cos( ) sen( ) 0 Rz = sen ( ) cos( ) 0 0 1 0

Ejemplo: Rotar el punto [10, 0, 0] con respecto al eje z, 90 grados

Pxr cos(90) sen(90) 0 10 0 P = sen (90) cos(90) 0 yr 0 1 0 0 Pzr

viernes 27 de enero de 2012

Matrices de Rotacin
0 0 1 cos( ) 0 sen( ) Rx = 0 cos( ) sen( ) R = 0 1 0 y 0 sen( ) cos( ) sen( ) 0 cos( ) cos( ) sen( ) 0 Rz = sen ( ) cos( ) 0 0 1 0

Ejemplo: Rotar el punto [10, 0, 0] con respecto al eje z, 90 grados

Pxr cos(90) sen(90) 0 10 0 P = sen (90) cos(90) 0 yr 0 1 0 0 Pzr


0 0 1 0 10 10 = 1 0 0 0 0 0 0 1 0

viernes 27 de enero de 2012

Matrices de Rotacin
Funcin Rotacin en X
% Rotx.m % % Crea una matriz de rotacin con respecto al eje x function Rx = Rotx(angulo) Rx = [1, 0, 0, 0, cos(angulo), sin(angulo), 0, -sin(angulo) cos(angulo) ;... ;... ];

Ejemplos:
>> Rotx(pi/2) ans = 1.0000 0 0 0 0.0000 1.0000 0 -1.0000 0.0000

>> Rotx(pi)*[0;5;0] ans = 0 -5.0000 0.0000

viernes 27 de enero de 2012

Matrices de Rotacin
Ejercicio: Crear las funciones correspondientes para las rotaciones en el eje Y y Z

Ejemplos verificacin:

>> Roty(pi/4)*[1; 0; 1] ans = 1.4142 0 0.0000

>> Rotz(pi/2) ans = 0.0000 1.0000 0 -1.0000 0.0000 0 0 0 1.0000

viernes 27 de enero de 2012

Animaciones usando Matrices de Rotacin

EJERCICIO: Simular el segundero de un reloj anlogo usando matrices de rotacin

viernes 27 de enero de 2012

Animaciones usando Matrices de Rotacin


Solucin

% ejercicio_animacion_segundero_matriz_rotacion.m clear, close all, clc p1 = [0; 0; 0]; % punto centro del reloj p2 = [0; 20; 0]; % punto final segundero figure(1); for s = 0:(-2*pi/60):-2*pi figure(1);, clf for i = 0:(2*pi/60):2*pi pguia = Rotz(i)*p2; line( [p1(1), pguia(1)], [p1(2), pguia(2)], [p1(3), pguia(3)], ... 'LineWidth',1, 'Color', 'b' , 'LineStyle', '-.'); end p3 = Rotz(s)*p2; line( [p1(1), p3(1)], [p1(2), p3(2)], [p1(3), p3(3)], ... 'LineWidth',5, 'Color', 'k' , 'LineStyle', '--'); axis([-30, 30, -30, 30, -30, 30]); view(0,90) pause(1) end

viernes 27 de enero de 2012

Rotar el objeto con respecto a un eje de referencia


EJERCICIO: Dibujar una sistema de referencia de longitud L, grosor G, cuya orientacin depende de la matriz R. Crear la funcin dibujar_sistema_referencia_R(R, L, G, Subindicice) SUGERENCIA: Usar el comando TEXT(X,Y,Z,'string') para ilustrar los ttulos de los ejes coordenados. Ejm: text( pn(1),pn(2),pn(3),strcat('x_',Subindice) );

viernes 27 de enero de 2012

Rotar el objeto con respecto a un eje de referencia


EJERCICIO: Dibujar una sistema de referencia de longitud L, grosor G, cuya orientacin depende de la matriz R. Crear la funcin dibujar_sistema_referencia_R(R, L, G, Subindicice) SUGERENCIA: Usar el comando TEXT(X,Y,Z,'string') para ilustrar los ttulos de los ejes coordenados. Ejm: text( pn(1),pn(2),pn(3),strcat('x_',Subindice) ); Ejemplos:

>> R = eye(3); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30);

viernes 27 de enero de 2012

Rotar el objeto con respecto a un eje de referencia


Solucin:
% dibujar_sistema_referencia_R.m % Esta funcin dibuja un sistema de referencia rotado segun % la matriz de Rotacin R. L es la longuitud, G el grosor y % el texto % % Ejemplo: % R = eye(3); % dibujar_sistema_referencia_R(R, 10, 5, '1'); % grid on, view(50,30); function dibujar_sistema_referencia_R(R, L, G, Subindicice) % Puntos finales de los ejes x, y, z pfx = R*[L;0;0]; % Punto final eje x pfy = R*[0;L;0]; % Punto final eje y pfz = R*[0;0;L]; % Punto final eje z % Dibuja los ejes line( [0, pfx(1)], [0, pfx(2)], [0, pfx(3)],'LineWidth',G, 'Color', 'r' ); line( [0, pfy(1)], [0, pfy(2)], [0, pfy(3)],'LineWidth',G, 'Color', 'g' ); line( [0, pfz(1)], [0, pfz(2)], [0, pfz(3)],'LineWidth',G, 'Color', 'b' ); % Dibuja los titulos de los ejes coordenados text( pfx(1),pfx(2),pfx(3),strcat(' x_',Subindicice) ); text( pfy(1),pfy(2),pfy(3),strcat(' y_',Subindicice) ); text( pfz(1),pfz(2),pfz(3),strcat(' z_',Subindicice) );

viernes 27 de enero de 2012

Rotar el objeto con respecto a un eje de referencia

EJERCICIO: Realizar una animacin en la cual se ponga a rotar un sistema de referencia alrededor del eje Y

viernes 27 de enero de 2012

Rotar el objeto con respecto a un eje de referencia

Solucin:
% Ejercicio_animacion_sistema_rotando_eje_y.m clear, close all, clc figure(1); for angulo = 0:2*pi/50:2*pi clf; R = Roty(angulo); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30); axis([-15, 15, -15, 15, -15, 15]); pause(0.2); end

viernes 27 de enero de 2012

Matrices de Rotacin. Composicin de Rotaciones


Concatenacin de rotaciones
Orden de la composicin: Rotacin sobre OX Rotacin sobre OY Rotacin sobre OZ

Multiplicacin de matrices

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

26

Matrices de Rotacin. Composicin de Rotaciones


Concatenacin de rotaciones
Orden de la composicin: Rotacin sobre OX Rotacin sobre OY Rotacin sobre OZ

Multiplicacin de matrices

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

26

Matrices de Rotacin. Composicin de Rotaciones


Concatenacin de rotaciones
Orden de la composicin: Rotacin sobre OX Rotacin sobre OY Rotacin sobre OZ

Multiplicacin de matrices

Las rotaciones que se especifican con respecto a los EJES FIJOS se PREMULTIPLICAN

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

26

Matrices de Rotacin. Composicin de Rotaciones


Concatenacin de rotaciones
Orden de la composicin: Rotacin sobre OX Rotacin sobre OY Rotacin sobre OZ

Multiplicacin de matrices

Las rotaciones que se especifican con respecto a los EJES FIJOS se PREMULTIPLICAN

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

26

Matrices de Rotacin. Interpretacin Geomtrica


Si {xyz}R{uvw} representa la matriz de rotacin que relaciona el sistema {UVW} con el sistema {XYZ} (i.e pxyz={xyz}R{uvw} puvw)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

27

Matrices de Rotacin. Interpretacin Geomtrica


Si {xyz}R{uvw} representa la matriz de rotacin que relaciona el sistema {UVW} con el sistema {XYZ} (i.e pxyz={xyz}R{uvw} puvw) Las columnas de la Matriz {xyz}R{uvw} corresponden con las coordenadas de los vectores u,v,w en la base {XYZ}

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

27

Matrices de Rotacin. Interpretacin Geomtrica


Si {xyz}R{uvw} representa la matriz de rotacin que relaciona el sistema {UVW} con el sistema {XYZ} (i.e pxyz={xyz}R{uvw} puvw) Las columnas de la Matriz {xyz}R{uvw} corresponden con las coordenadas de los vectores u,v,w en la base {XYZ}

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

27

Matrices de Rotacin. Interpretacin Geomtrica


Si {xyz}R{uvw} representa la matriz de rotacin que relaciona el sistema {UVW} con el sistema {XYZ} (i.e pxyz={xyz}R{uvw} puvw) Las columnas de la Matriz {xyz}R{uvw} corresponden con las coordenadas de los vectores u,v,w en la base {XYZ}

ux
{xyz}R {uvw} =

vx vy vz

wx wy wz

uy uz

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

27

Matrices de Rotacin. Interpretacin Geomtrica


ux
{xyz}R {uvw} =

vx vy vz

wx wy wz

0 -1 0

1 0 0

uy uz

0 1

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

28

Usos de la Matriz de Rotacin


La matriz de rotacin R permite:
1. Representar la orientacin del sistema mvil S con respecto al fijo S 2. Obtener las coordenadas de un punto en el sistema S, conocidas sus coordenadas en el sistema mvil 3. Obtener el punto b que resulta de rotar el punto a.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

29

Matrices de Rotacin - Propiedades


Son matrices ortonormales:
Sus vectores por columnas o por filas son ortonormales entre si: Producto escalar
de un vector por otro cualquiera = 0 de un vector por si mismo =1

Producto vectorial
de un vector por el siguiente da el tercero

Su Inversa coincide con su Traspuesta Su determinante es la unidad

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

30

Caractersticas del Uso de Matrices para Representar una Orientacin


Su composicin se realiza mediante el lgebra de matrices (facilidad de uso) Precisan 9 elementos (redundancia) Riesgo de inconsistencia tras varias operaciones (redondeos)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

31

Representacin de la Orientacin. ngulos de Euler

Giros consecutivos entorno a 3 ejes, debiendo ser perpendicular cada eje con el siguiente.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

32

Representacin de la Orientacin. ngulos de Euler

Giros consecutivos entorno a 3 ejes, debiendo ser perpendicular cada eje con el siguiente. Posibilidad de especificar los giros sobre ejes fijos (XYZ) o sobre ejes mviles (UVW)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

32

Representacin de la Orientacin. ngulos de Euler

Giros consecutivos entorno a 3 ejes, debiendo ser perpendicular cada eje con el siguiente. Posibilidad de especificar los giros sobre ejes fijos (XYZ) o sobre ejes mviles (UVW) 12 combinaciones posibles sobre ejes fijos y 12 sobre ejes mviles

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

32

Representacin de la Orientacin. ngulos de Euler

Giros consecutivos entorno a 3 ejes, debiendo ser perpendicular cada eje con el siguiente. Posibilidad de especificar los giros sobre ejes fijos (XYZ) o sobre ejes mviles (UVW) 12 combinaciones posibles sobre ejes fijos y 12 sobre ejes mviles De todas las ms frecuentes son:
Ejes Mviles: WUW (ZXZ) y WVW (ZYZ) Ejes Fijos (XYZ)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

32

ngulos de Euler WUW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

33

ngulos de Euler WUW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

33

ngulos de Euler WUW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OU', convirtindose as en el OU''V''W'.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

33

ngulos de Euler WUW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OU', convirtindose as en el OU''V''W'.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

33

ngulos de Euler WUW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OU', convirtindose as en el OU''V''W'. Girar el sistema OU''V''W'' un ngulo con respecto al eje OW'' convirtindose finalmente en el OU'''V'''W'''
Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

33

ngulos de Euler WUW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OU', convirtindose as en el OU''V''W'. Girar el sistema OU''V''W'' un ngulo con respecto al eje OW'' convirtindose finalmente en el OU'''V'''W'''
Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

33

ngulos de Euler WVW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

34

ngulos de Euler WVW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

34

ngulos de Euler WVW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OV', convirtindose as en el sistema OU''V''W'.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

34

ngulos de Euler WVW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OV', convirtindose as en el sistema OU''V''W'.

Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

34

ngulos de Euler WVW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OV', convirtindose as en el sistema OU''V''W'. Girar el sistema OUVW un ngulo con respecto al eje OW'', convirtindose finalmente en el OU'''V'''W'''.
Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

34

ngulos de Euler WVW


Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el OU'V'W. Girar el sistema OU'V'W' un ngulo con respecto al eje OV', convirtindose as en el sistema OU''V''W'. Girar el sistema OUVW un ngulo con respecto al eje OW'', convirtindose finalmente en el OU'''V'''W'''.
Si es nulo el primer y tercer giro se producen sobre el mismo eje (Z)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

34

Angulos Euler XYZ


(guiada, cabeceo y alabeo)


Giros entorno a los ejes fijos (XYZ) Guiada-Cabeceo-Alabeo Yaw-Pitch-Roll Girar el sistema OUVW un ngulo con respecto al eje OX. (Yaw) Girar el sistema OUVW un ngulo con respecto al eje OY. (Pitch) Girar el sistema OUVW un ngulo con respecto al eje OZ. (Roll)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

35

Representacin de la orientacin. Par de rotacin


Dados los sistemas {O,X,Y,Z} y {O,U,V,W}, existe un nico vector k (kx,ky.kz), tal que girando alrededor de l un ngulo se convierte el primer sistema en el segundo.

k es el vector propio real de la matriz de rotacin. Se puede obtener como el argumento de los valores propios complejos de la matriz de rotacin Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

36

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

Rx (30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

Ry (45) Rx (30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

Rz (60) Ry (45) Rx (30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

R = Rz (60) Ry (45) Rx (30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

R = Rz (60) Ry (45) Rx (30)


0 0 cos(60) sen(60) 0 cos(45) 0 sen(45) 1 0 cos(30) sen(30) R= sen (60) cos(60) 0 0 1 0 0 1 0 sen(45) 0 cos(45) 0 sen(30) cos(30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

R = Rz (60) Ry (45) Rx (30)


0 0 cos(60) sen(60) 0 cos(45) 0 sen(45) 1 0 cos(30) sen(30) R= sen (60) cos(60) 0 0 1 0 0 1 0 sen(45) 0 cos(45) 0 sen(30) cos(30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

R = Rz (60) Ry (45) Rx (30)


0 0 cos(60) sen(60) 0 cos(45) 0 sen(45) 1 0 cos(30) sen(30) R= sen (60) cos(60) 0 0 1 0 0 1 0 sen(45) 0 cos(45) 0 sen(30) cos(30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes 2ijos se premultiplican
Ejemplo: Rotacin con respecto al eje X (30 grados), seguida de una rotacin con respecto al eje Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

R = Rz (60) Ry (45) Rx (30)


0 0 cos(60) sen(60) 0 cos(45) 0 sen(45) 1 0 cos(30) sen(30) R= sen (60) cos(60) 0 0 1 0 0 1 0 sen(45) 0 cos(45) 0 sen(30) cos(30)

viernes 27 de enero de 2012

Rotacin con respecto a los ejes jos

viernes 27 de enero de 2012

Rotacin con respecto a los ejes jos

Ejercicio: Realizar una animacin que ilustre una rotacin con respecto a eje X (30 grados), seguida de una rotacin Y (45 grados), seguida de una rotacin con respecto al eje Z (60 grados)

viernes 27 de enero de 2012

Solucin Ejercicio
% Ejercicio_animacion_rotacion_XYZ_ejes_fijos.m clear, close all, clc figure(1); R0 = eye(3); for angulo = 0:(pi/6)/20:pi/6 clf; dibujar_sistema_referencia_R2(R0, 10, 3, '0'); R = Rotx(angulo); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30); axis([-12, 12, -12, 12, -12, 12]); pause(0.2); end for angulo = 0:(pi/4)/20:pi/4 clf; dibujar_sistema_referencia_R2(R0, 10, 3, '0'); R = Roty(angulo)*Rotx(pi/6); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30); axis([-12, 12, -12, 12, -12, 12]); pause(0.2); end for angulo = 0:(pi/3)/20:pi/3 clf; dibujar_sistema_referencia_R2(R0, 10, 3, '0'); R = Rotz(angulo)*Roty(pi/4)*Rotx(pi/6); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30); axis([-12, 12, -12, 12, -12, 12]); pause(0.2); end viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

Ru (30)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

Ru (30) Rv (90)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

Ru (30) Rv (90) Rw (60)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

R = Ru (30) Rv (90) Rw (60)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

R = Ru (30) Rv (90) Rw (60)


0 0 1 cos(90) 0 sen(90) cos(60) 0 sen(60) R= 0 cos(30) sen (30) 0 1 0 0 1 0 0 sen(30) cos(30) sen(90) 0 cos(90) sen(60) 0 cos(60)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

R = Ru (30) Rv (90) Rw (60)


0 0 1 cos(90) 0 sen(90) cos(60) 0 sen(60) R= 0 cos(30) sen (30) 0 1 0 0 1 0 0 sen(30) cos(30) sen(90) 0 cos(90) sen(60) 0 cos(60)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

R = Ru (30) Rv (90) Rw (60)


0 0 1 cos(90) 0 sen(90) cos(60) 0 sen(60) R= 0 cos(30) sen (30) 0 1 0 0 1 0 0 sen(30) cos(30) sen(90) 0 cos(90) sen(60) 0 cos(60)

viernes 27 de enero de 2012

Composicin de Matrices de Rotacin


Las rotaciones que se realizan con respectos a los ejes MOVILES se postmultiplican
Ejemplo: Rotacin con respecto al eje U (30 grados), seguida de una rotacin con respecto al eje V (-90 grados), seguida de una rotacin con respecto al eje W (60 grados)

R = Ru (30) Rv (90) Rw (60)


0 0 1 cos(90) 0 sen(90) cos(60) 0 sen(60) R= 0 cos(30) sen (30) 0 1 0 0 1 0 0 sen(30) cos(30) sen(90) 0 cos(90) sen(60) 0 cos(60)

viernes 27 de enero de 2012

Rotacin con respecto a los ejes moviles

viernes 27 de enero de 2012

Rotacin con respecto a los ejes moviles

Ejercicio: Realizar una animacin que ilustre una rotacin con respecto a eje U (30 grados), seguida de una rotacin V (45 grados), seguida de una rotacin con respecto al eje W (60 grados)

viernes 27 de enero de 2012

Solucin Ejercicio
% Ejercicio_animacion_rotacion_UVW_ejes_moviles.m clear, close all, clc figure(1); R0 = eye(3); for angulo = 0:(pi/6)/20:pi/6 clf; dibujar_sistema_referencia_R2(R0, 10, 3, '0'); R = Rotx(angulo); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30); axis([-12, 12, -12, 12, -12, 12]); pause(0.2); end for angulo = 0:(pi/4)/20:pi/4 clf; dibujar_sistema_referencia_R2(R0, 10, 3, '0'); R = Rotx(pi/6)*Roty(angulo); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30); axis([-12, 12, -12, 12, -12, 12]); pause(0.2); end for angulo = 0:(pi/3)/20:pi/3 clf; dibujar_sistema_referencia_R2(R0, 10, 3, '0'); R = Rotx(pi/6)*Roty(pi/4)*Rotz(angulo); dibujar_sistema_referencia_R(R, 10, 5, '1'); grid on, view(50,30); axis([-12, 12, -12, 12, -12, 12]); pause(0.2); end viernes 27 de enero de 2012

Representacin conjunta mediante matrices

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

43

Coordenadas homogneas

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

44

Matrices de transformacin homognea


Matriz 4x4 que representa la transformacin de un vector en coordenadas homogneas de un sistema de coordenadas a otro

R3x3: matriz de rotacin p3x1: vector de traslacin f1x3: transformacin de perspectiva ((0,0,0) en el caso de robtica) w1x1: escalado global (1 en el caso de robtica)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

45

Aplicacin de las matrices de transformacin homognea

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

46

Aplicacin de las matrices de transformacin homognea

Representar la posicin y orientacin de un sistema girado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ, que es lo mismo que representar una rotacin y traslacin realizada sobre un sistema de referencia.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

46

Aplicacin de las matrices de transformacin homognea

Representar la posicin y orientacin de un sistema girado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ, que es lo mismo que representar una rotacin y traslacin realizada sobre un sistema de referencia. Transformar un vector r expresado en coordenadas con respecto a un sistema O'UVW, a su expresin en coordenadas del sistema de referencia OXYZ.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

46

Aplicacin de las matrices de transformacin homognea

Representar la posicin y orientacin de un sistema girado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ, que es lo mismo que representar una rotacin y traslacin realizada sobre un sistema de referencia. Transformar un vector r expresado en coordenadas con respecto a un sistema O'UVW, a su expresin en coordenadas del sistema de referencia OXYZ. Rotar (R) y trasladar (p) un vector r con respecto a un sistema de referencia fijo OXYZ para transformarlo en el r.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

46

Propiedades de las MTH


NO son Ortonormales

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

47

Usos alternativos de las MTH

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

48

Traslacin con matrices homogneas

Matriz bsica de traslacin:

T( p ) =

Cambio de sistema de coordenadas:

Desplazamiento de un vector:

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

49

Ejemplo de traslacin (I).

Trasladar el sistema (cambio de base)


Segn la figura el sistema O'UVW est trasladado un vector p (6,-3,8) con respeto del sistema OXYZ. Calcular las coordenadas (rx , ry ,rz) del vector r cuyas coordenadas con respecto al sistema O'UVW son ruvw(-2,7,3)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

50

Ejemplo de traslacin (II)


Trasladar el vector
Calcular el vector rxyz resultante de trasladar al vector rxyz(4,4,11) segn la transformacin T(p) con p(6,-3,8)

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

51

Rotacin con matrices homogneas


Matrices de rotacin bsicas:

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

52

Rotacin con matrices homogneas


Cambio de sistema de coordenadas:

Rotacin de un vector:

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

53

Ejemplo de rotacin
Rotar el sistema (cambio de base)
Segn la figura el sistema OUVW se encuentra girado -90 alrededor del eje OZ con respecto al sistema OXYZ. Calcular las coordenadas del vector rxyz si ruvw = [4,8,12]T

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

54

Combinacin de rotaciones y traslaciones


Es posible combinar rotaciones y traslaciones bsicas multiplicando las matrices correspondientes El producto no es conmutativo:
rotar y trasladar trasladar y rotar
Trasladar T(p) y Girar Rotz()

Girar Rotz() y trasladar T(p) Transformaciones expresadas en el sistema mvil


Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

55

Orden de la combinacin de rotaciones y traslaciones


Rotacin seguida de traslacin (expresadas en sistema fijo):

Traslacin seguida de rotacin (expresadas en sistema fijo):

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

56

Ejemplo combinacin de rotacin y traslacin (1)


Rotacin Traslacin Sistema Fijo
Un sistema OUVW ha sido girado 90 alrededor del eje OX y posteriormente trasladado un vector p(8,-4,12) con respecto al sistema OXYZ. Calcular las coordenadas (rx ,ry ,rz) del vector r con coordenadas ruvw (-3,4,-11).

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

57

Ejemplo combinacin de rotacin y traslacin (1)


Rotacin Traslacin Sistema Fijo
Un sistema OUVW ha sido girado 90 alrededor del eje OX y posteriormente trasladado un vector p(8,-4,12) con respecto al sistema OXYZ. Calcular las coordenadas (rx ,ry ,rz) del vector r con coordenadas ruvw (-3,4,-11).

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

57

Ejemplo composicin de rotacin y traslacin (2)


Traslacin Sistema Fijo Rotacin

Un sistema OUVW ha sido trasladado un vector p(8,-4,12) con respecto al sistema OXYZ y girado 90 alrededor del eje OX . Calcular las coordenadas (rx ,ry ,rz) del vector r de coordenadas ruvw (-3,4,-11).

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

58

Ejemplo composicin de rotacin y traslacin (2)


Traslacin Sistema Fijo Rotacin

Un sistema OUVW ha sido trasladado un vector p(8,-4,12) con respecto al sistema OXYZ y girado 90 alrededor del eje OX . Calcular las coordenadas (rx ,ry ,rz) del vector r de coordenadas ruvw (-3,4,-11).

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

58

Composicin general de matrices homogneas (I)


Transformaciones definidas sobre el sistema fijo (OXYZ) PREMULTIPLICACIN

Ejemplo: Obtener la matriz de transformacin que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante
giro de ngulo - alrededor del eje OX, traslacin de vector pxyz(5,5,10) giro de sobre el eje OZ

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

59

Composicin general de matrices homogneas (I)


Transformaciones definidas sobre el sistema fijo (OXYZ) PREMULTIPLICACIN

Ejemplo: Obtener la matriz de transformacin que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante
giro de ngulo - alrededor del eje OX, traslacin de vector pxyz(5,5,10) giro de sobre el eje OZ

1 0 0 1 T = Rotz( )T ( p) Rotx ( ) = 0 0 0 0
Herramientas Matemticas
viernes 27 de enero de 2012

0 0 1 0 0 0 1 0 0 0 1 0

5 1 0 0 1 0 5 0 1 0 0 1 10 0 0 1 0 0 1 0 0 0 0 0

0 1 0 0 = 0 0 1 0

5 1 0 5 0 1 10 0 0 1 0 0

Robotica Industrial- Herramientas matemticas

59

Composicin general de matrices homogneas (I)


Transformaciones definidas sobre el sistema fijo (OXYZ) PREMULTIPLICACIN

Ejemplo: Obtener la matriz de transformacin que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante
giro de ngulo - alrededor del eje OX, traslacin de vector pxyz(5,5,10) giro de sobre el eje OZ

1 0 0 1 T = Rotz( )T ( p) Rotx ( ) = 0 0 0 0
Herramientas Matemticas
viernes 27 de enero de 2012

0 0 1 0 0 0 1 0 0 0 1 0

5 1 0 0 1 0 5 0 1 0 0 1 10 0 0 1 0 0 1 0 0 0 0 0

0 1 0 0 = 0 0 1 0

5 1 0 5 0 1 10 0 0 1 0 0

Robotica Industrial- Herramientas matemticas

59

Composicin general de matrices homogneas (I)


Transformaciones definidas sobre el sistema fijo (OXYZ) PREMULTIPLICACIN

Ejemplo: Obtener la matriz de transformacin que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante
giro de ngulo - alrededor del eje OX, traslacin de vector pxyz(5,5,10) giro de sobre el eje OZ

1 0 0 1 T = Rotz( )T ( p) Rotx ( ) = 0 0 0 0
Herramientas Matemticas
viernes 27 de enero de 2012

0 0 1 0 0 0 1 0 0 0 1 0

5 1 0 0 1 0 5 0 1 0 0 1 10 0 0 1 0 0 1 0 0 0 0 0

0 1 0 0 = 0 0 1 0

5 1 0 5 0 1 10 0 0 1 0 0

Robotica Industrial- Herramientas matemticas

59

Composicin general de matrices homogneas (I)


Transformaciones definidas sobre el sistema fijo (OXYZ) PREMULTIPLICACIN

Ejemplo: Obtener la matriz de transformacin que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante
giro de ngulo - alrededor del eje OX, traslacin de vector pxyz(5,5,10) giro de sobre el eje OZ

1 0 0 1 T = Rotz( )T ( p) Rotx ( ) = 0 0 0 0
Herramientas Matemticas
viernes 27 de enero de 2012

0 0 1 0 0 0 1 0 0 0 1 0

5 1 0 0 1 0 5 0 1 0 0 1 10 0 0 1 0 0 1 0 0 0 0 0

0 1 0 0 = 0 0 1 0

5 1 0 5 0 1 10 0 0 1 0 0

Robotica Industrial- Herramientas matemticas

59

Composicin general de matrices homogneas (II)


Tr a n s f o r m a c i n d e f i n i d a s s o b r e e l s i s t e m a m v i l ( O U V W ) POSMULTIPLICACIN Ejemplo:
Obtener la matriz de transformacin que representa las siguientes transformaciones:

Traslacin de un vector pxyz(-3,10,10); giro de -90 sobre el eje O'U del sistema trasladado giro de 90 sobre el eje O'V del sistema girado.

1 0 T = T ( p) Rotx ( ) Roty ( ) = 0 0
Herramientas Matemticas
viernes 27 de enero de 2012

0 0 3 1 0 0 1 0 10 0 1 0 0 1 10 0 0 1 0 0 1 0 0 0

0 1 0 0 0 0 1 0

0 1 0 1 0 0 0 1 = 0 1 0 0 0 0 0 1 0 0 0 0

0 3 0 10 1 10 0 1

Robotica Industrial- Herramientas matemticas

60

Reglas de composicin de MTH


Si el sistema OUVW se obtiene mediante transformaciones definidas con respecto al:
Sistema fijo OXYZ, las MTH de cada transformacin se deben premultiplicar Sistema mvil OUVW, las MTH de cada transformacin se deben postmultiplicar

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

61

Interpretacin geomtrica de las MTH

p representa la posicin del origen de O'UVW con respecto del sistema OXYZ. n representa las coordenadas del eje O'U del sistema O'UVW con respecto del sistema OXYZ. o representa las coordenadas del eje OY del sistema O'UVW con respecto del sistema OXYZ. a representa las coordenadas del eje O'W del sistema O'UVW con respecto del sistema OXYZ.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

62

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

MTH Para la figura de abajo, encuentre las matrices de transformacin de 4x4 y para i=1, 2, 3, 4, 5

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

Interpretacin geomtrica de las MTH. Aplicacin en un robot


La localizacin del extremo del robot respecto a su base queda definida asociando a la base del robot un sistema de referencia fijo {R}=(OXYZ) y al extremo un sistema de referencia {H} que se mueva con l. Expresado en la base {R}, el origen de {H} est en el punto p y los vectores directores de {H} son n, o, a escogidos de modos que: a: vector en la direccin de aproximacin del extremo del robot a su destino (approach). o: vector perpendicular a a en el plano definido por la pinza del robot. n: vector que forme terna ortogonal con los dos anteriores.

{R} {H}

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

64

Relacin entre los mtodos de


ANGULOS DE EULER MATRICES DE TRANSFORMACIN HOMOGNEA

WUW

WVW

XYZ

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

65

Relacin entre los mtodos de


MATRICES DE TRANSFORMACIN HOMOGNEA- ANGULOS DE EULER

Se debern despejar , y . de la relacin directa. aparece como elemento aislado, pudindose despejar directamente A continuacin se pueden obtener y . En los casos WUW y WVW, si es 0, se produce indeterminacin y solo se puede obtener el valor de +.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

66

Relacin entre los mtodos de


PAR DE ROTACIN MATRICES DE TRANSFORMACIN

Se trata de expresar el giro en rotaciones bsicas 1.Se gira k hasta hacerlo coincidir con Z (T(x,),T(y,-)). 2.Se realiza el giro dado por el par (). 3.Se deshacen las rotaciones iniciales

Siendo V

= 1 - C.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

67

Relacin entre los mtodos de


MATRICES DE TRANSFORMACIN - PAR DE ROTACIN

Nota: Cuando es prximo a 0 o a , las ecuaciones quedan indeterminadas V es el verseno definido por V = 1 C
Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

68

Ejercicio
Dos robots (A y B) cooperan en una misma tarea. Sus bases, a las que estn asociadas sus sistemas de referencia Sa y Sb , estn ubicados de modo que la base B est desplazada 2 unidades en la direccin del eje Y del sistema Sa y girada -90 respecto del nuevo eje Z. (Ver figura) El robot B ejecuta un programa con una orden del tipo: Deja el objeto en la localizacin Tbo Esta orden implica dejar el objeto en una localizacin de coordenadas definidas por la matriz de transformacin homognea Tb0 (las coordenadas se encuentran definidas con respecto al sistema de referencia del robot B, Sb). Este objeto debe ser recogido por el robot A, para lo que ste tendr que una orden del tipo: Recoge el objeto en localizacin Tao Se pide: 1.Encontrar la expresin que define el valor que debe tomar Tao en funcin de Tbo 2.Aplicarlo al caso concreto de que el robot B deje el objeto a 1 unidad sobre la vertical de su origen y girado / 2 respecto del eje Z.

Herramientas Matemticas
viernes 27 de enero de 2012

Robotica Industrial- Herramientas matemticas

69

Ejercicios MTH

EJERCICIO: Crear una funcin que calcule la MTH correspondiente a una rotacin de un angulo determinado en el eje x - MTHRotx(angulo)

EJERCICIO: Crear una funcin que calcule la MTH correspondiente a una rotacin de un angulo determinado en el eje y - MTHRoty(angulo)

EJERCICIO: Crear una funcin que calcule la MTH correspondiente a una rotacin de un angulo determinado en el eje z - MTHRotz(angulo)

viernes 27 de enero de 2012

Ejercicios MTH
Soluciones:
% MTHRotx.m % % Crea una MTH con una rotacin respecto al eje x function MTH = MTHRotx(angulo) MTH = [1, 0, 0, 0, % MTHRoty.m % % Crea una MTH con una rotacin respecto al eje y function MTH = MTHRoty(angulo) MTH = [cos(angulo), 0, -sin(angulo), 0, 0, 1, 0, 0, sin(angulo) 0 cos(angulo) 0 ,0 ;... ,0 ;... ,0 ;... ,1]; 0, cos(angulo), sin(angulo), 0, 0 -sin(angulo) cos(angulo) 0 ,0 ;... ,0 ;... ,0 ;... ,1];

% MTHRotz.m % % Crea una MTH con una rotacin respecto al eje z function MTH = MTHRotz(angulo) MTH = [cos(angulo), sin(angulo), 0, 0, viernes 27 de enero de 2012 -sin(angulo), cos(angulo), 0, 0, 0 0 1 0 ,0 ;... ,0 ;... ,0 ;... ,1];

Ejercicios MTH

EJERCICIO: Crear una funcin que calcule la MTH correspondiente a una traslacin de una distancia determinada en el eje x - MTHtrasx(distancia)

EJERCICIO: Crear una funcin que calcule la MTH correspondiente a una traslacin de una distancia determinada en el eje y - MTHtrasy(distancia)

EJERCICIO: Crear una funcin que calcule la MTH correspondiente a una traslacin de una distancia determinada en el eje z - MTHtrasz(distancia)

viernes 27 de enero de 2012

Ejercicios MTH
Soluciones:
% MTHtrasx.m % % Crea una MTH con una traslacin respecto al eje x function MTH = MTHtrasx(distancia) MTH = eye(4); MTH(1,4) = distancia;

% MTHtrasy.m % % Crea una MTH con una traslacin respecto al eje y function MTH = MTHtrasy(distancia) MTH = eye(4); MTH(2,4) = distancia;

% MTHtrasz.m % % Crea una MTH con una traslacin respecto al eje z function MTH = MTHtrasz(distancia) MTH = eye(4); MTH(3,4) = distancia;

viernes 27 de enero de 2012

Ejercicios MTH
EJERCICIO: Crear una funcin que dibuje un sistema de referencia asociado a una matriz de transformacin homognea. Ejemplo de verificacin:

viernes 27 de enero de 2012

Ejercicios MTH
EJERCICIO: Crear una funcin que dibuje un sistema de referencia asociado a una matriz de transformacin homognea. Ejemplo de verificacin:

close all, clear, clc MTH = eye(4); f1=figure;, set(f1,'Color',[1, 1, 1]); dibujar_sistema_referencia_MTH(MTH, 10, 5, '0'); grid on, view(50,30);

viernes 27 de enero de 2012

Ejercicios MTH
EJERCICIO: Crear una funcin que dibuje un sistema de referencia asociado a una matriz de transformacin homognea. Ejemplo de verificacin:

close all, clear, clc MTH = eye(4); f1=figure;, set(f1,'Color',[1, 1, 1]); dibujar_sistema_referencia_MTH(MTH, 10, 5, '0'); grid on, view(50,30);

close all, clear, clc f1=figure;, set(f1,'Color',[1, 1, 1]); MTH = eye(4); dibujar_sistema_referencia_MTH(MTH, 10, 5, '0'); MTH2 = MTHtrasx(20)*MTHtrasy(30)*MTHtrasz(40)*MTHRotx(pi/2); dibujar_sistema_referencia_MTH(MTH2, 10, 5, '1'); grid on, view(50,30);

viernes 27 de enero de 2012

Ejercicios MTH
Solucin:

viernes 27 de enero de 2012

Ejercicios MTH
Solucin:
% dibujar_sistema_referencia_MTH.m % Esta funcin dibuja un sistema de referencia rotado segun % la matriz de ttransformacin homogenea MYH. L es la longuitud, % G el grosor y el texto % % Ejemplo: % MTH = eye(4); % dibujar_sistema_referencia_MTH(MTH, 10, 5, '1'); % grid on, view(50,30); function dibujar_sistema_referencia_MTH(MTH, L, G, Subindicice) % Puntos finales de los ejes x, y, z pfx = MTH*[L;0;0;1]; % Punto final eje x pfy = MTH*[0;L;0;1]; % Punto final eje y pfz = MTH*[0;0;L;1]; % Punto final eje z % Dibuja los ejes line( [MTH(1,4), pfx(1)], [MTH(2,4), pfx(2)], [MTH(3,4), pfx(3)],'LineWidth',G, 'Color', 'r' ); line( [MTH(1,4), pfy(1)], [MTH(2,4), pfy(2)], [MTH(3,4), pfy(3)],'LineWidth',G, 'Color', 'g' ); line( [MTH(1,4), pfz(1)], [MTH(2,4), pfz(2)], [MTH(3,4), pfz(3)],'LineWidth',G, 'Color', 'b' ); % Dibuja los titulos de los ejes coordenados text( pfx(1),pfx(2),pfx(3),strcat(' x_',Subindicice) ); text( pfy(1),pfy(2),pfy(3),strcat(' y_',Subindicice) ); text( pfz(1),pfz(2),pfz(3),strcat(' z_',Subindicice) );

viernes 27 de enero de 2012

Dibujar un objeto usando MTH


EJERCICIO: Crear una funcin que dibuje un paralelepipedo, ingresando una matriz de transformacion homogenea que es solidario al mismo, el largo, el ancho y el alto del paralelepipedo (sugrencia: Basarse en el ejercicio creado con anterioridad).

viernes 27 de enero de 2012

Dibujar un objeto usando MTH


% % % % % % dibujar_paralelepipedo.m Este programa dibuja un paralelepipedo, Ejemplo A = MTHRotx(pi/4)*MTHRotz(pi/4); Largo = 30;, Ancho = 17;, Alto = 15; dibujar_paralelepipedo(A, Largo, Ancho, Alto);

function dibujar_paralelepipedo(A, Largo, Ancho, Alto) figure(1); % Crea una ventana para hacer nueva figura p1 = A*[0 ; 0 ; 0 ; 1];, p2 = A*[Largo ; 0 ; 0 ; 1]; p3 = A*[Largo ; Ancho; 0 ; 1];, p4 = A*[0 ; Ancho; 0 ; 1]; p5 = A*[0 ; 0 ; Alto ; 1];, p6 = A*[Largo ; 0 ; Alto ; 1]; p7 = A*[Largo ; Ancho; Alto ; 1];, p8 = A*[0 ; Ancho; Alto ; 1]; % Dibuja lineas de la base del paralelepipedo: line( [p1(1) , p2(1), p3(1), p4(1), p1(1)], ... [p1(2) , p2(2), p3(2), p4(2), p1(2)], ... [p1(3) , p2(3), p3(3), p4(3), p1(3)], ... 'LineWidth',4, 'Color', 'r' , 'LineStyle', '-' ); % Dibuja lineas de la tapa del paralelepipedo: line( [p5(1) , p6(1), p7(1), p8(1), p5(1)], ... [p5(2) , p6(2), p7(2), p8(2), p5(2)], ... [p5(3) , p6(3), p7(3), p8(3), p5(3)], ... 'LineWidth',4, 'Color', 'g' , 'LineStyle', '-' ); % Dibuja lineas de los lados del paralelepipedo: line( [p1(1) , p5(1)], [p1(2) , p5(2)], [p1(3) , p5(3)], 'LineWidth',4); line( [p2(1) , p6(1)], [p2(2) , p6(2)], [p2(3) , p6(3)], 'LineWidth',4); line( [p3(1) , p7(1)], [p3(2) , p7(2)], [p3(3) , p7(3)], 'LineWidth',4); line( [p4(1) , p8(1)], [p4(2) , p8(2)], [p4(3) , p8(3)], 'LineWidth',4); grid on, view(40,20); axis([-30, 30, -30, 30, -30, 30]);

viernes 27 de enero de 2012

Construccin de nuestro Robot Scara

viernes 27 de enero de 2012

Dibujar una cara de objeto en Matlab

viernes 27 de enero de 2012

Dibujar una cara de objeto en Matlab


%ejemplo dibujo de un triangulo usando la funcion patch f3=figure(3), clf, set(f3,'Color',[1, 1, 1]); hold on, grid on; % Puntos de los vertices de la cara p1 = [0,0,0]; p2 = [1,0,0]; p3 = [0.5,1,1]; % Dibuja la Cara patchi=patch([p1(1), p2(1), p3(1)], [p1(2), p2(2), p3(2)], ... [p1(3), p2(3), p3(3)],'g'); % Establece el color de los bordes set(patchi, 'EdgeColor', 'k' ); xlabel('x','FontSize',15); ylabel('y','FontSize',15); zlabel('z','FontSize',15); view(55,15)

viernes 27 de enero de 2012

Importar gracos STL a Matlab


solid ascii facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 -1.100000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 0.000000e+000

...

viernes 27 de enero de 2012

Importar gracos STL a Matlab


solid ascii facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 -1.100000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 0.000000e+000

...

viernes 27 de enero de 2012

Importar gracos STL a Matlab


solid ascii facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 -1.100000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 0.000000e+000

...

viernes 27 de enero de 2012

Importar gracos STL a Matlab


solid ascii facet normal outer loop vertex vertex vertex endloop endfacet facet normal outer loop vertex vertex vertex endloop endfacet 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 -1.100000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 1.000000e+000 0.000000e+000 0.000000e+000 2.800000e+001 2.800000e+001 1.000000e+001 2.800000e+001 -1.100000e+001 0.000000e+000 2.800000e+001 2.800000e+001 0.000000e+000

...

for i = 2:7:nfil-1 % encabezado n_face = n_face +1; Cf = textscan(datos{i}, '%s %s %n %n %n'); C1 = textscan(datos{i+2}, '%s %n %n %n'); C2 = textscan(datos{i+3}, '%s %n %n %n'); C3 = textscan(datos{i+4}, '%s %n %n %n'); datos_mat.facet_normal(n_face,:) = [Cf{3}, Cf{4}, Cf{5}]; datos_mat.vertex1(n_face,:) = [C1{2}, C1{3}, C1{4}]; datos_mat.vertex2(n_face,:) = [C2{2}, C2{3}, C2{4}]; datos_mat.vertex3(n_face,:) = [C3{2}, C3{3}, C3{4}]; end viernes 27 de enero de 2012

Importar gracos STL a Matlab

viernes 27 de enero de 2012

Importar gracos STL a Matlab


% % % % % fun_stl2matlab.m importa datos de un fichero stl Ejemplo: clear, close all, clc objeto_matlab = fun_stl2matlab('cubostl.stl', [1,0,0],1)

function objeto_matlab = fun_stl2matlab(file, color, dibujar) datos = importdata(file,'\t'); [nfil,nada]=size(datos); n_face = 0; datos_mat=[]; for i = 2:7:nfil-1 % encabezado n_face = n_face +1; Cf = textscan(datos{i}, '%s %s %n %n %n'); C1 = textscan(datos{i+2}, '%s %n %n %n'); C2 = textscan(datos{i+3}, '%s %n %n %n'); C3 = textscan(datos{i+4}, '%s %n %n %n'); datos_mat.facet_normal(n_face,:) = [Cf{3} , Cf{4} , Cf{5} ]; datos_mat.vertex1(n_face,:) = [C1{2}, C1{3}, C1{4}]; datos_mat.vertex2(n_face,:) = [C2{2}, C2{3}, C2{4}]; datos_mat.vertex3(n_face,:) = [C3{2}, C3{3}, C3{4}]; end

viernes 27 de enero de 2012

Importar gracos STL a Matlab

viernes 27 de enero de 2012

Importar gracos STL a Matlab


objeto_matlab.x = [datos_mat.vertex1(:,1)'; datos_mat.vertex2(:,1)'; datos_mat.vertex3(:,1)']; objeto_matlab.y = [datos_mat.vertex1(:,2)'; datos_mat.vertex2(:,2)'; datos_mat.vertex3(:,2)']; objeto_matlab.z = [datos_mat.vertex1(:,3)'; datos_mat.vertex2(:,3)'; datos_mat.vertex3(:,3)']; objeto_matlab.tcolor(1,1:n_face,1) = color(1); objeto_matlab.tcolor(1,1:n_face,2) = color(2); objeto_matlab.tcolor(1,1:n_face,3) = color(3); objeto_matlab.n_faces = n_face; if dibujar f1=figure;, set(f1,'Color',[1, 1, 1]); p=patch(objeto_matlab.x,objeto_matlab.y,objeto_matlab.z,objeto_matlab.tcolor); set(p, 'EdgeColor', 'none' ); view(40,20), camlight(40,20);, lighting phong; xlabel('x');, ylabel('y');, zlabel('z');, grid on end

viernes 27 de enero de 2012

Dibujar grcos importados de STL a Matlab

viernes 27 de enero de 2012

Dibujar grcos importados de STL a Matlab


% % % % % % % % % % % % dibujar_objeto_matlab_from_stl.m Esta funcion dibuja un objeto importado de STL segun la la MTH A Ejemplo: clear, close all, clc objeto = fun_stl2matlab('fig3d1.stl', [1,0,0],0); A = [ 1, 0, 0, 30; ... 0, cos(pi/6), -sin(pi/6), 20; ... 0, sin(pi/6), cos(pi/6), 50; ... 0, 0, 0, 1]; dibujar_objeto_matlab_from_stl(objeto,A); view(40,20), camlight(40,20);, lighting phong;

function dibujar_objeto_matlab_from_stl(objeto,A) for i=1:objeto.n_faces for j=1:3 p = [ objeto.x(j,i); objeto.y(j,i); objeto.z(j,i); 1]; pa = A*p; objeto_A.x(j,i) = pa(1); objeto_A.y(j,i) = pa(2); objeto_A.z(j,i) = pa(3); end end p=patch(objeto_A.x,objeto_A.y,objeto_A.z,objeto.tcolor); set(p, 'EdgeColor', 'none' );

viernes 27 de enero de 2012

Dibujo del Robot Scara


Ejercicio: Dibujar en un CAD, un cilindro de 1 m de radio 3 cm de grosor que simule el suelo del robot. Grabarlo como STL (ASCII) e importarlo a Matlab.

viernes 27 de enero de 2012

Dibujo del Robot Scara


Ejercicio: Dibujar en un CAD, la base del robot 40cm, 15 cm de diametro. Grabarlo como STL (ASCII) e importarlo a Matlab.

viernes 27 de enero de 2012

Dibujo del Robot Scara


Ejercicio: Dibujar en un CAD, el primer eslabon mvil del robot (562.5mm de largo). Grabarlo como STL (ASCII) e importarlo a Matlab.

viernes 27 de enero de 2012

Dibujo del Robot Scara


Ejercicio: Dibujar en un CAD, el segundo eslabon mvil del robot (437.5mm de largo). Grabarlo como STL (ASCII) e importarlo a Matlab.

viernes 27 de enero de 2012

Dibujo del Robot Scara


Ejercicio: Dibujar en un CAD, el tercer eslabon mvil del robot (400mm de largo). Grabarlo como STL (ASCII) e importarlo a Matlab.

viernes 27 de enero de 2012

Dibujo del Robot Scara


Ejercicio: Dibujar en un CAD, la pinza del robot (100mm de largo). Grabarlo como STL (ASCII) e importarlo a Matlab.

viernes 27 de enero de 2012

Dibujo del Robot Scara


Ejercicio: Crear una funcin que dibuje el robot SCARA dado el vector de posicin de las articulaciones. SUGERENCIA: Las geometrias de los eslabones del robot se deben cargar antes de llamar la funcin con el fin de optimizar el cdigo (evita cargar las geometrias cada vez que llama la funcin)

Ejemplo de verificacin:

clear, close all, clc % Importa el archivo STL correspondiente a los elementos SCARA.Tierra = fun_stl2matlab('Tierra.stl', [0,0,0],0); SCARA.Base = fun_stl2matlab('Base.stl', [0.8,0.0,0.0],0); SCARA.Eslabon1 = fun_stl2matlab('Eslabon1.stl', [0.7,0.7,0.0],0); SCARA.Eslabon2 = fun_stl2matlab('Eslabon2.stl', [0.0,0.7,0.7],0); SCARA.Eslabon3 = fun_stl2matlab('Eslabon3.stl', [0.7,0.7,0.7],0); SCARA.Efector = fun_stl2matlab('Efector.stl', [0.0,0.7,0.0],0); f1 = figure(1);, , set(f1,'Color',[1, 1, 1]); q = [pi/2, -pi/2, 0]; dibujar_SCARA(SCARA, q )

viernes 27 de enero de 2012

Animacin del Robot

viernes 27 de enero de 2012

Animacin del Robot

Ejercicio: Realizar una animacin que ilustre como el robot SCARA moviendose

viernes 27 de enero de 2012

Вам также может понравиться