2012-06-06 19 views
7

He estado investigando un problema que estamos tratando de resolver. Creo que este es el mejor enfoque, pero por favor agregue sus opinionesUso del acelerómetro para calcular velocidades

Estamos tratando de calcular los tiempos de reacción en un escenario de conducción real y nos gustaría utilizar un teléfono móvil como dispositivo de recolección de datos. Lo que estamos tratando de lograr es cuánta aceleración y, lo que es más importante, desaceleración que ejerce un conductor cuando se expone a ciertas indicaciones.

me encontré con este papel que se asigna de información útil Accelerometer physics

El problema es que muy probablemente no vamos a tener un tiempo de calibración para empezar en cero .. Sin embargo, se supone que el conductor está empezando a 0. Utilizaremos el posicionamiento GPS para ubicar el vehículo, rastrear los datos de ubicación marcados con el tiempo, debemos calcular la hora en que se realizó el aviso y luego usar los datos del acelerómetro con sello de tiempo para poder calcular su reacción al aviso.

Esta es la mejor manera que he encontrado para resolver el problema, pero no estoy seguro si los datos del acelerómetro se volverán inútiles por no poder calibrarlo y también el ruido visto por las vibraciones puede ser demasiado grande para usa los datos ... ¿Alguien ha probado o usado estos tipos de métodos antes?

+1

Solo escribes aceleración y deceleración en tu publicación. ¿Por qué necesitas la velocidad? ¿Por qué? – Ali

+0

posible duplicado de [Android acelerómetro precisión (navegación inercial)] (http: //stackoverflow.com/questions/7829097/android-accelerometer-accuracy-inertial-navigation) –

+0

La velocidad es importante para determinar la respuesta antes y después de la solicitud. Espero que el GPS proporcione un resultado relativamente preciso, pero si podemos calcular una apuesta El modelo más preciso que se preferiría – Monergy

Respuesta

4

Interesante aplicación.

Te estás perdiendo un punto importante. O bien tiene que implementar la fusión del sensor o usar la fusión del sensor proporcionada en la plataforma que está utilizando. Tanto Android como iPhone tienen uno.

El TYPE_LINEAR_ACCELERATION (Android, SensorManager) o userAcceleration (iPhone) debería ser suficiente para usted.

En cuanto al PDF vinculado, don't try integrating the acceleration, obtendrá resultados muy pobres. Aunque esa respuesta se trata de posición, la velocidad ya será inexacta. Yo probaría el GPS en su lugar.

+0

¡Muchas gracias! Veo que la API de Android solo funciona para la versión 10 y más reciente ... así que solo tiene un año y medio de antigüedad ... la fusión del sensor se puede hacer manualmente en versiones anteriores, ¿no? – Monergy

+0

Puede lograrlo siempre que tenga un acelerómetro y un sensor de campo magnético. Desafortunadamente, por lo general, no obtienes ningún resultado mejor haciéndolo tú mismo. En ese caso particular, no creo que la calibración sea su primer problema, ya que el ruido y la precisión lo harán. El GPS te ayudará mucho en esto Creo ^^ – PeterGriffin

+0

@Monergy Sí, puedes hacer tú mismo [la fusión del sensor] (http://stackoverflow.com/a/5895189/341970). Es una tarea no trivial y que requiere mucho tiempo, la implementé en la plataforma Shimmer. – Ali

0

Sé que es una pregunta muy antigua, pero dado que estoy trabajando recientemente en un proyecto similar, permítanme compartir lo que hicimos en nuestra empresa. Simplemente usamos OBD-II dongle para obtener la velocidad del automóvil. Hay muchas API que devuelven información sobre el vehículo.

PID010D devuelve la velocidad del vehículo. Estoy usando este PID para calcular la distancia entre los puntos A y B, ya que no hay un PID para devolver el cuentakilómetros :(

Hay pocas bibliotecas en github que puede encontrar fácilmente mediante la búsqueda This mine. Esto no es una biblioteca sino después ejecuta en tu dispositivo puedes ver cómo funciona.

Cuestiones relacionadas