Solo para agregar un poco más de explicación al por qué de usar un giroscopio vs acelerómetro para la orientación: un giro da la tasa de rotación, así que para obtener orientación, tenemos que integrar:
orientación = Integrar (gyro_data, dt) + C
La C nos dice que nunca obtenemos orientación absoluta, solo orientación relativa. Con el acelerómetro, al menos obtenemos una orientación absoluta con respecto a la gravedad.
La integración nos dice que nuestro ruido se acumulará con el tiempo, y nuestro valor para la orientación empeorará a medida que pase el tiempo. No es necesario que no se integre para obtener orientación desde el acelerómetro. Incluso si nuestro giroscopio tiene menos ruido que nuestro acelerómetro, podría tener sentido usar el acelerómetro. Depende de los niveles de ruido relativo y del tiempo que planee muestrear.
Donde brilla el giro es durante el movimiento dinámico del dispositivo. Podemos usar la combinación del giro y el acelerómetro para distinguir mejor el movimiento lineal del cambio en la orientación.