6

Estoy utilizando el teléfono inteligente LG Optimus 2x (sensor de giroscopio y acelerómetro) para el posicionamiento.Deriva del sensor de giroscopio y ángulo correcto Estimación

Quiero obtener los ángulos de rotación correctos del giroscopio que se pueden utilizar más adelante para la transformación de coordenadas del cuerpo a tierra. Mi pregunta es que

Cómo puedo medir y eliminar la deriva en el sensor de giroscopio.

La única manera es tomar el promedio de las muestras del giroscopio (cuando el móvil está en condición estática) durante algún tiempo y restar de la muestra actual, lo cual no es bueno.

Cuando el móvil está en rotación/movimiento, ¿cómo conseguir ángulos libres?

Respuesta

1

Básicamente giroscopios deriva durante largos períodos de tiempo. Mientras que los acelerómetros no tienen deriva pero tienden a ser inestables. Al combinar información de ambos sensores usando un filtro de Kalman, puede obtener una actitud precisa. Para algunos esto menos complejo, también podría usar un filtro complementario.

Ver este post para más información: Combine Gyroscope and Accelerometer Data

2

Por lo que yo sé, ya sea el filtro de Kalman o algo similar se implementa en el SensorManager. Consulte Sensor Fusion on Android Devices: A Revolution in Motion Processing.

Estás tratando de resolver un problema que ya está resuelto.

+0

No creo que el filtro de Kalman esté realmente implementado en Sensor Manager. puede ver el código fuente en http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3.4_r1/android/hardware/SensorManager.java#SensorManager en lo que respecta a Navigator – Navigator

+0

Cuando miré el código fuente, me pareció un filtro de Kalman, pero tal vez me engañaron.Pero, de todos modos, el sistema operativo Android moderno emplea Sensor Fusion. OP debería mirar el sensor GRAVITY en lugar del sensor ACCELEROMETER. El sensor GRAVITY es un sensor virtual creado mediante la combinación de acelerómetro y giroscopio. Básicamente es el sensor de aceleración lineal con efectos de movimiento filtrados. –

2

Soy el autor de una aplicación de brújula que integra datos de sensores magnéticos y giroscópicos (steady compass). He probado esta aplicación en su mayoría en un negro LG Optimus (el dispositivo que se puede ver en el video) con Android 2.2, así que voy a compartir mis experiencias: lecturas

  • giroscopio son muy precisos. Este sensor es justo lo opuesto al acelerómetro y los sensores magnéticos que dan lecturas con mucha inestabilidad.
  • Las lecturas del giroscopio (es decir, la velocidad angular) no derivan en absoluto. Tendrá un cambio en la estimación de la orientación si solo integra las lecturas del giroscopio. Dado que está integrando muestras en diferentes momentos, obtendrá solo un enfoque que se degradará después de cada paso de integración.
  • Para evitar tal desviación en la estimación de la orientación, debe considerar otras fuentes de entrada para corregir los resultados provenientes de la integración de datos del giroscopio. La solución es la integración de datos provenientes del sensor de orientación (magnético + aceleración) y los datos provenientes del giroscopio.

Tenga cuidado con los teléfonos LG: de acuerdo con la API de Android, el giroscopio devolverá los datos en rad/s. El LG Optimus Black con Froyo ofrece lecturas en grados/s. La actualización de Android 2.3 acaba de ser lanzada para dicho teléfono. Debo probar si la nueva versión se comporta de acuerdo con las especificaciones.

¿Qué versión de Android tiene su teléfono? ¿Has probado alguna aplicación con giroscopio? ¿Obtuviste los resultados esperados?

+0

Hola, jap1968, estoy usando el mismo LG Optimus 2x. Originalmente había android 2.2 y noté la observación similar de que no hay deriva en la señal del giroscopio, sino solo debido a la vibración, la sacudida y la deriva debido a la integración. Cuando me actualicé a Android 2.3.4, noté dos cosas, los primeros valores del giroscopio están en rad/seg y en segundo lugar ahora el giroscopio tiene algún valor de compensación incluso cuando el móvil está en reposo, antes en la versión Froyo 2.2. La señal giroscópica era casi cero y había sin compensación. ¿Has observado lo mismo? Por favor, coméntelo si lo ha probado.regards Navigator – Navigator

+0

El proveedor local (Orange Spain) no ha lanzado la actualización, por lo que el Optimus Black utilizado para la prueba todavía se ejecuta en Android 2.2. También probé la brújula en otros dispositivos con giroscopio: tabletas con Android 3.1 y 3.2, y Samsung Galaxy S II con Android 2.3.x. En algunos dispositivos, el giroscopio es realmente muy preciso, mientras que en otros muestra lecturas incluso cercanas a cero sin que el dispositivo se mueva. El resultado: algunos usuarios dan a la aplicación 5 estrellas debido a su buen comportamiento, mientras que otros dan una estrella debido a un mal comportamiento. – jap1968

Cuestiones relacionadas