ROBÓTICA
Introducción a MatLab
A continuación se muestran algunos ejemplos de operaciones con MatLab:
Para las columnas se utiliza el espacio en blanco como separador
y el punto y coma para las filas.
Pueden extraerse submatrices o elementos de una matriz:
A(0,3)La primera línea extrae el elemento de matriz (3,3).
A(2:3,1:3)
A(2:3,:)
A(:,1)
Problema Cinemático Directo
Como ya se ha indicado, Matlab es una herramienta apropiada para el
análisis y simulación de problemas robóticos. Por
ejemplo, para dibujar 21 puntos de la trayectoria que recorre el ET de
un manipulador RIR (con enlaces de longitud L1=L2=1)
cuando las dos variables rotacionales q1yq2
varían uniformemente de 0 a ,
habría que ejecutar los siguientes comandos:
![]() |
Ll=l;
L2=1; thl=0:(pi/2)/20:pi/2; th2=0:(pi/2)/20:pi/2; px=Ll*cos(thl)+L2*cos(thl+th2) py=Ll*sin(thl)+L2*sin(thl+th2) plot(pX'PY) |
Las dos primeras instrucciones asignan a las longitudes de los enlaces
Ll=l y L2=1. Las dos siguientes instrucciones generan
dos vectores, th1 y th2, que contienen todos los valores de los ángulos
entre q1 y q2
que varían uniformemente de 0 a a
intervalos regulares de
por lo que se han tomado un total de 21 puntos de la trayectoria.
Posteriormente, se ha hecho uso de las ecuaciones cinemáticas 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 coordenandas X e Y, respectivamente. El comando plot dibuja el vector de valores de la variable dependiente py en función del vector de valores de la variable independiente py.
Las instrucciones anteriores pueden ser incluidas en un fichero de texto con extensión *.m por ejemplo, practica2.m, y ejecutadas en la línea de comando de MatLab con el comando practica2 (sin extensión). Las distintas partes de la práctica pueden separarse mediante comandos pause que detienen la ejecución (hasta que se pulse una tecla). MatLab incorpora comandos operativos como dir, cd y path, que tienen el mismo significado que sus correspondientes en MS-DOS. Para obtener información sobre los comandos y funciones básicas de Matlab existe un manual "on line" accesible con el comando help.
Uso de funciones:
donde p es la variable que se retorna, y pcd es el
nombre de la función seguido de los argumentos (entre paréntesis).
La variable p contiene en la primera fila la secuencia de coordenadas
X,
y en la segunda las Y. La función debe escribirse en un fichero
de texto separado cuyo nombre debe ser el de la función seguido
de la extensión .m (pcd.m en este caso).
Haciendo uso de la función anterior, la trayectoria anterior
se trazaría mediante:
En este caso, el comando plot dibuja la segunda fila de la matriz
p
en función de la primera.
Gráfica de la configuración espacial del robot
El comando axis asegura que en sucesivos plot´s
se conservan los rangos X e Y de la gráfica.
Trazado de la trayectoria:
En cada punto debe dibujarse el robot en la posición actual y la trayectoria desarrollada hasta ese momento (a modo de "rastro"). Para dibujar la trayectoria pueden ir acumulándose en una matriz de dos filas los puntos ya recorridos de la trayectoria:Npuntos=10;for n=0 : Npuntos
thl=(Pi/2)*n/Npuntos;
th2=(p¡/2)*n/Npuntos;... (a completar)
pause
clf
end
Para su realización, debe tenerse en cuenta que MatLab tiene disponibles instrucciones de control de flujo similares a las del lenguaje C (if-else-end y while-end). Además, para simular el movimiento pueden usarse los comandos pause (detiene la ejecución hasta que se pulsa una tecla), cif (borra el contenido de un gráfico sin eliminar la ventana correspondiente), y hold on y hold off, que permiten añadir una curva en un gráfico ya creado anteriormente (esto permite superponer la gráfica de la trayectoria a la del robot). Al final de la trayectoria, la ventana de simulación debería presentar el gráfico indicado en la figura 1
Problema Cinemático InversoNormalmente las trayectorias se expresan en coordenadas cartesianas que deben ser traducidas a variables de articulación. Esto es lo que se conoce como problema cinemático inverso. Las ecuaciones correspondiente para el robot RR son:
(1)
Por ejemplo, una trayectoria rectilínea entre dos puntos cualesquiera (x1, y1) y (x2, y2) tiene la siguiente expresión:
Escribir un programa que simule el movimiento del robot y dibuje la
trayectoria (similar al realizado en el apartado anterior) para un movimiento
rectilíneo entre dos puntos cualesquiera. Para ello, se utilizará
la función robot de los apartados anteriores y se construirá
una nueva función pci que implemente
las ecuaciones (1). Debe tenerse en cuenta que las funciones acos (arco
coseno) y atan (arco tangente) de Matlab toman valores en los intervalos
[o,] y
[-
,
],
respectivamente.
Con este programa se probarán las siguientes trayectorias:
Finalmente, se dibujarán las funciones temporales de las
variables de articulación q1
=q1(n) y q2=q2(n),
donde n representa el instante de muestreo temporal.
Última actualización 3 Abril de 2000