You are on page 1of 37

ROBOTICA AVANZADA TRABAJO COLABORATIVO NUMERO 1

GRUPO COLABORATIVO 299012_7 LUIS CARLOS ROJAS COD.9395279 WILLIAM BENAVIDES DAVID RINCON HELBER VERGARA

PRESENTASDO A: MANUEL ENRIQUE WAGNER. Ing. Electrnico

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA INGENIERIA ELECTRONICA ABRIL DE 2012

INTRODUCCION La robtica, por ser una ciencia que involucra gran cantidad de clculos matemticos, la mayora relacionados con desplazamientos, velocidades, rotaciones, etc.; est estrechamente ligada al algebra lineal y vectorial entre otras disciplinas. El diseo de sistemas robticos, entonces, exige una gran cantidad de tiempo y esfuerzo de parte del ingeniero para poder llegar a los resultados deseados. En este orden de ideas se resalta la importancia de herramientas de modelamiento matemtico que resultan de gran ayuda para las personas que realizan las tareas de diseo y programacin de robots. Una de esas herramientas es el MATLAB, el cual permite realizar toda una serie de clculos, encaminados al desarrollo de proyectos que involucren modelamiento matemtico. Es el propsito de este trabajo el dar a conocer de manera rpida algunos de los diferentes comandos utilizados en MATLAB y la manera como pueden ser aplicados mediante algunos ejercicios propuestos.

1. Realizar un cuadro con comandos utilizados en el programa y los cules se


mencionan a lo largo de la primera unidad

TABLA DE COMANDOS DE MATLAB UTILIZADOS EN ROBOTICA AVANZADA COMANDOS MATLAB SINTAXIS FUNCIN Crea un cuaternio a indicando sus cuatro q = quaternion ([s v1 v2 v3]) elementos Crea un cuaternio a indicando un vector y q = quaternion (v, theta) un ngulo Crea un cuaternio a partir de una matriz q= quaternion (R) 3x3 o 4x4 Crea un cuaternio a partir de otro q = quaternion (q) cuaternio Retorna el producto del cuaternio o su q1*q2 composicin Retorna el producto vectorial del cuaternio, es decir, el vector V es rotado q*v por el cuaternio. En este caso, V es un vector 3x3 inv (q) Retorna la inversa del cuaternio q1 / q2 Retorna q1 * inv q2 norm (q) Retorna la magnitud del cuaternio plot (q) Genera una grafica 3D Define un vector Fila, en este caso con X=[a b c] tres elementos Define un vector Columna, en este caso Y=[a;b;c] con tres elementos length(X) Muestra la longitud del vector (Fila, Columna) Y' Vector transpuesto Suma de dos vectores, si uno es fila y el X+Y otro columna genera error X+Y' Suma de un vector con un transpuesto a=i:f Crea un vector con los nmeros de i a f Crea un vector con los nmeros del i a f b=i:n:f que se encuentran cada n posiciones Crea un vector con los nmeros del i a f c=i:1.5:f que se encuentran cada 1.5 posiciones Crea un vector con los nmeros del f al i d=f:-1:i (Descendente) F=sin(C) Genera el seno de una funcin G=cos(C) Genera el coseno de una funcin A=magic (4) Crea una matriz de 4x4 con los nmeros de 1 a 16

A (2,3) A(3,1:4) A(2,:) A(end,:) A (2:4,:) x=A.\b [a b c d e].^n [a b c d e].*[m n o p q] Z=rand(a,n) Z(v) J=V(f:-1:i) V+e V*e a.*b a.^b a.\b c=dot(a,b) a'*b cross(A1,B1) A=[a b c;d e f;g h i] A' B*A B(g,d) B(g)

Tomar un elemento de la matriz a partir de los ndices fila columna Extrae los 4 primeros elementos de la tercera fila Extrae los elementos de la segunda fila Extrae la ultima fila Extrae los elementos de las filas 2 a 4 Para un sistema de ecuaciones lineales Ax=b, en donde x y b son vectores columna, y A es una matriz cuadrada invertible. Eleva un vector a un exponente n Multiplica dos vetores elemento a elemento Genera nmeros aleatrios entre 0 y a Seleccionar elementos de um vector a partir de otro vector Invierte el orden de los elementos de un vector Suma un escalar a un vector Multiplica un vector por un escalar Multiplica dos vectores Eleva cada elemento de un vector a la potencia de cada elemento de b Divide cada elemento de un vector b entre cada elemento de a Realiza el producto punto (Escalar) entre dos matrices Realiza el producto cruz (Vectorial) entre dos matrices Define una matriz de 3x3 Genera la transpuesta de una matriz Producto entre dos Matrices Si g y d son dos vectores de 2 elementos, toma los extremos de la su matriz delimitada por estos vectores. Si g es un numero, muestra el elemento de la matriz representado por este nmero, para determinar la posicin inicia por los elementos de la primer columna, desde la primer fila, luego la segunda, hasta llegar al elemento ubicado en la ltima columna y ltima fila. Si g es un vector, generar los elementos ubicados es la posicin determinada por cada

L(:,f:-1:i) fliplr(L) A+B A-B A/B A\B H.^p p.^H H^p diag(K) inv(K) det(K) rank(K) trace(K) norm(K) size(K) ones(n,m) ones(n) zeros(n,m) zeros(n) eye(n) eye(n,m) rotx(a) roty(a) rotz (a) frame ( TA , ' r ' , 1) ; Grid on TB = transl ( x , y, z )

elemento del vector. Invierte el orden de los elementos de todas las filas, ubicados entre las columnas final (f) e inicial (i). Invierte el orden de ls columnas de una matriz L Suma de Matrices Resta de Matrices Divisin de matrices Divisin de matrices Eleva los elementos de una matriz a un exponente Eleva un numero a cada uno de los elementos de una matriz Eleva una matriz a un exponente Genera los elementos de la diagonal de un matriz Genera la inversa de una matriz Genera el determinante de una Matriz Genera el grado de una matriz Genera l suma de los elementos de la diagonal Retorna la norma de la matriz Retorna el tamao de la matriz Generar una matriz de unos, con n filas y m columnas Generar una matriz de unos, nxn Generar una matriz de ceros, con n filas y m columnas Generar una matriz de ceros, nxn Generar una matriz de ceros, nxn, con diagonal unos Generar una matriz de ceros, nxm, con diagonal unos Genera la matriz de rotacin sobre el eje x para un ngulo a Genera la matriz de rotacin sobre el eje y para un ngulo a Genera la matriz de rotacin sobre el eje z para un ngulo a Define um frame sobre uma matriz (TA), color Rojo r, Verde g, Amarillo y, Azul b Activa la grilla en el frame Crea una matriz de traslacin

tr2eul ( T ) tr2rpy ( T )

Calcula los ngulos de Euler de la transformacin T Calcula los ngulos RPY de la transformacin

2. Realizar los ejercicios que se muestran en la unidad 1 del mdulo del


curso, aplicando cada uno de los comandos indicados y realizando pantallazos de las operaciones realizadas en la herramienta computacional (MATLAB SCILAB).

Explicativos operaciones con matrices

Matrices de transformacin homognea: posicin Ejercicios ilustrativos 1. Segn la figura, en el sistema O'UVW esta trasladado un vector p(6,3,8) con respecto al sistema OXYZ. Calcular las coordenadas (rx,ry,rz) del vector r cuyas coordenadas con respecto al sistema O'UVW son ruvw (2,7,3).

Solucin: Procedemos a ingresar los valores y aplicamos la ecuacin (I)

2. Calcular el vector r'xyz resultante de trasladar al vector rxyz(4,4,11) segn la transformacin T(p) con % p(6,3,8) (ver figura adjunta).

Solucin: Procedemos a ingresar los valores y aplicamos la ecuacin (II)

Matrices de transformacin homognea: rotacin Ejercicios ilustrativos 1. Segn la figura adjunta, el sistema 0UVW se encuentra girado 90 grados alrededor del eje OZ con respecto al sistema OXYZ. Calcular las coordenadas del vector rxyz si ruvw=[4,8,12]'

Solucin: Procedemos a ingresar los valores inicialmente para construir la matriz T(z,c),ecuacin (III) Tzc=[0 1 0 0;-1 0 0 0;0 0 1 0;0 0 0 1], y luego construimos la matriz ruvw utilizando la informacin entregada [ru rv rw 1]'= ruvw=[4,8,12,1]'. Luego aplicamos [rx ry rz 1]'=T[ru rv rw 1]' , ecuacin (IV)

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

Solucin: Procedemos a ingresar los valores inicialmente para construir la matriz T(z,c), ecuacin (III) Procedemos a utilizar la ecuacin [rx ry rz 1]'=T[ru rv rw 1]' ecuacin (IV) En donde, la matriz de transformacin T((x,a),p)= [1 0 0 px;0 cosa sena py; 0 sena cosa pz; 0 0 0 1] (VI) queda as

Matrices de transformacin homognea: traslacin seguida de rotacin Ejercicios ilustrativos 1. Un sistema OUVW ha sido trasladado un vector p(8,-12,-4) con respecto al sistema OXYZ y girado 90 grados alrededor del eje OX (figura adjunta). Calcular las coordenadas (rx,ry,rz)del vector r de coordenadas ruvw (-3,4,11).

Solucin: Procedemos a ingresar los valores inicialmente para construir la matriz T(p,(x,a)),ecuacin (I)

Tpxa=[1 0 0 8;0 0 -1 -12;0 1 0 -4;0 0 0 1], y luego construimos la matriz [ru rv rw 1]'= ruvw=[-3,4,-11,1]' Ahora ya podemos aplicar Tpxa=[1 0 0 8;0 0 -1 -12;0 1 0 -4;0 0 0 1]

Composicin de matrices homogneas: Se quiere obtener la matriz de transformacin que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante un giro de Angulo de 90 grados alrededor del eje OX, de una traslacin de vector p x,y,z (5,5,10) y un giro de 90 grados sobre el eje OZ. Solucin: Procedemos a ingresar los valores de la matriz T(p): Tp=[1 0 0 5;0 1 0 5;0 0 1 10;0 0 0 1], y empleando comandos especiales de ejecucin directa:

Representacin de un cuadro de referencia:

B. Representacin de dos cuadros de referencia { b } y { c } generados a partir de { a } mediante traslacin { b } ser trasladado a las coordenadas ( 3 , 5 , 0 ) { c } ser trasladado a las coordenadas ( -2, -4, 1 )

Transformacin translacional: Ejercicio:

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

Solucin:

Representacin de la orientacin: Representacin de dos cuadros de referencia { b } y { c } generados a partir de { a } mediante rotacin

{ B } sera rotado 30 grados en torno al eje X { C } sera rotado 60 grados en torno al eje Z Por lo tanto, las tareas a ejecutar serian:

. Transformacin rotacional: ejercicio El sistema OUVW se encuentra girado 90 grados alrededor del eje OZ con respecto al sistema OXYZ. Calcular las coordenadas del vector rxyz si ruvw = [4 8 12 ]'. Solucin

Representacin de la posicin y orientacin Representacin de dos cuadros de referencia { b } y { c } generados a partir de { a } mediante rotacin y traslacin { b } ser rotado 30 grados en torno al eje X y trasladado a las coordenadas ( 3 , 5 , 0 ) { C } ser rotado 60 grados en torno al eje Z y trasladado a las coordenadas ( -2, -4, 1 ) Por lo tanto, las tareas a ejecutar serian:

Concatenacin de las operaciones de traslacin y orientacin

Trabajo con ngulos de Euler:

CONCLUSIONES
-

Luego de la elaboracin de los anteriores ejercicios se hace evidente la utilidad que MATLAB ofrece para los trabajos que requieren cualquier tipo de operaciones matemticas. El MATLAB, tiene gran cantidad de comandos que se utilizan en la programacin y diseo de robot. Con estos ejercicios se logro el conocer de manera rpida la manera de utilizar el software y la sintaxis requerida para los diferentes comandos.

BIBLIOGRAFIA
-

Freddy F. Valderrama Gutirrez, Mdulo de Robtica, Universidad Nacional Abierta y a Distancia, CEAD Duitama, Julio, 2008. Recuperado el 11 de abril de 2012. Pertuz Campo, Jairo, Modulo de Robtica Avanzada, Universidad Nacional Abierta y a Distancia, Bogot, Colombia. Recuperado el 08 de abril de 2012. Jaln, Javier.Rodriguez I,Vidal J. Aprenda matlab. Universidad Politcnica

de Madrid. Madrid,diciembre de 2005. Recuperado el dia 05 de marzo de 2012 de la web. mat21.etsii.upm.es/ayudainf/.../Matlab70/matlab70primero.pdf

You might also like