2008-12-01 11 views
6

Estoy usando unidades de GPS y computadoras portátiles para seguir los viajes de peatones individuales. Me gustaría en tiempo real "limpiar" la señal del GPS entrante para mejorar su precisión. Además, después del hecho, no necesariamente en tiempo real, me gustaría "bloquear" las reparaciones de GPS de las personas en las posiciones a lo largo de una red de carreteras. ¿Tiene alguna técnica, recursos, algoritmos o software existente para sugerir en cualquiera de los frentes?Limpieza de señal GPS y red de carreteras que coinciden

Algunas cosas que ya estoy considerando en términos de limpieza de señales: - soltar las correcciones para las cuales núm. de satélites = 0 - correcciones de caída para los que la velocidad es anormalmente alta (por ejemplo, a 600 millas por hora)

Y en términos de "bloqueo" a la red de calles (que escucho es llamado "el emparejamiento de mapas"): - Bloqueo al borde de red más cercano basado en el error cuadrático medio - cuando las reparaciones están lejos de la red de carreteras, resalte esos puntos y permita al usuario usar una GUI (por ejemplo, OpenLayers en un navegador web) para arrastrar, ajustar y colocar en la red de carreteras

¡Gracias por tus ideas!

Respuesta

6

Supongo que quiere "limpiar" sus datos para eliminar picos erróneos causados ​​por lecturas poco fiables. Este es un proceso dsp básico. Hay varios enfoques que podría tomar para esto, depende de lo inteligente que desee que sea.

En un nivel básico, sí, puedes buscar figuras realmente grandes, pero ¿qué es una figura realmente grande? Sí, 600 mph es rápido, pero no si estás en concorde. Mientras busca un valor que es "fuera de lo normal", en realidad está codificando "ordinario". Un mejor enfoque es examinar los datos pasados ​​para determinar qué es "ordinario" y luego buscar desviaciones. Es posible que desee considerar el cálculo de la varianza de los datos en una pequeña ventana local y luego ver si el puntaje z de sus datos actuales es mayor que algún umbral, y si es así, excluirlo.

+1

Buen punto, pero ya que habla de uso peatonal, creo que las velocidades de Concorde son un poco excesivas ... – CMPalmer

+1

Bueno, sí, pero simplemente estaba ilustrando un punto. Podría establecer su límite en 10 mph, un límite aceptable para caminar, pero ¿qué pasa si alguien está en una bicicleta o en una patineta? No puede compensar los límites arbitrarios porque está obligado a excluir algo erróneamente. Analiza tus datos y busca picos. –

4

Además de los comentarios de Andrew, es posible que también desee considerar factores de interferencia tales como la propagación múltiple y cómo se ven afectados en su flujo de datos de GPS entrante, p. HDOP en la línea GSA de NMEA0183. En mi propio software de controlador de GPS, permito que el usuario especifique los criterios de rechazo contra un rango de parámetros relacionados con QA.

También tiendo a trabajar en un principio de ventana móvil en este sentido, donde puede considerar rechazar datos que representan un pico basado en los datos circundantes en la misma ventana.

6

Una nota: debe utilizar 3 como mínimo satélites, no 0. Un GPS necesita al menos tres fuentes para calcular una ubicación horizontal. Cada GPS que he usado incluye un indicador de estado en la secuencia de datos; menos de 3 satélites se reportan como datos "malos" de alguna manera.

También debe considerar los datos "estacionarios". ¿Cómo manejarás al peatón parado por un período de tiempo? Tal vez esperando en un cruce de peatones o interactuando con un vendedor ambulante?

Dependiendo de lo que planeas hacer con los datos, es posible que debas suprimir esos puntos de datos adicionales o promediarlos en un solo punto o ubicación.

6

Menciona que esto es para el seguimiento de peatones, pero también menciona una red de carreteras. Los peatones pueden viajar a muchos lugares donde un automóvil no puede, y, de hecho, que probablemente no estén en ningún mapa que encuentre de una "red de carreteras". La mayoría de los mapas de ruta no tienen cosas como senderos para caminar en parques, senderos para caminatas, etc. No suponga que "fuera de la red de carreteras" significa que el GPS no está recibiendo una solución precisa.

4

Lea el posfijo para ver si la señal es válida (en algún lugar de la sentencia $ GPGGA si analiza cadenas NMEA sin formato). Si es 0, ignore el mensaje.

Además de eso, podría ver la combinación de HDOP y el número de satélites si realmente necesita asegurarse de que la señal es muy precisa, pero en situaciones normales eso no debería ser necesario.

Por supuesto que no hace daño a hacer algunas comprobaciones en las señales GPS:

  • latitud entre -90..90;
  • longitud entre -180..180 (o E..W, N..S, 0..90 y 0..180 si está leyendo cadenas NMEA sin formato);
  • velocidad entre 0 y 255 (para vehículos normales);
  • distancia a las coincidencias de medición anteriores (basado en lat/lon) coincide aproximadamente con la velocidad indicada;
  • temporización con tiempo de sistema no mayor que x (a menos que el reloj del sistema no sea fiable o dependa de la sincronización GPS :-));

Para hacer correspondencias de mapas, básicamente itera a través de los segmentos de la carretera y comprueba qué segmento es más probable para tu posición actual, dirección, velocidad y posiblemente medidas y coincidencias gps previas. Si no está haciendo una aplicación en tiempo real, o si un retraso en la retroalimentación es aceptable, incluso puede mirar hacia el "futuro" para ver qué segmento es el más probable.

Hacer todo eso correctamente es un arte en sí mismo, y este espacio aquí es demasiado corto para profundizar en él. A menudo es difícil decidir con 100% de confianza en qué segmento de carretera reside alguien. Por ejemplo, si hay dos caminos paralelos que están igualmente cerca de la posición actual, es una cuestión de heurística creativa.

Cuestiones relacionadas