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. Electrónico

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

INTRODUCCION La robótica, por ser una ciencia que involucra gran cantidad de cálculos matemáticos, la mayoría relacionados con desplazamientos, velocidades, rotaciones, etc.; está estrechamente ligada al algebra lineal y vectorial entre otras disciplinas. El diseño de sistemas robóticos, 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 matemático que resultan de gran ayuda para las personas que realizan las tareas de diseño y programación de robots. Una de esas herramientas es el MATLAB, el cual permite realizar toda una serie de cálculos, encaminados al desarrollo de proyectos que involucren modelamiento matemático. Es el propósito de este trabajo el dar a conocer de manera rápida 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 cuáles se
mencionan a lo largo de la primera unidad

TABLA DE COMANDOS DE MATLAB UTILIZADOS EN ROBOTICA AVANZADA COMANDOS MATLAB SINTAXIS FUNCIÓN 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 composición 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 números de i a f Crea un vector con los números del i a f b=i:n:f que se encuentran cada n posiciones Crea un vector con los números del i a f c=i:1.5:f que se encuentran cada 1.5 posiciones Crea un vector con los números del f al i d=f:-1:i (Descendente) F=sin(C) Genera el seno de una función G=cos(C) Genera el coseno de una función A=magic (4) Crea una matriz de 4x4 con los números de 1 a 16

toma los extremos de la su matriz delimitada por estos vectores.:) A(end. y A es una matriz cuadrada invertible. hasta llegar al elemento ubicado en la última columna y última fila. Eleva un vector a un exponente n Multiplica dos vetores elemento a elemento Genera números aleatórios 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.A (2.^n [a b c d e].*b a.\b [a b c d e]. Si g es un numero.b) a'*b cross(A1.^b a. en donde x y b son vectores columna. luego la segunda. para determinar la posición inicia por los elementos de la primer columna. desde la primer fila. Si g es un vector.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.3) A(3.1:4) A(2.\b c=dot(a.d e f.:) A (2:4. generar los elementos ubicados es la posición determinada por cada .g h i] A' B*A B(g.B1) A=[a b c.:) x=A.n) Z(v) J=V(f:-1:i) V+e V*e a. muestra el elemento de la matriz representado por este número.*[m n o p q] Z=rand(a.

y. Verde “g”. Invierte el orden de los elementos de todas las filas.m) rotx(a) roty(a) rotz (a) frame ( TA . ubicados entre las columnas final (f) e inicial (i). Grid on TB = transl ( x .^H H^p diag(K) inv(K) det(K) rank(K) trace(K) norm(K) size(K) ones(n. Invierte el orden de ls columnas de una matriz L Suma de Matrices Resta de Matrices División de matrices División 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 tamaño de la matriz Generar una matriz de unos. ' r ' . nxn Generar una matriz de ceros. nxn.f:-1:i) fliplr(L) A+B A-B A/B A\B H. con n filas y m columnas Generar una matriz de ceros. z ) elemento del vector. con diagonal unos Genera la matriz de rotación sobre el eje x para un ángulo a Genera la matriz de rotación sobre el eje y para un ángulo a Genera la matriz de rotación sobre el eje z para un ángulo a Define um frame sobre uma matriz (TA). nxn Generar una matriz de ceros. Amarillo “y”.^p p. nxm.L(:. con diagonal unos Generar una matriz de ceros. 1) . Azul “b” Activa la grilla en el frame Crea una matriz de traslación . con n filas y m columnas Generar una matriz de unos. color Rojo “r”.m) zeros(n) eye(n) eye(n.m) ones(n) zeros(n.

aplicando cada uno de los comandos indicados y realizando pantallazos de las operaciones realizadas en la herramienta computacional (MATLAB ó SCILAB). Realizar los ejercicios que se muestran en la unidad 1 del módulo del curso.tr2eul ( T ) tr2rpy ( T ) Calcula los ángulos de Euler de la transformación T Calcula los ángulos RPY de la transformación 2. .

.

.

.

.

.

Explicativos operaciones con matrices .

.

.

.

.

8) con respecto al sistema OXYZ.3). Según la figura.rz) del vector r cuyas coordenadas con respecto al sistema O'UVW son ruvw (2.7. Calcular las coordenadas (rx.Matrices de transformación homogénea: posición Ejercicios ilustrativos 1. en el sistema O'UVW esta trasladado un vector p(6.ry.3. .

4.3.8) (ver figura adjunta). Solución: Procedemos a ingresar los valores y aplicamos la ecuación (II) .Solución: Procedemos a ingresar los valores y aplicamos la ecuación (I) 2. Calcular el vector r'xyz resultante de trasladar al vector rxyz(4.11) según la transformación T(p) con % p(6.

ecuación (III) Tzc=[0 1 0 0. Luego aplicamos [rx ry rz 1]'=T[ru rv rw 1]' .1]'. el sistema 0UVW se encuentra girado 90 grados alrededor del eje OZ con respecto al sistema OXYZ.-1 0 0 0. Calcular las coordenadas del vector rxyz si ruvw=[4.8.8. y luego construimos la matriz ruvw utilizando la información entregada [ru rv rw 1]'= ruvw=[4.Matrices de transformación homogénea: rotación Ejercicios ilustrativos 1.0 0 0 1]. Según la figura adjunta.12.12]' Solución: Procedemos a ingresar los valores inicialmente para construir la matriz T(z. ecuación (IV) .0 0 1 0.c).

4. Un sistema OUVW ha sido girado 90 grados alrededor del eje OX y posteriormente trasladado un vector p(8.p)= [1 0 0 px. Solución: Procedemos a ingresar los valores inicialmente para construir la matriz T(z.-11).a). 0 0 0 1] (VI) queda así .0 cosa –sena py. ecuación (III) Procedemos a utilizar la ecuación [rx ry rz 1]'=T[ru rv rw 1]' ecuación (IV) En donde.rz) del vector r con coordenadas ruvw(-3. la matriz de transformación T((x.c).12) con respecto al sistema OXYZ (figura adjunta).2.4. Calcular las coordenadas (rx.ry. 0 sena cosa pz.

11).4.rz)del vector r de coordenadas ruvw (-3. Solución: Procedemos a ingresar los valores inicialmente para construir la matriz T(p.Matrices de transformación homogénea: traslación seguida de rotación Ejercicios ilustrativos 1.a)). Calcular las coordenadas (rx.-4) con respecto al sistema OXYZ y girado 90 grados alrededor del eje OX (figura adjunta). Un sistema OUVW ha sido trasladado un vector p(8.ry.(x.-12.ecuación (I) .

de una traslación de vector p x. y empleando comandos especiales de ejecución directa: .0 1 0 5.0 0 -1 -12.0 1 0 -4.Tpxa=[1 0 0 8. y luego construimos la matriz [ru rv rw 1]'= ruvw=[-3.5.0 0 0 1].0 0 0 1].0 0 0 1] Composición de matrices homogéneas: Se quiere obtener la matriz de transformación que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante un giro de Angulo de 90 grados alrededor del eje OX. Solución: Procedemos a ingresar los valores de la matriz T(p): Tp=[1 0 0 5.0 0 1 10.10) y un giro de 90 grados sobre el eje OZ.4.0 1 0 -4.y.-11.z (5.1]' Ahora ya podemos aplicar Tpxa=[1 0 0 8.0 0 -1 -12.

-4.Representación de un cuadro de referencia: B. 1 ) . Representación de dos cuadros de referencia { b } y { c } generados a partir de { a } mediante traslación { b } será trasladado a las coordenadas ( 3 . 5 . 0 ) { c } será trasladado a las coordenadas ( -2.

Transformación translacional: Ejercicio: .

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

.

las tareas a ejecutar serian: .Representación de la orientación: Representación de dos cuadros de referencia { b } y { c } generados a partir de { a } mediante rotación { B } sera rotado 30 grados en torno al eje X { C } sera rotado 60 grados en torno al eje Z Por lo tanto.

.

. Transformación 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 ]'. Solución .

Representación de la posición y orientación Representación de dos cuadros de referencia { b } y { c } generados a partir de { a } mediante rotación y traslación { b } será rotado 30 grados en torno al eje X y trasladado a las coordenadas ( 3 . 0 ) { C } será rotado 60 grados en torno al eje Z y trasladado a las coordenadas ( -2. 1 ) Por lo tanto. las tareas a ejecutar serian: . 5 . -4.

.

Concatenación de las operaciones de traslación y orientación .

.

.

Trabajo con Ángulos de Euler: .

CONCLUSIONES - Luego de la elaboración de los anteriores ejercicios se hace evidente la utilidad que MATLAB ofrece para los trabajos que requieren cualquier tipo de operaciones matemáticas. El MATLAB. - . tiene gran cantidad de comandos que se utilizan en la programación y diseño de robot. Con estos ejercicios se logro el conocer de manera rápida la manera de utilizar el software y la sintaxis requerida para los diferentes comandos.

Recuperado el dia 05 de marzo de 2012 de la web. Universidad Nacional Abierta y a Distancia. Recuperado el 11 de abril de 2012./Matlab70/matlab70primero.es/ayudainf/.Rodriguez I. 2008. Recuperado el 08 de abril de 2012.. Aprenda matlab. Jairo. Universidad Nacional Abierta y a Distancia. Módulo de Robótica. Julio. Colombia.. Pertuz Campo. Modulo de Robótica Avanzada. CEAD Duitama. Javier. Jalón. Universidad Politécnica - - de Madrid.etsii.Vidal J. Madrid.BIBLIOGRAFIA - Freddy F. mat21.pdf . Bogotá.upm. Valderrama Gutiérrez.diciembre de 2005.