Este documento describe diferentes representaciones de la posición y orientación en el plano y el espacio, incluyendo coordenadas cartesianas, polares, cilíndricas y esféricas. También explica cómo representar traslaciones, rotaciones y combinaciones de ambas mediante matrices de transformación homogénea, y cómo aplicar estos conceptos a robótica móvil y brazos articulados. Finalmente, analiza ángulos de Euler y RPY para representar orientaciones y sus equivalencias con matrices de rotación.
10. Representación en el espacio (III) Rotaciones sobre sistema de coordenadas cartesianas globales
11. Representación en el espacio (IV) Existen 12 combinaciones de rotación independientes
12. Representación en el espacio (V) Ángulos XYZ ó Ángulos RPY Ángulos de balanceo (Roll), inclinación (Pitch) y orientación (Yall) Orden de rotación: X,Y,Z Toolbox de Robótica: rpy2tr(, , )
13. Ángulos RPY Toolbox de Robótica: rpy2tr(, , )
14. Ángulos RPY como producto de rotaciones % Rotación RPY % (gamma, beta, alpha) TB=rpy2tr(pi/6,pi/4,pi/5)*TA; Las rotaciones se realizan alrededor de los ejes originales o globales
15. Representación en el espacio (VI) Combinación de traslación y rotación Giróscopo adjunto a un vehículo (, , ) Lateral Frontal Superior Variación angular w(rad/s)
17. Representación en el espacio (VIII) Programa en Matlab >> porg=[3 4 5 0]' porg = 3 4 5 0 >> pb=[-1 3 4 1]' pb = -1 3 4 1 >> porg+rpy2tr(pi/6,pi/3,pi/8)*pb ans = 6.2810 6.0064 8.3481 1.0000
18. Representación en el espacio (IX) ¿Posición del punto que representa el extremo del eslabón después de rotar primero pi/2 en Y y después pi/6 en Z? El punto está en: Después de las dos rotaciones:
19. Representación en el espacio (X) Solución con MATLAB >> pb=[0 2*cos(pi/8) 2*sin(pi/8) 1]‘ >> pa=rotz(pi/6)*roty(pi/2)*pb pa = -0.2611 1.9829 0.0000 1.0000
20. Representación en el espacio (XI) Después de rotar primero pi/2 en Y y después pi/6 en Z, se conoce que la posición del extremo del robot es la que se muestra. ¿De donde partió? Después de las dos rotaciones: La matriz R es ortogonal cuando:
21. Representación en el espacio (XII) Solución con MATLAB Usando la traspuesta pa= -0.2611 1.9829 0.0000 1.0000 >> pbb=roty(pi/2)'*rotz(pi/6)'*pa Usando la inversa >> pbb=inv(roty(pi/2))*inv(rotz(pi/6))*pa pbb= 0.0000 1.8478 0.7654 1.0000
22. Ángulos de Rotación Ángulos (, , ) a partir de la matriz de rotación RPY Solución degenerada Equivalencia entre la matriz de rotación y parámetros de Euler
23. Representación en el espacio (XI) Representación matricial de traslación y rotación Matriz de transformación homogénea Traslación Rotación
24. Definición de un cuadro de referencia origen % Se define una matriz % de transformación hogénea TA=[ 1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]; % Visualización de la matriz frame(TA,'b',1);
25. Traslación de un sólido en el espacio % Se define matriz de transformación hogénea TA=[1 0 0 0; 0 1 0 0 ; 0 0 1 0; 0 0 0 1]; % Traslación en xyz TB=transl(1,2,3)*TA;
26. Rotación de un sólido en el espacio % Se define matriz de % transformación hogénea TA=[1 0 0 0; 0 1 0 0 ; 0 0 1 0; 0 0 0 1]; % Rotación en y 45 grados TB=roty(pi/4)*TA; Matriz rotación
27. Rotación y traslación de un sólido en el espacio % Rotación en y 45 grados % y traslación xyz TB=transl(1,2,3)*roty(pi/4)*TA; frame(TA,'b',1.5); frame(TB,'r',1.5); axis([-1 3 -1 1 -1 5])
28. Representación en el espacio (XII) Inversión de la transformada Toolbox de Robótica: trinv(T)
35. Ángulos de Euler Z-Y-X Ángulos RPY: Se rota relativo al sistema {A} Ángulos Euler: Se rota relativo al sistema {B} móvil Solución equivalente a los Ángulos RPY rpy2tr(, , )
36. Ángulos de Euler Z-Y-Z echo off disp('Muestra de Ángulos de Euler Z-Y-Z') clear all TA=[1 0 0 0; 0 1 0 0 ; 0 0 1 0; 0 0 0 1]; TB=eul2tr(45,0,0); frame(TA,'b',1); frame(TB,'r',1);
37. Ángulos de Rotación Equivalencia entre la matriz de rotación y parámetros de Euler Ángulos ( , , ) a partir de la matriz de rotación Z-Y-Z Solución degenerada
38. Consideraciones computacionales Método A 63 multiplicaciones y 42 sumas Método B 27 multiplicaciones y 18 sumas Fuente: Craig, J.: Robótica. Tercera edición. 2006