1 puntos por GN⁺ 2024-07-16 | 1 comentarios | Compartir por WhatsApp

Cálculo de posición usando datos GPS sin procesar

Importancia del sistema GPS

  • El GPS es el Sistema de Posicionamiento Global y se usa en diversas aplicaciones, desde la navegación en Google Maps hasta las apps de transporte.
  • El GPS es muy preciso y también se usa para medir la tectónica de placas y el desplazamiento continental.
  • El GPS es propiedad del gobierno de EE. UU., y el acceso para otros países puede restringirse por razones geopolíticas.
  • Por ello, se desarrollaron otros sistemas similares al GPS en distintos países, como GLONASS de Rusia, Galileo de la Unión Europea y BeiDou de China.

Sistemas de coordenadas

  • Para representar una ubicación se usan diversos sistemas de coordenadas.
  • La latitud/longitud de uso general no es adecuada para los cálculos matemáticos.
  • El sistema de coordenadas ECEF (Earth Centered, Earth Fixed) representa posiciones tomando como origen el centro de la Tierra.
  • El sistema WGS 1984 es el sistema ECEF más usado.

Definición de altura

  • Para definir la altura, primero hay que definir la superficie de referencia.
  • Se usan el elipsoide de referencia y el modelo de geoide.
  • El elipsoide de referencia no tiene significado físico, mientras que el geoide se define como el conjunto de puntos con el mismo potencial gravitatorio.

Latitud y longitud

  • La latitud geodésica es el ángulo entre la línea normal a la superficie del elipsoide y el plano del ecuador.
  • La longitud geodésica es el ángulo entre el meridiano de referencia y un meridiano específico.
  • La altura geodésica es la altura medida con respecto al elipsoide.

Conversión entre coordenadas geodésicas y cartesianas

  • Convertir coordenadas geodésicas a coordenadas cartesianas es sencillo.
  • Convertir coordenadas cartesianas a coordenadas geodésicas requiere un procedimiento iterativo.

Sistema de coordenadas local

  • El sistema de coordenadas local es el sistema ENU (East-North-Up), centrado en la ubicación del usuario.
  • Existe un método para convertir coordenadas ECEF a coordenadas ENU.

Cálculo de la posición del usuario usando GPS

Determinación de la posición de los satélites

  • La órbita de un satélite es elíptica y queda completamente definida por 6 parámetros de Kepler.
  • La posición del satélite se calcula según el documento de especificación de la interfaz GPS.

Cálculo de la distancia entre el usuario y el satélite

  • El receptor GPS calcula la distancia al satélite usando las marcas de tiempo de la señal satelital.
  • Esta distancia se llama pseudodistancia (pseudorange).
  • Para calcular una posición precisa, hay que modelar el desfase del reloj del usuario y del satélite, así como los retrasos atmosféricos.

Estimación del desfase del reloj del usuario

  • El desfase del reloj del usuario se estima junto con la posición del usuario.

Algoritmo para estimar la posición del usuario y el desfase del reloj

  • Se establece una posición inicial del usuario y un desfase inicial del reloj, y luego se corrigen de forma iterativa.
  • Para cada satélite, se corrige la pseudodistancia, se calcula el tiempo de transmisión de la señal y se calcula la posición del satélite.
  • Se usa álgebra lineal para encontrar una solución por mínimos cuadrados.

Observaciones sobre el código Matlab

  • Algunas ecuaciones requieren llamar a un solver.
  • Por ejemplo, calcular la anomalía excéntrica (E) a partir de la anomalía media (M) requiere un solver.

Configuración experimental

  • Se necesita una unidad GPS especial para recopilar datos GPS sin procesar.
  • Los chips NEO-M8T y 6T de u-blox son adecuados.
  • Se usa la utilidad STRSVR de RTKLib para recibir y guardar señales GPS sin procesar.

Procesamiento de datos GPS sin procesar

  • STRSVR guarda los datos GPS sin procesar en formato RTCM3.
  • Se usa la librería de Matlab goGPS para decodificar los datos RTCM y convertirlos en estructuras de datos de Matlab.

Análisis de resultados

  • Se analizan los cambios en la posición y en el desfase del reloj.
  • Se analizan las variaciones de los componentes este/norte/arriba (E/N/U) de la posición.
  • Se analizan a lo largo del tiempo las variaciones del desfase del reloj.

Cálculo de azimut/elevación de los satélites

  • Se calculan el azimut y la elevación de los satélites en el marco ENU centrado en el usuario.

Resumen de GN⁺

  • Este artículo explica cómo funciona el sistema GPS y cómo se calcula la posición.
  • Se usan diversos métodos de corrección para mejorar la precisión de los datos GPS.
  • Muestra cómo procesar y analizar datos reales mediante código Matlab.
  • Es útil para entender la infraestructura técnica del sistema GPS.
  • Proyectos con funciones similares incluyen RTKLib y goGPS.

1 comentarios

 
GN⁺ 2024-07-16
Comentarios de Hacker News
  • Android ya ofrece acceso a la fase de la portadora, y con eso se puede medir con mucha precisión la posición relativa entre dispositivos dentro de la misma zona

    • Si además se usan el acelerómetro y el giroscopio, se puede medir la posición en tiempo real, y como el cambio en las mediciones de seudodistancia GNSS es predecible, la precisión no cae demasiado
    • Esto permite implementar funciones interesantes, como hacer que un avión a escala aterrice automáticamente en la caja de una camioneta
    • Si el consumo de energía no es un factor demasiado importante, se puede construir un receptor GNSS bastante bueno a bajo costo
  • Hay un proyecto de código abierto para quienes quieran construir su propio receptor GPS

  • Es un enlace que aparece seguido en los comentarios sobre GPS, pero por una buena razón

  • También hay un enlace alternativo que ofrece una explicación más interactiva

  • Una vez conocí a un investigador que recolectaba datos GPS de organismos acuáticos que solo salen brevemente a la superficie en raras ocasiones

    • Registrando los datos en bruto y procesándolos después, se puede reducir mucho el consumo de energía y el tiempo de exposición a la señal satelital (el tiempo de exposición es de menos de 1 segundo)
  • El siguiente paso es PPP o RTK

    • GNSS es un campo interesante que ofrece muchas posibilidades
  • Hay otra buena implementación de código abierto

  • Hay una ilustración que muestra cómo la geometría usuario-fuente afecta la incertidumbre de la posición del usuario

    • Ojalá hubiera una opción en las aplicaciones de mapas del teléfono para cambiar la forma de la incertidumbre de ubicación de un círculo a una intersección de arcos
  • Escuché que GPS es una de las pocas aplicaciones de la vida cotidiana en las que hay que tener en cuenta efectos relativistas

    • Los datos generados ya excluyen esos efectos relativistas
  • Ejercicio para terraplanistas: expliquen cómo funciona el mapeo GPS de sus teléfonos si los satélites no orbitan una Tierra esférica.