Este documento describe diferentes métodos para parametrizar movimientos rígidos en 3D para aplicaciones de visión artificial. Presenta las rotaciones como matrices ortogonales, ángulos de Euler, y descomposición en rotaciones alrededor de los ejes. Evaluará el desempeño computacional de estas representaciones usando optimización numérica. El objetivo es seleccionar la mejor formulación para minimizar costos de cálculo y errores en aplicaciones de localización y seguimiento de objetos.
0 calificaciones0% encontró este documento útil (0 votos)
59 vistas6 páginas
Este documento describe diferentes métodos para parametrizar movimientos rígidos en 3D para aplicaciones de visión artificial. Presenta las rotaciones como matrices ortogonales, ángulos de Euler, y descomposición en rotaciones alrededor de los ejes. Evaluará el desempeño computacional de estas representaciones usando optimización numérica. El objetivo es seleccionar la mejor formulación para minimizar costos de cálculo y errores en aplicaciones de localización y seguimiento de objetos.
Este documento describe diferentes métodos para parametrizar movimientos rígidos en 3D para aplicaciones de visión artificial. Presenta las rotaciones como matrices ortogonales, ángulos de Euler, y descomposición en rotaciones alrededor de los ejes. Evaluará el desempeño computacional de estas representaciones usando optimización numérica. El objetivo es seleccionar la mejor formulación para minimizar costos de cálculo y errores en aplicaciones de localización y seguimiento de objetos.
Este documento describe diferentes métodos para parametrizar movimientos rígidos en 3D para aplicaciones de visión artificial. Presenta las rotaciones como matrices ortogonales, ángulos de Euler, y descomposición en rotaciones alrededor de los ejes. Evaluará el desempeño computacional de estas representaciones usando optimización numérica. El objetivo es seleccionar la mejor formulación para minimizar costos de cálculo y errores en aplicaciones de localización y seguimiento de objetos.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 6
Parametrizaciones de Movimientos Rígidos en 3D para Visión Artificial
María Lorena Bergamini, Jorge Alejandro Kamlofsky
CAETI – Facultad de Tecnología Informática Universidad Abierta Interamericana {maria.bergamini, jorge.kamlofsky}@uai.edu.ar
Resumen conjunto de movimientos de rotaciones constituye el
grupo especial ortogonal de tres dimensiones, SO(3). La visión estereoscópica se basa en captar dos Este grupo algebraico es isomorfo a las matrices de orden imágenes de una misma escena mediante un par de 3, ortogonales y con determinante positivo. sensores. Esta habilidad permite a muchos seres vivos Cualquier configuración de un objeto rígido que es realizar representaciones tridimensionales de su entorno. libre de rotar en relación a un sistema de referencia fijo Una de las técnicas usuales de visión robótica puede ser identificada con una matriz ortogonal con implementa esta habilidad analizando pares de imágenes determinante positivo, llamada matriz de rotación. Por obtenidas de un mismo objeto, y determinando un eso, el grupo SO(3) se lo conoce como espacio de conjunto de puntos homólogos. La posición relativa de configuración (Murray et al., 1994). las cámaras se modela con una transformación rígida en Existen diversas parametrizaciones para determinar el espacio: rotación y traslación. Por otra parte, estas orientaciones o configuraciones de un objeto (Diebel, transformaciones también son fundamentales al 2006, Kuipers, 2002). Las coordenadas más naturales son implementar sistemas automáticos de localización, el eje de rotación y el ángulo. orientación y seguimiento de objetos moviéndose en el Una alternativa es el uso de los llamados ángulos de espacio. Frente a las diversas alternativas de modelado y Euler para determinar la configuración rotacional de parametrización de las transformaciones rígidas, se objetos, principalmente en posicionamiento relativo de pretende analizarlas desde un enfoque unificado, vehículos aeroespaciales. Son tres ángulos que definen proponer variantes mejoradoras y medir y comparar su rotaciones con respecto a los tres ejes coordenados. desempeño computacional. Existen múltiples convenciones para el orden en que se consideran los ejes, y por lo tanto, múltiples conjuntos de ángulos que representan la misma configuración. 1. Introducción Otras herramientas matemáticas para el mismo fin son las matrices de rotación, y los cuaterniones. La estimación automática de la posición de un objeto Las relaciones entre ángulos de Euler, matrices de rígido moviéndose en el espacio tridimendional, a partir rotación y cuaterniones son clásicas, y existe una amplia de imágenes bidimensionales del objeto, o a partir de bibliografía referente al tema. En particular, Serrano et al. datos proporcionados por sensores ubicados en el mismo, (2014) realizan un profundo estudio de la justificación constituye un problema de fundamental importancia en la geométrica y algebraica de cada una de las tecnología actual. Y junto con la tarea de determinar la representaciones. posición, surge la necesidad de gobernar y controlar el Varios problemas en visión computacional y robótica movimiento automáticamente (Murray et al., 1994). involucran la tarea de encontrar los parámetros de la El desarrollo de herramientas matemáticas para configuración óptima, lo que implica un problema de cumplir esta tarea ha sido foco de investigaciones de optimización en SO(3). Por ejemplo, tal problema surge matemáticos e informáticos dedicados a visión en la determinación de la posición de una cámara, computacional, videojuegos y robótica. Estas conociendo un conjunto de puntos en imágenes tomadas aplicaciones requieren formas eficientes de representar por ésta. transformaciones de coordenadas en el espacio; sobre Dados puntos homólogos, puestos en correspondencia todo en operación y control online de cámaras o por medio de algoritmos de detección de características dispositivos robóticos. en un par de imágenes, se plantea el problema de estimar Un movimiento rígido o desplazamiento en el espacio la posición relativa de los puntos de toma. Dicha posición está compuesto por una traslación y una rotación. El puede establecerse como un elemento en SO(3), y se calcula de forma tal de minimizar el error de predicción a un movimiento de un cuerpo rígido). Esta matriz M en los puntos homólogos. Sarkis y Diepold estudian este tiene un autovalor 1 y el autovector asociado es el eje de problema, y proponen un algoritmo numérico para la rotación. optimizar en SO(3) (Sarkis Diepold, 2012). En R3, una rotación de un ángulo alrededor de un eje Es fundamental, a la hora de diseñar algoritmos de w = (x,y,z)t (de módulo 1) se puede modelar con la matriz localización, seguimiento y/o control de objetos, utilizar la mejor formulación, desde el punto de vista de minimizar el costo computacional, y la propagación de C + (1 − C) (1 − C) − S (1 − C) + errores de punto flotante. = (1 − C) + S C + (1 − C) (1 − C) − Existe una extensa literatura sobre las distintas (1 − C) − S (1 − C) + S C + (1 − C) parametrizaciones, pero muy pocas que muestren un (3) tratamiento unificado (Diebel, 2006; Serrano et al., 2014). Más aún, casi no hay trabajos que hagan una donde C = cos(), S = sen(). comparación computacional desde el punto de vista En esta representación ocurren singularidades, cuando práctico. El objetivo del presente trabajo es en primer lugar, = 0; no está bien definido el eje de rotación en tal caso. exponer unificadamente las distintas alternativas de Nótese que la condición de módulo 1 para el vector w representación de transformaciones rígidas en el espacio, puede evitarse si se escribe el eje en coordenadas la mayoría de ellas son las usuales, y para algunas se esféricas y , sugieren modificaciones. Además, se pretende evaluar el desempeño computacional de las diferentes w = (cos()sen(),sen()sen(),cos())t (4) parametrizaciones del grupo especial ortogonal, usando funciones de cálculo numérico y algoritmos de Así, la matriz M depende de los tres parámetros, , y . optimización genéricos en librerías de software de Esta formulación será denotada 3’. Esta representación computación numérica. también tiene singularidades, por ejemplo, el vector w = En la siguiente sección se presentan las distintas (0,0,1)t no tiene parametrización única. formulaciones que se analizarán; luego se expone el Por otro lado, es sabido que una rotación puede problema de la determinación de parámetros óptimos de descomponerse en tres rotaciones básicas, alrededor de la transformación que relaciona dos conjuntos de puntos. los ejes coordenados. Así, Seguidamente se muestran los resultados experimentales; y el trabajo finaliza con la discusión de resultados y M = Rx(a) Ry(b) Rz(g) (5) conclusiones. representa la composición de una rotación de un ángulo g 2. Formulación de rotaciones en el espacio alrededor del eje z, seguida de una rotación de un ángulo b alrededor del eje y, y finalmente una rotación con un La posición de un objeto rígido en el mundo ángulo a alrededor del eje x, donde tridimensional, con respecto a un sistema de referencia fijo, puede descomponerse en una traslación y una 1 0 0 rotación. Matemáticamente, una traslación es (a) = 0 cos(a) sen(a) 0 −sen(a) cos(a) = + (1) cos(b) 0 −sen(b) donde p es la posición actual del objeto (del punto de (b ) = 0 1 0 (6) referencia del mismo), r es la posición luego de la sen(b) 0 cos(b) traslación y t es el vector de desplazamiento. Más desafiante es la formulación matemática de una cos (g) sen (g) 0 rotación. En cualquier dimensión, la rotación de un punto (g) = −sen (g) cos (g) 0 p se modeliza como 0 0 1 r=Mp (2) son las matrices básicas de rotación alrededor de los ejes de la referencia. Los ángulos (a,b,g) son los ángulos de donde M es una matriz ortogonal, es decir, que verifica Euler de la secuencia ZYX. Como se mencionó = , y con determinante positivo (las matrices anteriormente, existen otras convenciones para el orden ortogonales con determinante negativo representan en que se componen los giros alrededor de los ejes, rotaciones seguidas de una inversión, que no corresponde dando otras ternas de ángulos para la misma rotación. La matriz dada en (5) es una matriz ortogonal, y se orientaciones y rotaciones de objetos en tres corresponde con una rotación de un ángulo = dimensiones. En Torres del Castillo (1999), puede 2 1+ + + /2 alrededor de un eje encontrarse una justificación geométrica de la relación w en la dirección ( − , − , − ), entre cuaterniones y rotaciones. donde mij es el elemento ij de M. Siendo p un cuaternión puro, y q un cuaternión Dada una matriz de rotación M, la descomposición en unitario, q = (cos(/2), w.sen(/2)) , la transformación ángulos de Euler no es única, por lo que surgen ∗ singularidades al tratar de resolver ese problema. No r= . . (10) existe una relación biunívoca entre una transformación de rotación y una terna de ángulos (a,b,g); por lo que esta da el punto r que es la imagen de p por la rotación con parametrización no es isomorfa a SO(3). eje w un ángulo . Escribiendo el eje de rotación en coordenadas Ese producto doble puede calcularse mediante la esféricas, se puede escribir w = Rz()Ry()z, siendo z = aplicación sucesiva de las expresiones (8), a partir de las (0,0,1)t. Luego, es fácil deducir que la rotación de un cuatro componentes de q, a la que llamaremos ángulo alrededor de w se representa con la matriz formulación 10.8; o la expresión (9), a partir de la parte real y la parte vectorial de q, que llamaremos M = Rz()Ry()Rz()Rty()Rtz() (7) formulación 10.9. Escribiendo el cuaternión q = (a, x, y, z), y usando el Esta matriz, también ortogonal, depende de los tres hecho que es unitario, a2+x2+y2+z2=1, la ecuación (10) se puede reescribir como r = M p, siendo M la matriz ángulos , y , y por consiguiente, es la misma matriz que la obtenida en (3’). 2 +2 −1 2( − ) 2( + ) Existe otra forma de parametrizar de SO(3) que no utiliza matrices de rotación, y no presenta singularidades. 2( + ) 2 +2 −1 2( − ) (11) Se basa en los cuaterniones y las operaciones definidas 2( − ) 2( + ) 2 +2 −1 en este conjunto de números hipercomplejos (Sahu et al., 2008; Pham et al., 2010; Chao et al., 2006). donde, p ahora se toma como un punto en R3. Un cuaternión puede pensarse como un elemento de Nótese que las formulaciones 10.8, 109 y 11 son R4. Se lo denota q = (a, x, y, z), o también q = (a,v), polinómicas, es decir, involucran sólo operaciones de donde aR se denomina parte real y vR3 parte vectorial suma y producto. del cuaternión. Escribiendo el cuaternión q = (cos(/2), w.sen(/2)), El producto de dos cuaterniones q1 = (a1, x1, y1, z1) y siendo w unitario, la ecuación (10) con (9) resulta q2 = (a2, x2, y2, z2), es el cuaternión q3 = q1.q2 = (a3, x3, y3, z3) con r = cos()p+ sen() wp+(1-cos())(w p) w (12)
a3 = a1.a2 - x1.x2 - y1.y2 - z1.z2 que es la conocida fórmula de Rodrigues.
x3 = a1.x2 + x1.a2 + y1.z2 - z1.y2 En este caso, si el vector unitario w se escribe en (8) coordenadas esféricas, se obtiene una nueva formulación, y3 = a1.y2 - x1.z2 + y1.a2 + z1.x2 z3 = - a1.z2 + x1.y2 - y1.x2 + z1.a2 que será denotada 12’. Existe también una parametrización que resulta ser Si se representan los cuaterniones con q1 = (a1, v1) y una variante de las formulaciones 3 y 12. Se obtiene q2 = (a2, v2), el producto también se puede escribir parametrizando cada rotación con el llamado vector de rotación u = (X,Y,Z)t, de forma tal que = |u|, y el eje de q3 = (a1a2 – v1v2, a1v2+a2v1+v1v2) (9) rotación es paralelo a u. Así, u = w. Tomando estas variables, (X,Y,Z)t, como variables libres, la rotación se El conjugado del cuaternión q = (a, v) es q* = (a, -v). puede calcular a partir de la ecuación 3 o la ecuación 12. La norma se define como |q| = (q.q*)1/2 = (a2+ x2 + y2 + En este último caso, se obtiene z2)1/2, y un cuaternión unitario es aquel que tiene norma 1. Todo cuaternión unitario se puede escribir en la forma r= | | + | | × + | | q = (cos(/2), w.sen(/2)) con w vector unitario en R3. (13) (1 − | |)( ∙ )| Las posiciones de objetos en el espacio pueden | | | representarse como cuaterniones con parte real nula, llamados cuaterniones puros. Esta parametrización tampoco es isomorfa a SO(3), Los cuaterniones unitarios constituyen una ya que distintos parámetros u pueden representar la formulación matemática para representar las misma rotación. 3. Determinación de los parámetros de una 4. Resultados experimentales transformación Se han realizado distintos tests para comparar experimentalmente las ventajas y desventajas de las Se plantea el problema de determinar los parámetros distintas formulaciones de transformaciones rígidas. de una transformación rígida que relaciona dos conjuntos Fueron implementados en el software de cálculo de puntos. Específicamente, sean los puntos pi y ri, con i numérico Scilab v.5.5.2 (Scilab, 2015), en una PC con = 1,…,N, de los cuales se espera que verifiquen procesador Intel(R) Core (TM) i5 CPU de 3.20GHz con 3.17Gb de memoria RAM. = ( , Ω) (14) El primer experimento pretende medir el uso de CPU necesario para efectuar una determinada cantidad de para cada i, donde (∙, Ω) es una transformación rígida rotaciones sobre una nube de puntos. Para ello, se han con parámetros . Este problema surge, por ejemplo, tomado aleatoriamente un conjunto de rotaciones, dadas cuando se tienen dos imágenes de la misma escena, por los parámetros ángulo-eje. Además, se han tomado tomadas desde dos posiciones distintas. Los pares (pi,ri) aleatoriamente una nube de puntos en el espacio. son puntos homólogos, y la transformación f determina la Se realizaron 5000 rotaciones sobre una cantidad posición relativa de los puntos de toma. variable de puntos. La figura 1 muestra el uso de CPU Siendo que el cálculo de puntos homólogos conlleva para las distintas formulaciones. En la leyenda de la errores de precisión e incertidumbre, el problema de figura se identifica el número de ecuación hallar los parámetros de f se plantea como un problema correspondiente a cada serie de datos. No se incluyen de optimización resultados de la formulación (13), ya que con ella se realizan los mismos cálculos que la formulación (12). min ( − ( , Ω)) (15) ∈
Las distintas formulaciones para la transformación f,
implicará distinto costo computacional, y distinta precisión en el cálculo de los parámetros. En los tests expuestos en la sección de resultados experimentales, consideramos que f es sólo una rotación. La tabla 1 enumera los parámetros necesarios para cada una de las formulaciones descritas en la sección anterior; así como el espacio de factibilidad .
Tabla 1: Parámetros usados en cada formulación
Figura 1: Tiempos de CPU para computar rotaciones Ec. Parámetros 3 (,x,y,z) {(,x,y,z): |(x,y,z)|=1} De esta figura se puede concluir que la alternativa 3’ (,,) R3 notablemente más costosa computacionalmente es 5 (a,b,g) R3 calcular las rotaciones usando cuaterniones, de acuerdo a 7 (,,) R3 la fórmula (10), con el producto de cuaterniones 10.8 q=(a,x,y,z) {q=(a,x,y,z): |q|=1} definidos en (9). También merece ser remarcado que la 10.9 q=(a,v) {q=(a,v): aR, vR3, |q|=1} formulación que ejecuta la tarea en menor tiempo es la 11 q=(a,x,y,z) {q=(a,x,y,z): |q|=1} dada en la ecuación (11), que supone el uso de 12 (,w) {(,w): R, wR3, |w|=1} cuaterniones, con el producto en forma matricial. Todas 12’ (,,) R3 las demás formulaciones son prácticamente equiparables 13 (X,Y,Z) R3 en cuanto al tiempo de computación, ya que muestran la misma tendencia. Todas las formulaciones tienen 3 o 4 parámetros. Otro análisis que se realizó fue enfocado a determinar Cuando la cantidad de parámetros es 4, el espacio de la pérdida de precisión numérica sufrida al usar las factibilidad está descrito por alguna restricción distintas formulaciones. (normalización de vectores) que reduce en uno los grados Para ello, se realizaron S rotaciones sucesivas sobre un de libertad. Entonces, el grado de libertad es siempre 3. conjunto de N puntos. Se aplica iterativamente la transformación p = f(p), a partir de un conjunto inicial p0 de N puntos, donde f se representa por las formulaciones mencionadas anteriormente. Las S rotaciones son tales parámetros de convergencia por defecto de la función que, con precisión infinita, p0 = f S(p0). El error optim de Scilab, excepto el número de evaluaciones de acumulado se calcula como función objetivo -nap-, que fue elevado a 2000). En la tabla 3 se reportan los tiempos promedios | − ( )| = max − ( ) (16) empleados para cada formulación, así como la desviación estándar. El promedio se calcula sobre los test realizados con distintos puntos iniciales. Scilab maneja números reales con el sistema de punto flotante establecido en el estándar IEEE 754, con Tabla 3: Tiempos de CPU precisión relativa 2-52. La tabla 2 resume los resultados obtenidos. En la misma, se muestra el error promedio Ec. Tiempo CPU Desv Iters relativo alcanzado con cada formulación (el promedio se 3 0.252 0.089 43 toma sobre un conjunto de tests con distintos S y N). 3’ 0.064 0.016 13 5 0.063 0.019 14 Tabla 2: Errores relativos de precisión acumulados 7 0.068 0.020 14 10.8 0.083 0.014 21 Ec. 3 5 7 10.8 10.9 11 12 10.9 0.083 0.017 21 Error 1.0 2.4 1.8 0.6 0.5 1.3 1.4 11 0.082 0.020 22 12 0.214 0.057 41 Los resultados indican que no hay marcada diferencia 12’ 0.067 0.021 13 en la pérdida de precisión entre las distintas 13 0.070 0.024 14 formulaciones usadas, a pesar de que algunas involucran sólo operaciones polinómicas (productos y sumas), y otras requieren gran cantidad de evaluación de funciones Puede notarse que las formulaciones que implican trigonométricas. Todas sufren una pérdida de precisión mayor costo computacional son la que se basa en la del mismo orden. matriz dada en (3), parametrizada con ángulo-eje, y la Sin embargo, puede notarse que las ecuaciones (10.8) basada en la fórmula de Rodrigues con los mismos y (10.9), que son básicamente polinómicas, muestran el parámetros. Estas parametrizaciones implican un espacio menor error. Y, por otra parte, la formulación con los de factibilidad definido por una restricción de ángulos de Euler (ecuación 5), involucrando senos y normalización, que se introduce como una penalidad en cosenos de tres ángulos distintos, presenta el error más la función objetivo. grande. También debe remarcarse que en dichas Por otro lado, se realizó un test para resolver el formulaciones, si se utilizan las coordenadas esféricas problema de encontrar los parámetros de la para el eje, evitando así la restricción de normalización, transformación que relaciona dos conjuntos de puntos el tiempo computacional decrece notablemente, homólogos. Se tomaron, en principio, 20 pares de puntos resultando de esta manera las formulaciones óptimas, homólogos (pi, ri), relacionados por una transformación desde el punto de vista del tiempo de CPU usado. prefijada (c conocido). A los puntos ri se les agregó una La formulación que se basa en ángulos de Euler perturbación gaussiana. implica un tiempo equivalente. Se realizó la optimización de la ecuación (15) usando Asimismo, las formulaciones basadas en producto de la función optim de Scilab, que implementa el algoritmo cuaterniones (10.8, 10.9 y 11) igualmente tienen una Quasi-Newton con BFGS. Las restricciones de módulo 1 restricción de normalización, y el tiempo implicado es en las formulaciones 3, 10.8, 10.9, 11 y 12 se modelaron levemente mayor a las formulaciones de mejor con una penalidad en la función objetivo. desempeño, pero no tan elevadas como las (3) y (12). Al tratarse de un problema de optimización no lineal, Esto es porque la parametrización con cuaterniones sí es el punto inicial tiene gran influencia en el resultado y en un isomorfismo en SO(3), y por lo tanto no presenta la cantidad de iteraciones necesarias para alcanzar redundancia. convergencia. Para cada prueba, se toma un ángulo Es interesante también hacer notar la relación entre inicial 0 y un eje inicial w0, aleatoriamente en un tiempo de CPU y cantidad de iteraciones del algoritmo de intervalo adecuado para cada parámetro; y luego se optimización, así como cantidad de evaluaciones de la traducen esos valores a los parámetros iniciales función objetivo por iteración; como se ven en la tabla 4 correspondientes en cada formulación. (en valores promedios). En todos los casos, (excepto los casos singulares de los cuales se habla más adelante) el criterio de terminación fue alcanzado satisfactoriamente (con los Tabla 4: Tiempo CPU y evaluación de objetivo por estrategia, según nuestro conocimiento, no es muy iteración frecuentemente usada; quizás porque adiciona una gran cantidad de evaluación de funciones trigonométricas. Sin Ec. Tiempo Evals/iter embargo, nuestros resultados muestran que no representa, CPU/iter 103 en general, un serio inconveniente, desde el punto de 3 5.84 4.0 vista del tiempo requerido. Quizás sí presentaría 3’ 4.75 3.6 dificultades numéricas si los parámetros óptimos son, o 5 4.70 3.7 están cerca de los valores singulares de la representación. 7 4.90 3.6 En estos casos siempre se puede cambiar de 10.8 3.99 2.4 parametrización o cambiar los ejes de la referencia. 10.9 4.03 2.4 Una de nuestras hipótesis era que los cuatro 11 3.80 2.6 parámetros de la formulación con ángulo-eje, con 12 5.22 3.5 restricción de normalización del eje, podría mejorarse 12’ 4.80 3.5 con los tres parámetros del vector de rotación (ecuación 13 5.21 4.0 13). Sin embargo, nuestros experimentos muestran que no existe ventaja computacional en la práctica. Se observa que las alternativas basadas en cuaterniones son las que implica menores tiempos y evaluaciones por iteración. Nuevamente, esto puede Referencias adjudicarse a que son problemas polinómicos, que no Chao H., Meng M.Q.-H., Mandal M., Liu P.X. “Robot suponen el uso de funciones trigonométricas. Rotation Decomposition Using Quaternions”. Proceedings of Excepto las formulaciones basadas en cuaterniones, the 2006 IEEE International Conference on Mechatronics and todas presentan casos singulares. Por ejemplo, cuando el Automation, 2006, pp. 1158 – 1163 eje de rotación es w = (0,0,1)t, no están bien determinados los parámetros en las ecuaciones 3’, 7 y Diebel, J. “Representing attitude: Euler angles, unit quaternions, and rotation vectors”. Matrix, 58, 2006, pp. 15-16. 12’. En los resultados, cuando el eje de rotación es tal w, o uno cercano, el número de iteraciones necesarias en la Kuipers, J. B. “Quaternions and rotation sequences: A función optim se eleva notablemente.. primer with Applications to Orbits, Aerospace and Virtual Reality”, Princeton: Princeton university press, 2002 5. Discusión Murray R., Li Z., Sastry S. “A Mathematical Introduction to Robotic Manipulation”. CRC Press, Inc. Boca Raton, FL, USA, De los test realizados se puede concluir, por un lado, 1994. que en cuanto al tiempo de CPU necesario para realizar un conjunto de transformaciones, es preferible utilizar la Pham H.L., Perdereau V., Adorno B., Fraisse P. “Position and Orientation Control of Robot Manipulators Using Dual parametrización con cuaterniones, y expresar la Quaternion Feedback”. IROS'10: International Conference on transformación matricialmente. Esto implica sólo Intelligent Robots and Systems, 2010, Taipei, Taiwan. operaciones de suma y producto, frente a otras IEEE/RSJ, pp.658-663. alternativas que suponen uso de funciones trigonométricas. Utilizar cuaterniones con el doble Sahu S., Biswal B., Subudhi B. “A Novel Method for Representing Robot Kinematics using Quaternion Theory”. producto definido a partir de la parte real y parte IEEE Sponsored Conference on Computational Intelligence, vectorial del cuaternión es la peor opción. Esto tiene su Control And Computer Vision In Robotics & Automation, 2008, explicación en que se ejecuta dos veces la función que NIT Rourkela http://hdl.handle.net/2080/689 multiplica cuaterniones, con lo cual, los datos se operan dos veces. Sarkis, M., Diepold, K. “Camera-pose estimation via El test realizado para medir la pérdida de precisión projective Newton optimization on the manifold”. Image Processing, IEEE Transactions on, 21(4), 2012, pp. 1729-1741. numérica muestra que, si bien todas las formulaciones arrojan una pérdida de precisión del mismo orden, el uso Scilab. Scilab Enterprises http://www.scilab.org/, 2015 de cuaterniones resulta la parametrización más confiable. Serrano E., Sirne R., La Mura G. “Rotaciones, secuencia En el problema de hallar los parámetros óptimos que aeroespacial y cuaterniones. Una revisión de las relaciones relacionan dos conjuntos de puntos, se concluye que es fundamentales”. Ciencia y Tecnología, 14, 2014, pp. 11-28. preferible parametrizar el espacio de transformaciones Torres del Castillo G.F. “La representación de rotaciones con tres parámetros, ya que la adición de la penalidad en mediante cuaterniones”. Miscelánea Matemática 29, 1999, pp. la función objetivo eleva el tiempo de cómputo. La 43-50. restricción de normalización siempre puede evitarse parametrizando con coordenadas esféricas el eje. Esta