21 votos

Detección de "falta de movimiento" en el dispositivo GPS

A mí y a mi asociados están teniendo un poco de un concepto de problema.

Estamos usando un dispositivo de rastreo GPS montado en vehículos y posterior visualización de los movimientos en nuestra aplicación. Bastante sencillo, ¿verdad?

Estamos teniendo un pequeño problema, sin embargo con los vehículos cuando NO se están moviendo.

A pesar de parado, el dispositivo GPS enviará información con posiciones diferentes, a veces incluso te informe de que el vehículo está en movimiento (cada de vez en cuando va a reportar un vehículo se está moviendo bastante rápido). El resultado final es un feo representación del movimiento en nuestra aplicación, y peor aún, cálculos incorrectos con respecto a la cantidad de tiempo que el vehículo se movía y estaba inmóvil (tenemos algunos análisis estadístico pasando así).

Sé que el problema no es nuevo: Google Navigation en mi teléfono Android también tiene problemas cuando me paro en un cruce de caminos cada ahora y de nuevo, la detección de la que ahora estoy conduciendo en la dirección opuesta (cuando en realidad, estoy parado).

Pero realmente necesitamos tener algún método de contar el vehículo no se mueve, especialmente durante períodos prolongados de tiempo.

El problema se agrava en algunos vehículos que se mantienen bajo los techos de la noche, que hace que el GPS para ir salvaje debido a una señal más débil (que es todavía lo suficientemente fuerte como para conseguir una posición, sin embargo).

Podemos detectar si el motor del vehículo está encendido o apagado, pero no podemos asumir que no se mueve con el motor apagado (hubo incidentes en los que un vehículo dañado fue remolcado... y por supuesto que hay un caso de posibles robos que también necesita ser informado).

¿Cuál es la mejor forma de abordar este problema?

EDITAR:

Para añadir algo más de información:

  • El dispositivo GPS tiene un acelerómetro, pero que sólo devuelve una información binaria (movimiento o no movimiento), y es DEMASIADO sensible o simplemente no está funcionando.

  • Tenemos acceso a cosas como el número de satélites o de calidad, pero estamos seguro de cómo utilizar esa información. Por lo tanto mi pregunta. :)

  • El problema no es acerca de cómo detectar si un vehículo está en movimiento o no en tiempo real. Recogemos los datos, y más tarde en hacer algunos análisis estadístico y visualización. Nos muestran la posición actual del vehículo, pero que es de poca importancia. Así que, básicamente, tenemos que ser capaces de decirle a un vehículo que estaba o no en movimiento mirando datos históricos.

6voto

Martin Duys Puntos 121

Los comentarios debajo de tu pregunta plantear algunos puntos buenos, especialmente acerca de la interpretación de los datos de satélite de la calidad (# de satélites, la fuerza de la señal), y usted puede utilizar esta información en el dispositivo móvil o en el servidor para filtrar los "malos" GPS valores. La cuestión se reduce a dos partes: 1) ¿cómo se puede definir con una falsa lectura del GPS, y 2) ¿cómo se define un estado estacionario.

Vamos a empezar con un par de parámetros:

  • stationary_speed = si la unidad móvil va más lento que el de este, entonces es estacionaria
  • too_fast = si la unidad móvil va más rápido que este, entonces se ha dado una falsa lectura del GPS

Es difícil de calcular estas velocidades con exactitud. Decir que se debe calcular la velocidad a la que el / entre la lectura anterior (t0) y la lectura actual (en t1). Si el tiempo delta es genial, y la unidad va en una curva, entonces la distancia recorrida será mayor que la distancia calculada. También, si tienes dos falsos lecturas en una fila, y estén lo suficientemente cerca el uno del otro, entonces usted puede conseguir resultados impredecibles.

Una vez que tenemos la velocidad, sólo tienes que comparar con sus parámetros para ver si la lectura del GPS es espuria o si la unidad está estacionaria.

Usted puede hacer más sofisticado de filtrado con filtros Kalman, pero que puede ser mucho más complicado.

2voto

mcchots Puntos 329

Usted puede utilizar el número de sats se utiliza para tomar la última revisión, no a la vista. Por ejemplo. View = 11, Fix = 5 Y usar el Max DB los valores de la señal de los más fuertes sat. Esto tiene que ser más de 30Db para obtener una señal decente.

Los dispositivos que utilizamos tienen un concepto de movimiento o no movimiento, sensores son : Aceleración, vibración, tensión de entrada, la señal de entrada (de la llave de contacto) , los datos de GPS. Informe sobre cargos, como el start/stop (caso base) y la dirección/distancia de eventos, el dispositivo tiene que estar en el modo de desplazamiento (esto es una cuenta atrás, contador, configurable).

Los sensores tienen la posibilidad de ser combinado. Sin rumbo/distancia de los acontecimientos, ni los temporizadores están siendo reportados, mientras que el marcador se determina a no ser en el modo de desplazamiento. Cuando los sensores que intervienen dejar de informar, el temporizador de cuenta regresiva a cero y, a continuación, un stop-se genera un evento de + la unidad se pone en no-modo de desplazamiento. Hasta la próxima vez. De esta manera se pueden separar una de arrancar el motor, los valores de aceleración a 'poner' en el modo de desplazamiento, y por separado un umbral más bajo para 'mantener' en movimiento modus ya que ambos son muy distintos a los que la aceleración de los patrones.

Las unidades que uso le informe si un punto se ha tomado con mala sat de datos, no está seguro de si su hardware lo hace. Tenemos un SV_Position o un SV_KeepAlive o SV_TimeAlive. El Keepalive se repita exactamente último valor ya que el GPS no se puede actualizar sus tablas ni obtener una precisa corrección, ni siquiera una mala. El TimeAlive es lo que usted verá cuando usted cruza un túnel o alguien ha aparcado en un garaje.

Una manera de vigilar también, aunque es una parte, hacer conjeturas, y depende del tipo de activos que se está siguiendo es el voltaje de la fuente de alimentación. por ejemplo. un dispositivo que funciona a las 12.30 v es un coche que el motor no está funcionando. Si ves a uno que los informes 14.2 v sabe que el alternador está girando. Para 24v vehículos hay un patrón similar al spot.

Espero que esto te da una idea. Todo depende un poco de lo bueno que sea el hardware. La fuente de los datos allí empieza y todo el resto después de que es sólo tan bueno como es. Pero yo le animamos a utilizar las unidades de las capacidades para hacer distinción de calidad en lugar de hacerlo todo de server-side (en retrospectiva). Una vez que usted hace como 3000 unidades necesitará un fornido servidor de analizar continuamente todos los datos de seguimiento, por lo que por entonces se dará cuenta de que no escala.

2voto

Cesar Puntos 128

Nos las hemos arreglado para ajustar el sensor de movimiento de datos.

Usando el sensor de movimiento de datos, la ignición de datos, y la velocidad reportada por el GPS tracker debemos ser capaces de saber cuando un vehículo está en movimiento o no con muy buena precisión.

También hemos echado un vistazo en el número de satélites, y que no se ven bien. Mientras que el número de satélites fue menor para un vehículo bajo techo, todavía era relativamente alta. 9-10 es el valor habitual para un vehículo de ese tipo, mientras que bajo un techo se cae a 7 (pero ocasionalmente puede obtener una señal y subir así). No hace falta decir, el número de satélites resultó ser menos que útil.

0voto

user10775 Puntos 121

He tenido un problema similar cuando se usa un GPS logger para una moto de pista. Lo que hice fue superpuesto que el GPS seguimiento de una capa de la carretera y manualmente borra las ubicaciones erróneas en o cerca de una esquina o semáforo. Estoy seguro que hay herramientas automatizadas para acuerdo con eso, probablemente buffers alrededor de las intersecciones y calcular el tiempo mínimo y máximo dentro y fuera de eso almacenador intermediario.

0voto

Mike Puntos 1113

El término del arte para esto es spidering. Un método común es a muestra simplemente solamente cuando el arreglo es de 10m de la solución anterior. Por ejemplo, Garmin de mano registro arreglos basados en la distancia mientras la aptitud fija récord en base al tiempo. Los walkies no araña mucho pero lo de los relojes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X