Matlab Para Robotica
´ 1. Introduccion a MatLab
´ MatLab es un lenguaje de programacion interpretado en el que las variables pueden contener ´ ´ ´ vectores y matrices y, por tanto, las operaciones basicas aritmeticas y logicas pueden extenderse ´ a operaciones matriciales. Esto hace que MatLab sea una herramienta muy adecuada paracalcu´ ´ ´ lo matricial y, en concreto, para simulacion de robots. Se utilizara la version de MatLab situada en i:\elect\mtlb42\bin\matlab.exe. ´ A continuacion se muestran algunos ejemplos de operaciones con MatLab: ´ Asignacion de valores a vectores y matrices:
A=[1 2 3; 4 3 2; 3 2 1] x=[2; 1; 3]
Para las columnas se utiliza el espacio en blanco como separador y el punto y coma para las filas.Productos matriciales y escalares:
y=A*x z=x’*y w=x.*y
´ El primer producto representa la operacion de transformar el vector x con la matriz A. El segundo es el producto escalar de x por y, donde x’ representa el vector x traspuesto. El tercer producto tiene como resultado un vector w en el que cada componente se obtiene multiplicando las componentes las componentes correspondientes de x e y.Pueden extraerse submatrices o elementos de una matriz:
A(1,1) A(2:3,1:3) A(2:3,:) A(:,1)
´ La primera l´nea extrae el elemento de matriz (1,1). Notese que los vectores (y matrices) ı ´ ´ comienzan en las posicion 1, y no en el 0 como sucede en C. As´ pues, la primera instruccion ı extrae el primer elemento de la primera fila. Las l´neas segunda y tercera obtienen una ı submatriz que incluyelas dos ultimas filas (todas las columnas). El ultimo comando extrae ´ ´ la primera columna. 1
´ ´ Funciones y graficas: las funciones tambien se pueden manejan vectorialmente. Por ejem´ plo, para generar y dibujar la funcion sin(t), podemos ejecutar:
t=0:0.01:2*pi; y=sin(t); plot(t,y)
´ La primera instruccion genera un vector con los valores de la variable independiente t desde ´ ´ ı 0 hasta2π , incluido este ultimo, con incrementos de 0,01. As´, el vector t se compone de 21 elementos. El segundo comando genera el vector correspondiente con los valores de la ´ ´ ´ funcion, y el tercero dibuja la grafica de y en funcion de t. Los ”;” evitan que el resultado de ´ ´ ´ cada instruccion sea mostrado por pantalla (solo util en comandos que produzcan resultados ´ numericos).
´ 1.1.Problema Cinematico Directo
´ ´ Como ya se ha indicado, MatLab es una herramienta apropiada para el analisis y simulacion ´ de problemas roboticos. Por ejemplo, para dibujar 21 puntos de la trayectoria que recorre el EF de un manipulador RR (con enlaces de longitud L1 = L2 = 1) cuando las dos variables rotacionales θ1 y θ2 var´an uniformemente de 0 a π /2, habr´a que ejecutar los siguientes comandos:ı ı
Y
(x,y)
L2
θ2
L1 J1
J2
L1=1 L2=1 th1=0:(pi/2)/20:pi/2 th2=0:(pi/2)/20:pi/2 px=L1*cos(th1)+L2*cos(th1+th2) py=L1*sin(th1)+L2*sin(th1+th2) plot(px,py)
θ1 X
Las dos primeras instrucciones asignan a las longitudes L1 y L2 de los enlaces. Las dos siguientes instrucciones generan dos vectores, th1 y th2, que contienen todos los valores de los /2 ´ angulos θ1 y θ2 entre 0 y π/2, a intervalos regulares de π20 , por lo que se han tomado un total ´ de 21 puntos de la trayectoria. Posteriormente, se ha hecho uso de las ecuaciones cinematicas del manipulador para obtener las 21 posiciones cartesianas (x, y) consecutivas. Las variables px y py son dos vectores que contienen los 21 valores de las coordenadas X e Y , respectivamente. ´ El comando plot dibuja el vector devalores de la variable dependiente py en funcion del vector de valores de la variable independiente px. ´ Las instrucciones anteriores pueden ser incluidas en un fichero de texto con extension .m, por ejemplo, practica1.m, y ejecutadas en la l´nea de comando de MatLab con el comando practica1 ı ´ ´ (sin extension). Las distintas partes de la practica pueden separarse mediante comandos pause ´ que...
Regístrate para leer el documento completo.