¿Cómo / Debo implementar un filtro de Kalman para obtener datos precisos de Acelerómetro?

Quiero obtener datos tan precisos del acelerómetro incorporado en un teléfono Android como sea posible. Quiero seguir el movimiento bidimensional en los ejes x e y e incluso los pequeños movimientos deben ser registrados.

Cuando miro los datos del acelerómetro / aceleración lineal cuando el teléfono está plano sobre una mesa cambia mucho cuando debo ser cero.

He mirado a los filtros de Kalman, parece un buen enfoque, pero estoy teniendo problemas para configurar un modelo.

1. ¿Es un filtro de Kalman el camino a seguir para obtener datos tan precisos como sea posible de un acelerómetro?

2. ¿Funcionará un filtro de Kalman? Tal vez he entendido mal, pero parece que la aceleración o la velocidad debe ser constante?

3. ¿Cómo configuro el modelo para usar el filtro de Kalman? Tengo problemas para entender (entre otras cosas) lo que es el ruido del proceso?

Un filtro de Kalman se aplica cuando todas las mediciones (de aceleración en este caso) son iguales al valor verdadero más un error de medición. El error de medición es el ruido del proceso. Para que el filtro original de Kalman se aplique, el ruido debe ser distribuido normalmente, es decir, a veces el error será positivo, a veces negativo, y en promedio cero.

Si usted jerk su teléfono androide rápidamente hacia adelante y hacia atrás, habrá grandes aceleraciones. Yo sugeriría registrar las lecturas del acelerómetro en ese tipo de acción, y revisar a la vista para ver si parece que hay las lecturas están realmente sujetas a algún tipo de ruido de proceso normalmente distribuido. Mi suposición es que la respuesta será "No", es decir, espero que las lecturas cuando se traza en un gráfico será suave-ish. Pero si no son suaves, un filtro de Kalman podría ser útil.

Si usted está intentando utilizar las lecturas del acelerómetro para trabajar hacia fuera la localización, pienso que su proyecto está condenado al fracaso. La aceleración es la segunda derivada de la posición con respecto al tiempo, y nunca he oído hablar de alguien que sea capaz de integrar las lecturas con suficiente precisión para ser útil.

He aplicado un filtro de Kalman correctamente a las lecturas de GPS en un teléfono Android para mejorar la estimación de ubicación. Vea Datos GPS suaves para el código que implementa un filtro Kalman para eso. Posteriormente me preguntaba si la velocidad y tal vez los datos de aceleración podría ser utilizado para mejorar la estimación de ubicación. Aunque nunca he seguido esa idea, consulte https://dsp.stackexchange.com/questions/8860/more-on-kalman-filter-for-position-and-velocity para las matemáticas que estaba considerando usar.

La forma óptima de utilizar todas las entradas del sensor (GPS, acelerómetro, giroscopio, etc.) para obtener una buena estimación de la ubicación es un problema muy difícil (e interesante). Para averiguar más, la frase clave para buscar es "Sensor fusion". Sobre este tema, hay un viejo video de youtube en http://www.youtube.com/watch?v=C7JQ7Rpwn2k .

Puede encontrar este hilo útil. Me encontré con los mismos problemas

Pensamos que la varianza al mentir plano podría ser un problema con bloqueo de Gimbal confundiendo los cálculos, pero eso es sólo una teoría en este momento. También hemos notado que la covarianza en cada eje se altera dependiendo de la orientación del dispositivo, lo que podría ser interferencia de bloqueo cardán también, pero de nuevo sólo una teoría

Implementar un filtro Kalman para suavizar los datos de la API deviceOrientation

  • ¿Cómo implementar el sensor de giroscopio en android?
  • ¿Cómo habilitar el simulador de sensores en android?
  • ID de usuario no válido () al conectar TI SensorTag a IBM IoT Foundation a través de Bluemix
  • Obtener información de los sensores magnéticos
  • Obtenga múltiples datos de sensores al mismo tiempo en Android
  • Cómo medir HeartBeat usando un dispositivo Android
  • Sensor Fusion en Android 4
  • Android: evita que la función de vibración del teléfono afecte a los datos del acelerómetro
  • Remapear el sistema de coordenadas en la aplicación para Android
  • ¿Cómo obtener el azimut de un teléfono con lecturas de brújula y lecturas de giroscopio?
  • Android Solución para los sensores que no funcionan cuando la pantalla está desactivada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.