cuaternios

4
Rotaci´ on espacial mediante la multiplicaci´ on de cuaternios Spatial rotation by quaternion multiplication Tarea 03: Fundamentos de Rob´ otica 2014 Gustavo Rodrigo L´opez Mendoza [email protected] 13 de octubre de 2014 1. Abstract The aim of this paper is to present a synthesis of the mathematics generated of group the quaternions and compare their methodology with homogeneous matrices, this group not commutative but associative and distributive over addition allow rotating coordi- nate systems axes or vectors multiplying a quaternion unit norm and its conjugate to the vector will be rotated. The symmetry of the two methods is found to achieve the same result, with the wide difference in the number of digits occupied for the generation of a matrix versus the 4 digit occupied a quaternion, greatly reducing the programmable controller of a robotic system. Keywords: Quaternions, rotate 2. Res´ umen El objetivo de este documento es presentar una s´ ınte- sis de la matem´ atica generada del grupo de los cuater- nios y comparar su metodolog´ ıa con las matrices ho- mog´ eneas, este grupo no conmutativo pero asociativo y distributivo sobre la suma permiten rotar sistemas de ejes coordenadas o vectores multiplicando un cuaternio de norma unitaria y su conjugado al vector que ser´ a ro- tado. La simetr´ ıa de los dos m´ etodos se comprueba al obtener el mismo resultado, con la gran diferencia de la cantidad de d´ ıgitos ocupados para la generaci´ on de una matriz versus los 4 d´ ıgitos ocupados en un cuaternio, reduciendo considerablemente el programa-controlador de un sistema robotico. 3. Introducci´ on En la d´ ecada de 1840 sir William Rowan Hamil- ton(v´ ease [1] para mayor informaci´ on), ısico ma- tem´ atico se encontraba estancado en la b´ usqueda de alg´ un sistema matem´ atico que pudiera representar puntos en el espacio tridimensional como lo describen los n´ umeros complejos en el plano, descubriendo un etodo que empleaba 4 d´ ıgitos para la representaci´ on del espacio a la que denomino cuaternios. Hoy en d´ ıa las rotaciones de vectores tienen un papel protag´ onico en la rob´ otica, siendo el lenguaje vertebral en el movimiento de sistemas automatizados. En este documento se presenta un resumen del ´ alge- bra de los cuaterniones, para posteriormente aplicar su matem´ atica y rotar un sistema de ejes coordenados en torno al eje x y luego en torno al eje y, compa- rando el resultado con matrices de transformaciones homog´ eneas, concluyendo satisfactoriamente en la ho- mogeneidad de los m´ etodos. 4. etodos Como ya se ha mencionado los cuaternios son una extensi´ on de los n´ umeros complejos, heredando ciertas propiedades y caracter´ ısticas de ellos, describi´ endolas a continuaci´ on: 1. Sea q y q 1 cuaternios definidos como q = a + bi + cj + dk q 1 = a 1 + b 1 i + c 1 j + d 1 k (1) donde a, a 1 , b, b 1 , c, c 1 , d y d 1 son n´ umeros reales y i, j y k son n´ umeros complejos, entonces i 2 = j 2 = k 2 = -1 (2) 2. Como i, j y k son representaci´ on de ejes ortogo- nales entre ellos se tiene por ´ algebra vectorial que el producto entre ellos es igual a ij = k = -ji jk = i = -kj ki = j = -ik (3) de (3) se concluye que los cuaternios no conmutan en la multiplicaci´ on, pero si se asocian y distribu- yen en la adici´ on. En [2] se contempla la completa demostraci´ on de estos axiomas. 3. Se define el conjugado de q como q * = a - bi - cj - dk (4) 1

Upload: gustavo-lopez

Post on 27-Jul-2015

79 views

Category:

Education


4 download

TRANSCRIPT

Rotacion espacial mediante la multiplicacion de cuaternios

Spatial rotation by quaternion multiplication

Tarea 03: Fundamentos de Robotica 2014

Gustavo Rodrigo Lopez [email protected]

13 de octubre de 2014

1. Abstract

The aim of this paper is to present a synthesis ofthe mathematics generated of group the quaternionsand compare their methodology with homogeneousmatrices, this group not commutative but associativeand distributive over addition allow rotating coordi-nate systems axes or vectors multiplying a quaternionunit norm and its conjugate to the vector will berotated. The symmetry of the two methods is foundto achieve the same result, with the wide differencein the number of digits occupied for the generationof a matrix versus the 4 digit occupied a quaternion,greatly reducing the programmable controller of arobotic system.

Keywords: Quaternions, rotate

2. Resumen

El objetivo de este documento es presentar una sınte-sis de la matematica generada del grupo de los cuater-nios y comparar su metodologıa con las matrices ho-mogeneas, este grupo no conmutativo pero asociativo ydistributivo sobre la suma permiten rotar sistemas deejes coordenadas o vectores multiplicando un cuaterniode norma unitaria y su conjugado al vector que sera ro-tado. La simetrıa de los dos metodos se comprueba alobtener el mismo resultado, con la gran diferencia de lacantidad de dıgitos ocupados para la generacion de unamatriz versus los 4 dıgitos ocupados en un cuaternio,reduciendo considerablemente el programa-controladorde un sistema robotico.

3. Introduccion

En la decada de 1840 sir William Rowan Hamil-ton(vease [1] para mayor informacion), fısico ma-tematico se encontraba estancado en la busqueda dealgun sistema matematico que pudiera representarpuntos en el espacio tridimensional como lo describenlos numeros complejos en el plano, descubriendo un

metodo que empleaba 4 dıgitos para la representaciondel espacio a la que denomino cuaternios.

Hoy en dıa las rotaciones de vectores tienen unpapel protagonico en la robotica, siendo el lenguajevertebral en el movimiento de sistemas automatizados.

En este documento se presenta un resumen del alge-bra de los cuaterniones, para posteriormente aplicarsu matematica y rotar un sistema de ejes coordenadosen torno al eje x y luego en torno al eje y, compa-rando el resultado con matrices de transformacioneshomogeneas, concluyendo satisfactoriamente en la ho-mogeneidad de los metodos.

4. Metodos

Como ya se ha mencionado los cuaternios son unaextension de los numeros complejos, heredando ciertaspropiedades y caracterısticas de ellos, describiendolasa continuacion:

1. Sea q y q1 cuaternios definidos como

q = a+ bi+ cj + dk q1 = a1 + b1i+ c1j + d1k(1)

donde a, a1, b, b1, c, c1, d y d1 son numeros realesy i, j y k son numeros complejos, entonces

i2 = j2 = k2 = −1 (2)

2. Como i, j y k son representacion de ejes ortogo-nales entre ellos se tiene por algebra vectorial queel producto entre ellos es igual a

ij = k = −ji jk = i = −kj ki = j = −ik(3)

de (3) se concluye que los cuaternios no conmutanen la multiplicacion, pero si se asocian y distribu-yen en la adicion. En [2] se contempla la completademostracion de estos axiomas.

3. Se define el conjugado de q como

q∗ = a− bi− cj − dk (4)

1

4. Se define el producto punto como

q·q1 = aa1 − bb1 − cc1 − dd1+ ab1i+ ba1i+ cd1i− dc1i+ ac1j − bd1j + ca1j + db1j

+ ad1k + bc1k − cb1k + da1k

5. Del punto anterior y usando la definicion del con-jugado se obtiene para cualquier par de cuaternios

(q·q1)∗ = aa1 − bb1 − cc1 − dd1− ab1i− ba1i− cd1i+ dc1i

− ac1j + bd1j − ca1j − db1j− ad1k − bc1k + cb1k − da1k

= a1(a− bi− cj − dk)

− b1i(a− bi− cj − dk)

− c1j(a− bi− cj − dk)

− d1k(a− bi− cj − dk)

= (a1 − b1i− c1j − d1k)

·(a− bi− cj − dk)

(q·q1)∗ = q∗1 ·q∗

6. Se define la norma como |q| igual a

|q| ≡√qq∗

=√

(a+ bi+ cj + dk)·(a− bi− cj − dk)

=√a2 + b2 + c2 + d2

7. Extendiendo lo anterior se deduce que

|qq1| = |q| |q1| (5)

Haciendo enfasis en la conmutatividad de los cua-ternios al multiplicarlos por numeros reales.

8. Sea r y q cuaterniones puros1 de la forma r =xi + yj + zk y q = q1i + q2j + q3k, (x,y,z) pue-den representar un punto en el espacio de R3. Elcuaternio q tendra norma 1, tal que, qq∗ = 1 oq21 + q22 + q23 = 1.

Entonces,

qrq∗ = −r + 2(q1x+ q2y + q3z)q

= −r + 2 |q| |r| cos(θ)q Como |q| = 1

= −r + 2 |r| cos(θ)qr′ ≡ −qrq∗ = r − 2 |r| cos(θ)q

1Se define cuaternion puro cuando la parte real vale cero,q = 0 + bi + cj + dk

θ es el angulo entre los vectores (x, y, z) y(q1, q2, q3), ademas qrq∗ es otro cuaternio puroque corresponde a otro punto de R3.

Sea Q el plano en R3 que pasa por el origen y esnormal a (q1, q2, q3), |r| cos(θ) es la proyeccion de(x, y, z) en la direccion (q1, q2, q3), por lo que r′ re-presenta la imagen de r bajo la reflexion del planoQ. En otras palabras se estable un eje ortogonal aq, y r se encuentra a θ grados de q.

9. Considerando ahora el cuaternio puro p = p1i +p2j + p3k de norma unitaria, y del ıtem anterior,se obtiene que

r′′ ≡ −pr′p∗ = −p(−qrq∗)p∗

= (pq)r(pq)∗

donde

pq =(p1i+ p2j + p3k)(q1i+ q2j + q3k)

=− (p1q1 + p2q2 + p3q3)− (q2p3 − q3p2)i

− (q3p1 − q1p3)j − (q1p2 − q2p1)k

=− cos(φ)− sin(φ)n

n es un cuaternion puro de norma uno que repre-senta una direccion normal a q y p con el senti-do dado por la regla de la mano derecha, φ es elangulo entre las direcciones q y p. La aplicacionde r → (pq)r(pq∗) representa una rotacion en R3

siendo n el eje de la rotacion, quedando invariantebajo esta aplicacion. Esta rotacion se efectua a unvalor de dos veces el valor φ.

10. Resumiendo, para efectuar una rotacion en tornoa un eje n y un angulo de α se componete la mul-tiplicacion de cuaternios de la siguente forma

r′ = (cos(α

2)+sin(

α

2)n)r(cos(

α

2)−sin(

α

2)n) (6)

donde |n| = 1, generalizando q = cos(α2 ) + sen(αn )es el cuaternio de norma unitaria que representala rotacion en torno a la direccion n a cualquiercuaternio puro r que tendra representacion en elespacio R3.

5. Resultados

Ejercicio: Un sistema ha sido girado 30o alrededordel eje OX y luego 60o alrededor del eje OY. Calcularlas coordenadas (rx, ryrz) del vector r de coordenadasruvw = (−3, 4,−11). De igual forma que con la ma-trices homogeneas se puede componer cuaternios pararepresentar giros sucesivos.Para desarrollar el ejercicio propuesto se realizar la

2

composicion del cuaternio q que representara la ro-tacion. Sea q el cuaternio que representa la primerarotacion y p la segunda tenemos

q = cos(30/2) + sin(30/2)i

p = cos(60/2) + sin(60/2)j

pq = cos(15)cos(30) + (sin(15)cos(30))i

+ (cos(15)sin(30))j + (sin(15)sin(30))k

rxyz = (pq)ruvw(pq)∗

= −8, 02i+ 8, 96j − 1, 17k

La multiplicacion se comprueba con el programa Sa-gemath, ademas, usando matrices de transformacionhomogeneas se obtiene el mismo resultado.A continuacion se visualiza los resultados usando elprograma Sagemath, en la figura 1 se aprecia las mul-tiplicacion de cuaternios y el resultado al final de lafigura, y en la figura 2 usando el metodo de matricesde transformacion homogenea. Ambos resultado coin-ciden en exactitud.

Figura 1: Cuaternios

Figura 2: Matrices de transformacion homogenea

El resultado grafico se aprecia en la figura 3, acontinuacion se presenta el script que fue usado enSagemath para la creacion del grafico.orig=vector([0,0,0])

eje_x=line([(-5,0,0),(5,0,0)],color=’black’)

eje_y=line([(0,-5,0),(0,5,0)],color=’black’)

eje_z=line([(0,0,-5),(0,0,5)],color=’black’)

ejes=eje_x+eje_y+eje_z

vect_x=vector([3,0,0])

vect_y=vector([0,3,0])

vect_z=vector([0,0,3])

vector_uvw=vector([-3,4,-11])

arrow_x=arrow3d(orig,vect_x,color=’red’,width=3)

arrow_y=arrow3d(orig,vect_y,color=’blue’,width=3)

arrow_z=arrow3d(orig,vect_z,color=’green’,width=3)

arrow_uvw=arrow3d(orig,vector_uvw,color=’orange’,width=3)

oxyz=arrow_x+arrow_y+arrow_z

oxyz_1=arrow_x+arrow_y+arrow_z+arrow_uvw

ouvw=(oxyz_1.rotateX(-pi/6)).rotateY(-pi/3)

r=point(([-8.02,8.97,-1.17]),size=3.5,color=’red’)

show(oxyz+ouvw+ejes+r)

Figura 3: Arriba plano YZ, abajo plano XZ

El punto de color rojo representa el vector rxyz =(−8,02, 8,97,−1,17)

6. Discusiones

Si bien el metodo de multiplicacion de cuaterniosconcuerda con los resultados de matrices de trans-formacion homogenea, existen ciertas limitaciones eneste metodo que queda a la discucion la efectividaddel metodo, como el hecho de que solo se puedenusar cuaternios unitarios en su ejecucion, restringiendouna inmensa cantidad de posibilidades de aplicaciones,ademas, el algebra abstracta dificulta su total compren-sion, como dijo Albert Einstein ”Si no puedo dibujarlo,es que no lo entiendo”.

7. Conclusiones

Este metodo a pesar de sus complicaciones posee unventaja sobre su semejante, para componer una matriz

3

necesitamos de al menos 16 bits, lo cual no es mucho,pero si llevamos esta cifra a cada matriz y generamosun movimiento complejo de un instrumento automati-zado que en su programa ocupe matrices para repre-sentar una rotacion o traslacion, estamos hablando decentenas de mega bits que ocuparıa su programa, com-parado con los 4 bits que ocupa un cuaternion, redu-ciendo considerablemente la memoria ocupada en suprograma.

Referencias

[1] Victor Rodriguez Bouza, Sobre los cuaternio-nes, algebra de Lie, y matrices de Pauli, 2012-2013.

[2] G. F. Torres del Castillo, La representacionde rotaciones mediante cuterniones,pags. 43–50,Universidad Autonoma de Puebla, Departamentode Fısica Matematica, Mexico, 1999.

4