OrientaciónComo dije en el comentario anterior, hoy trato un poco el tema de la orientación. Considerando el caso ideal. Más adelante se considerará el tema de los errores que existe en todo el proceso para tenerlos en cuenta y crear un sistema práctico.

Nos indica las rotaciones que ha efectuado el móvil respecto a sus 3 ejes (x, y, z).
Esto nos puede servir para saber hacia donde se dirige el móvil, si ha volcado, o está realizando una maniobra de giro. Esta información la obtenemos a partir de los giroscopios que nos dan la velocidad angular y los acelerómetros. Pero principalmente de los giroscopios.
Los tres ángulos son la dirección (heading o yaw), elevación (pitch) y ángulo de guiñada (roll).
Como los giroscopios toman como marco de referencia su posición local, hay que hacer una conversión, o traslado, al marco de referencia de la tierra para que podamos “entender” o comprender en qué posición está realmente el objeto. Para ello se emplea la matriz de rotación R (notación tipica que se utiliza):

La matriz de rotacion R, resulta de multiplicar las 3 matrices que vemos en la figura anterior, que corresponden a la rotación sobre cada uno de los ejes. [Mirar imagen del final (donde: c = coseno y s = seno)]
Para pasar de un marco de referencia a otro, multiplicamos el vector de posición del marco de referencia móvil (o local de los sensores) por la matriz de rotación para obtener el vector de posición en el marco de referencia fijo (el de la Tierra):
vector_posicion_tierra = vector_posicion_local * matriz_R
Con esto ya sabemos la localización que nos da la Unidad de Medidas Inerciales.
1Saludo a to2!!