Utilización de GPS USB en TurtleBlocks
Integrantes
- Fabio Ramos
- Gabriela Gallo
- Pablo Grill
Tutores
- Federico Andrade
- Andrés Aguirre
Tema elegido
Agregar un bloque en la paleta que permita utilizar un sensor gps usb.
Proceso del grupo
Tareas en proceso y finalizadas
-
Investigar funcionamiento de gps diferencial: distintos protocolos, teoría, etc -
Revisar funcionamiento NTRIP -
Investigar existencia de servidores NTRIP en uruguay -
Investigar opciones para implementar GPS Diferencial con un gps dongle -
Probar prestaciones de GPS dongle del laboratorio. - Compilar y generar gpsd (biblioteca para utilización del gps dongle) en las dos arquitecturas y de forma estática.
- Generar una nueva paleta para butia.
Minuta de reuniones con tutores
2014-02-28
- Participantes: Andrés Aguirre, Fabio Ramos, Gabriela Gallo, Pablo Grill
- Temas tratados:
- Se define objetivo del proyecto: Utilizar la funcionalidad de un GPS dongle en los butia, agregandole valor a sus prestaciones implementando GPS diferencial. La razón de utilizar un GPS dongle es basicamente que costo, muy inferior a otros tipos de GPSs de mejores prestaciones.
- Pasos a seguir:
- Investigar sobre GPS diferencial y documentar resultados.
- Investigar bibliotecas que implementen la corrección para GPS diferencial, por ejemplo RTKLib
- Elaborar un prototipo basado en modelo diferencial, usando lo máximo posible del estado del arte. (puede ser por ejemplo RTKLIB)
- intefaz python y si no hay se hacen o bien por socket, o bien por binding
- Integrar el prototipo a la Paleta butia:
- obtener latitud y longitud como servicio básico.
- Otras ideas:
- grabar secuencias.
- ir a tal punto (pasando latitud y longitud)
- reproducir secuencias
- tomar distancias
- Investigar si existen servidores NTRIP en Uruguay y en particular en FING
2014-04-10
- Participantes: Andrés Aguirre, Federico Andrade, Fabio Ramos, Gabriela Gallo, Pablo Grill
- Temas tratados:
- Se discute la inviabilidad de desarrollar GPS diferencial con el hardware de laboratorio (GPS USB Dongle ND-100)
- Pasos a seguir:
- Documentar lo investigado y plasmar las razones por las que implementar GPS diferencial no es posible.
- Integrar el GPS a la paleta butia sin implementar diferencial.
- Compilar gpsd para las dos arquitecturas de XO, y lograr que las bibliotecas queden instaladas bajo el directorio plugin
- Funcionalidades de la paleta:
- Bloque para inicializar el gps
- Bloque para obtener latitud y longitud.
- Funcionalidad de medir trayactoria.
- Luego de indicar 'comenzar a medir', cada cierto periodo de tiempo se irá calculando en base a la latitud y longitud la distancia recorrida. El periodo de tiempo podría llegar a ser configurable desde la paleta. Este parámetro indicara cuan semejante sera el valor a la verdadera trayectoria recorrida. Los bloques necesarios serán:
- - Bloque para comenzar a medir (e inicializar)-> quizá reciba como parámetro un numero indicando los segundos para calcular.
- - Bloque para indicar distancia al momento.
Documentación
Motivación
El robot Butiá posee como una de sus principales características la potencialidad de incluir muchos tipos de sensores. Sin embargo, al momento, la posibilidad de poder sensar las coordenadas geográficas donde el robot se encuentra no era factible. El Sistema de Posicionamiento Global GPS es actualmente una de las principales tecnologías utilizadas para fines de orientación y la integración de esta tecnología al robot Batía puede darle un gran valor agregado. Comenzando por la posibilidad de obtener la posición, así como luego poder implementar funciones más avanzadas que hagan de Butiá un robot más inteligente y adaptable a cualquier escenario. Debido al contexto en el cual se trabaja con Butiá, espacios en general reducidos, el aporte de implementar GPS diferencial, para así obtener información más precisa, es de vital importancia, por lo que se intentará también alcanzar este punto.
Objetivos
Generar en TurtleBots una paleta desde la cual se pueda acceder a servicios de un receptor GPS USB. Adicionalmente, agregar valor a sus prestaciones implementando GPS diferencial en tiempo real.
Introducción
Sistema GPS
El sistema GPS (global position system) está compuesto por una red de 24 satélites que orbitan alrededor de la tierra a unos 20200 km. Dichos satélites emiten continuamente señales para que los receptores en la tierra puedan con ellas determinar su posición. Además los satélites se encuentran coordinados de manera de que se puede mantener toda la superficie de la tierra cubierta. El funcionamiento de un receptor GPS se basa en la simple resolución de un problema matemático de determinar su posición, basándose en la de otros. Para lograr resolver dicho problema, el receptor GPS debe obtener los datos de al menos un conjunto mínimo de satélites (3 para la obtención de una posición de dos dimensiones, 4 para determinar posiciones en tres dimensiones).
Fuente de error.
Los GPS, al igual que todo instrumento de medición tienen un margen de error. En el caso de las mediciones GPS, dicho margen depende mucho de la precisión y calidad de los receptores utilizados. Sin embargo también influye mucho las condiciones climáticas y el contexto en que se es este realizando la medición.
Error de sincronismo.
Uno de los principales inconvenientes del posicionamiento mediante el sistema GPS, es que el exacto sincronismo entre los satélites es muy difícil de lograr. El cálculo de la posición del GPS se basa en determinar la posición de los satélites midiendo tiempo de retardo de la señal enviada por los mismos. El error surge cuando unos de los satélites involucrados no emite su señal en el mismo instante de tiempo que los demás. Esto lleva a que cuando el receptor reciba la señal y calcule el retardo de la misma, suponga para ello que se emitió en instante de tiempo determinado que no es correcta, lo que lleva a que la posición calculada no sea exacta. El error de sincronismo no está presente solo entre los satélites, sino que si el receptor no está en correcta sincronía, la posición calculada no será correcta. Para tratar de reducir este margen de error los satélites se encuentran equipados con osciladores atómicos de forma de que sus relojes se mantengan lo más sincronizados posibles. Esto hace que el primer error descripto anteriormente sea muy pequeño y casi despreciable. Sin embargo, el sincronismo que presente en el reloj del receptor depende mucho del mismo. Esto lleva a que existan receptores cuyo margen de error es menor al cm. y otros que puede llegar a ser de 10m.
Posición relativista. Debido al potencial gravitatorio de la tierra, el ritmo de dos relojes situados uno en la tierra y otro en el satélite deferirán. Para solucionar este problema los relojes de los satélites se ajustan periódicamente para esta en sincronía con los de la tierra. Sin embargo dicho ajuste no es a cada momento, por lo que dicho desfasaje repercute como error en los cálculos de posición del GPS.
Retardos a causa de la atmósfera
Como los satélites se encuentran sobre la atmosfera terrestre, las distintas capas de la misma influyen en las señales enviadas de manera que estas son retardadas. Entre estos retardos se encuentran los siguientes: Retardo Troposférico, Retardo Ionosferico.
Retardos instrumentales:
Entre estos componentes se encuentran las antenas, los cables, los filtros aplicados a las mediciones etc.
Multicamino:
Este error se presenta cuando una misma señal llega más de una vez a un mismo receptor. Esto sucede cuando en el entorno en el que se encuentra el receptor existen superficies que reflejan la señal. Para reducir este error existen ciertos receptores que ignoran los datos recibidos de ciertas direcciones; sin embargo la mejor forma de evitarlo es colocando los receptores lejos de superficies reflectoras. Es por esta fuente de error que los receptores GPS presenten menor margen de error en superficies abiertas que en las ciudades, ya que muchos edificios se comportan como superficies receptoras.
Ruido
En esta categoría se encuentran todos los demás factores que pueden influir en la recepción de las señales y que no fueron mencionados anteriormente.
Desarrollo del problema
En construcción
Conclusiones
En construcción
Trabajo a futuro
En construcción
Desarrollo del problema
En construcción
Conclusiónes
En construcción
Trabajo a futuro
En construcción
Referencias
- [1] http://uav.tridgell.net/LCA2014/dgps.pdf
- [2] http://rtk-pi.com/
- [3] http://rtk-pi.com/?p=1
- [4] http://gpspp.sakura.ne.jp/paper2005/isgps_2009_rtklib_revA.pdf
- [5] http://wiki.openstreetmap.org/wiki/RTKLIB
- [6] http://makezine.com/2009/11/12/diy-real-time-kinematic-gps/
- [7] http://www.sgm.gub.uy/geoportal/index.php/estaciones-referencia/srv-tr
- [8] http://www.catb.org/gpsd/client-howto.html
- [9] http://www.catb.org/gpsd/gpsd.html
- [10] http://www.catb.org/gpsd/
- [11] http://www.stuffaboutcode.com/2013/09/raspberry-pi-gps-setup-and-python.html
- [12] https://gist.github.com/wolfg1969/4653340
- [13] http://blog.perrygeo.net/2007/05/27/python-gpsd-bindings/