Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Untitled
Untitled
I. OBJETIVO
I.1. Emplear las herramientas matemáticas de orientación espacial en la solución de problemas de localización
espacial de robots.
I.2. Construir programas que permitan automatizar el uso de las herramientas de orientación espacial.
I.3. Emplear los programas construidos en la solución de problemas de orientación y localización espacial de robots.
El vector p =(px,py,pz) que une el origen de O con O’ representa la posición del sólido. También permite conocer las
coordenadas de un punto a en el sistema S’ a partir de sus coordenadas en S’ =(au,av,aw)
a x p x a u
a y = p y + a v
a p a w
z z
Representación de la orientación:
II.1. MATRICES DE ROTACIÓN
Un punto queda totalmente definido en el espacio a través de los datos de su posición. Tratándose de un sólido es
necesario además definir cuál es su orientación con respecto a un sistema de referencia. Una orientación en el
espacio tridimensional viene definida por tres grados de libertad o tres componentes linealmente independientes.
Las matrices de rotación son el método más extendido para la descripción de orientaciones. Para su uso se
emplea algebra matricial.
Laboratorio de Robótica I Página: 2/8
Matrices de Rotación 2D
Un punto p tendrá por coordenadas pxy o puv
Matrices de Rotación 3D
Composición de rotaciones:
Concatenación de rotaciones →Multiplicación de matrices
Las rotaciones se especifican con respecto a los EJES FIJOS → PREMULTIPLICAR
Orden de la composición:
Rotación sobre OX
Rotación sobre OY
Rotación sobre OZ
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 q se convierte el primer sistema en el segundo.
𝜃 𝜃
𝑄 = 𝑅𝑜𝑡(𝒌, 𝜃) = (𝑐𝑜𝑠 , 𝒌𝑠𝑒𝑛 )
2 2
Laboratorio de Robótica I Página: 5/8
Con esta definición de cuaternio y su álgebra, es posible manipular las rotaciones de manera equivalente a como
se hacía con las matrices de rotación.
Algebra de cuaternios:
IV. PROCEDIMIENTO
IV.1. Tome como valores D0=[0, 0.5] (en metros) y D1=[1, 0] (en metros y expresado en su sistema de referencia
OUV). Tenga en cuenta que hay que cambiar las coordenadas del punto D1 desde el sistema de referencia OXY
al O’UV. Tenga en cuenta que, para no dificultar la interpretación de la figura, no se ha indicado el origen O’,
que coincide en el espacio con D0.
IV.2. Defina dos vectores p, q en el plano y una variable escalar alfa con el valor 45º. Defina la matriz de rotación
R para el ángulo alfa. Realice los productos q=R*p, con diferentes valores de alfa y compruebe que la rotación
funciona correctamente. Recuerde que MATLAB trabaja por defecto con radianes.
IV.3. Defina los vectores VD0, VD1 (que contienen las coordenadas de los puntos D0 y D1 según sus respectivos
ejes) y calcule la posición del punto D1, según el sistema de referencia OXY, probando con los ángulos α=0º,
45º, 90º.
Laboratorio de Robótica I Página: 6/8
IV.4. Movimiento uniforme. Suponga que el eje que mueve el único segmento articulado del robot tiene una
velocidad angular constante de 1º por segundo. Genere una variable llamada vel_ang con tal valor. Cree un
vector fila llamado tiempo, que contenga el valor de tiempo para un periodo de 45 segundos, tomadas cada 0,5
segundos (su contenido será [0 0.5 1 1.5 2 .... 44.5 45]). Genere otro vector ang que contenga los ángulos
en el mismo intervalo, multiplicando vel_ang por el vector tiempo. Utilice ahora un bucle for para calcular todos
los puntos de la trayectoria del actuador final del robot en los 45 segundos. Dicho bucle realizará la siguiente
multiplicación:
posiciones=VD0 + Rang(i)*VD1
donde Rang(i) es la matriz de rotación calculada para el ángulo dado por ang(i). Todos los puntos se
almacenarán en una matriz de dimensión 2×n llamada posiciones, donde n es la dimensión del vector tiempo.
Genere la gráfica (usando plot) de todas las coordenadas x frente a las y, que sería el movimiento del actuador
del robot.
IV.5. Movimiento uniforme integrando con MATLAB. Averigüe ahora el ángulo de rotación para cada instante
integrando la velocidad para obtener los ángulos, utilizando la función de MATLAB:
que calcula la integral acumulativa por el método del trapecio, de vector_y respecto de vector_x.(es decir, se
pueden usar los vectores del apartado anterior tiempo, y un vector con todos sus elementos iguales a vel_ang).
Tenga en cuenta que ambos vectores han de tener el mismo número de componentes. Suponga que el ángulo
inicial es cero. Genere una gráfica del ángulo de la articulación respecto del tiempo.
IV.6. Partiendo del vector de ángulos generado en el paso anterior, y del método de transformación de
coordenadas, mencionado anteriormente, calcule la posición respecto del sistema OXY del extremo final del
segmento del robot para cada uno de los valores angulares previamente calculados. Genere una gráfica (plot)
en la que se muestre la trayectoria del extremo final del robot. La gráfica debe ser igual a la del paso IV.4.
IV.8. EJERCICIOS ADICIONALES: Cree una función que calcule el movimiento del robot, de forma que reciba
como parámetros un vector columna de ángulos y devuelva una matriz con las posiciones x,y correspondientes
a tales ángulos. La matriz tendrá 2 filas y tantas columnas como ángulos componentes del vector ang haya. El
prototipo (declaración) de la función será:
function pxy = robot1 (ang). (Recuerde el operador size)
Realice lo siguiente:
IV.9. Deducir la matriz de rotación resultante de realizar las siguientes operaciones respecto de dos sistemas de
referencia {A} fijo y {B} móvil y representar en un diagrama dichas operaciones:
IV.10. Escriba programas (funciones) en MATLAB para calcular las matrices de rotación básicas, dados como
parámetros el eje de giro y el ángulo de rotación.
IV.11. Escriba programas (funciones) en MATLAB para calcular las matrices de rotación básicas, dados como
parámetros el eje de giro y el ángulo de rotación, en forma simbólica.
IV.12. Solucione el problema del ítem IV.9 empleando las funciones implementadas en los dos ítems anteriores.
Contrastar los resultados obtenidos con el resultado teórico.
IV.13. Desarrollar un programa en MATLAB que permita realizar composición de matrices de rotación y se adapte
a la solución de problemas de orientación espacial empleando esta herramienta. El programa proporcionará
respuestas numéricas y respuestas simbólicas según sea el problema.
IV.14. Deducir la matriz que representa la rotación de un ángulo de 45º alrededor de un eje dado por el vector
k=[1,1,2]T. Obtener los ángulos roll, pitch y yaw alrededor de los ejes principales del S.R. que orientan el S.R.
de la misma forma que esta rotación alrededor del eje k. Revisar la posibilidad de emplear MATLAB en la
solución del problema.
IV.15. Escriba un programa en MATLAB para calcular la matriz de rotación R cuando el usuario introduzca los
ángulos de Euler XYZ
IV.16. Escriba un programa MATLAB que calcule los ángulos de Euler XYZ cuando el usuario introduzca la matriz
de rotación R.
IV.17. Escriba programas (funciones) en MATLAB para solucionar problemas de orientación espacial con
cuaternios y su algebra, tanto en forma numérica como simbólica.
IV.18. Obtener el cuaternio que representa una rotación de 90° sobre el eje k(3,-2,1). Rot(k,90°). Aplique sus
funciones Matlab para las operaciones de la solución. Luego crear un script solución del problema. Contraste
sus resultados con la respuesta analítica.
V. CUESTIONARIO FINAL
V.1.Investigue en el rvctools acerca de las funciones que realicen los cálculos y proporcionen resultados iguales o
similares a las funciones desarrolladas por Ud. en el procedimiento.
V.2.Desarrolle el problema del ítem IV.9 con ayuda de las funciones del toolbox de robótica y contraste los
resultados con los obtenidos por las funciones desarrolladas por Ud. en el procedimiento.
VI. Considere la figura siguiente, se pide: Determinar el cuaternio que moverá directamente el objeto desde la
posición 2 a la 1.
VI.1. Realice todo el procedimiento anteriormente descrito y presente en un informe detallado el desarrollo de
todos los pasos indicados.
VI.1. Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado
• _____________________________________________________________________________________
• _____________________________________________________________________________________
• _____________________________________________________________________________________
• _____________________________________________________________________________________
• _____________________________________________________________________________________