Está en la página 1de 8

UNIVERSIDAD CATOLICA DE SANTA MARIA Página:1/8

FACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES


ESCUELA PROFESIONAL Jefe de Prácticas:
INGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA Ing. Juan Carlos Cuadros
Laboratorio de Robótica I
Código: 4M09086
Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL Semestre: IX
Grupo: 1 2 3 4
Apellidos y Nombres: Lab. Nº 02 FECHA: 30/mar/23

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.

II. MARCO TEÓRICO


LOCALIZACIÓN ESPACIAL
Especificación conjunta de la posición y orientación de un sólido
rígido en el espacio, con respecto a un sistema de referencia fija
S={O,X,Y,Z}
W V
Al sólido rígido se le asocia un sistemas de coordenadas (dextrógiro) S’= U
{O’,U,V,W}
La posición y orientación del sólido con respecto al sistema S, queda
totalmente determinada por la del sistema S´ con respecto a S
Z
Representación de la posición:
Y
Vector de posición en coordenadas:
– Cartesianas
X
– Cilíndricas
– Esféricas

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

Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL LAB N° 2 JP: Ing. JCC

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

Usos de las matrices de rotación:


La matriz de rotación R permite:
1. Representar la orientación del sistema móvil S’ con respecto al fijo S
2. Obtener las coordenadas de un punto en el sistema S, conocidas sus coordenadas en el sistema móvil
3. Obtener en qué punto b se convierte un punto a si se rota.
Laboratorio de Robótica I Página: 3/8

Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL LAB N° 2 JP: Ing. JCC

Propiedades de las matrices de rotación:


• Son matrices ortonormales:
– Sus vectores por columnas o por filas son ortonormales entre si:
• Producto escalar
– de un vector por otro cualquiera = 0
– de un vector por si mismo =1
• Producto vectorial
– de un vector por el siguiente da el tercero
• Su Inversa coincide con su Traspuesta
• Su determinante es la unidad
Características del uso de las matrices de rotación para representar una orientación:
• Su composición se realiza mediante el álgebra de matrices (facilidad de uso)
• Precisan 9 elementos (redundancia)
• Riesgo de inconsistencia tras varias operaciones (redondeos)
– Adecuadas para la formulación y el cálculo manual
Inadecuadas para el cálculo computacional
II.2. ÁNGULOS DE EULER
Todo sistema OUVW solidario al cuerpo cuya orientación se quiere describir, puede definirse con respecto al sistema
OXYZ mediante tres ángulos: , , , denominados ángulos de Euler que representan los valores de los giros a
realizar sobre tres ejes ortogonales entre si. Hay la posibilidad de especificar los giros sobre ejes fijos (XYZ) o sobre
ejes móviles (UVW). Existen diversas posibilidades, siendo las más usuales las siguientes:

Ángulos de Euler WUW


• Girar el sistema OUVW un ángulo  con respecto al eje OZ,
convirtiéndose así en el OU'V'W'.
• Girar el sistema OU'V'W' un ángulo  con respecto al eje OU',
convirtiéndose así en el OU''V''W''.
• Girar el sistema OU''V''W'' un ángulo  con respecto al eje OW''
convirtiéndose finalmente en el OU'''V'''W'''

Ángulos de Euler WVW


• Girar el sistema OUVW un ángulo  con respecto al eje OZ,
convirtiéndose así en el OU'V'W'.
• Girar el sistema OU'V'W' un ángulo  con respecto al eje OV',
convirtiéndose así en el sistema OU''V''W''.
• Girar el sistema OU’’V’’W’’ un ángulo  con respecto al eje OW'',
convirtiéndose finalmente en el OU'''V'''W'''.
Laboratorio de Robótica I Página: 4/8

Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL LAB N° 2 JP: Ing. JCC

Ángulos de Euler XYZ


• Giros entorno a los ejes fijos (XYZ)
• Guiñada-Cabeceo-Alabeo
• Yaw-Pitch-Roll
• Girar el sistema OUVW un ángulo y con respecto al eje OX.
(Yaw)
• Girar el sistema OUVW un ángulo q con respecto al eje OY.
(Pitch)
• Girar el sistema OUVW un ángulo f con respecto al eje OZ.
(Roll)
Características del uso de Ángulos de Euler para representar una orientación
• No existe un álgebra para concatenar o componer rotaciones.
• Precisan 3 elementos.
• Poco intuitivos,
– Inadecuadas para la formulación y el cálculo manual
– Inadecuados para el cálculo computacional

II.3. PAR DE ROTACIÓN

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.

k es el vector propio real de la matriz de rotación.


 se puede obtener como el argumento de los valores propios complejos de la matriz de rotación
II.4. CUATERNIOS
Un cuaternio Q está formado por cuatro componentes (q0,q1,q2,q3) que representan las coordenadas del cuaternio
en una base {e,i,j,k}.
Sobre ellos se define una ley de composición interna (producto), con la que forman una estructura de grupo cíclico.
A cada par de rotación se le asocia un cuaternio definido por:

𝜃 𝜃
𝑄 = 𝑅𝑜𝑡(𝒌, 𝜃) = (𝑐𝑜𝑠 , 𝒌𝑠𝑒𝑛 )
2 2
Laboratorio de Robótica I Página: 5/8

Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL LAB N° 2 JP: Ing. JCC

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:

III. MATERIAL Y EQUIPO

III.1. Una PC con SO Windows y MATLAB con el Robotics Toolbox instalado.

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.

Utilice MATLAB para realizar las siguientes tareas:

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

Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL LAB N° 2 JP: Ing. JCC

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:

vector_integral = cumtrapz (vector_x, vector_y)

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.7. Varíe la velocidad angular y experimente con los resultados obtenidos.

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.9.1. Rotar un ángulo de 90º respecto del eje ZA.


IV.9.2. Rotar un ángulo de 45º respecto del eje XB.
IV.9.3. Rotar un ángulo de 30º respecto del eje ZB.
Laboratorio de Robótica I Página: 7/8

Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL LAB N° 2 JP: Ing. JCC

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.

• Resuelva empleando adecuadamente las funciones desarrolladas por Ud.


en el procedimiento. Explique.

• Resuelva aplicando adecuadamente las funciones proporcionadas por el


Robotics Toolbox. Explique.

• Contraste los resultados obtenidos en ambas resoluciones.


Laboratorio de Robótica I Página: 8/8

Tema: HERRAMIENTAS DE ORIENTACIÓN ESPACIAL LAB N° 2 JP: Ing. JCC

VI.1. Realice todo el procedimiento anteriormente descrito y presente en un informe detallado el desarrollo de
todos los pasos indicados.

VI. CONCLUSIONES y OBSERVACIONES

VI.1. Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado

• _____________________________________________________________________________________
• _____________________________________________________________________________________
• _____________________________________________________________________________________
• _____________________________________________________________________________________
• _____________________________________________________________________________________

También podría gustarte