Investigación
Sistema de navegación de vehículos autónomosbasado en Real-Time Kinematics
Sistema de navegación de vehículos autónomosbasado en Real-Time Kinematics
Ingeniería, vol. 23, núm. 1, pp. 14-23, 2019
Universidad Autónoma de Yucatán

Recepción: 15 Mayo 2018
Aprobación: 09 Enero 2019
Resumen: El posicionamiento satelital mediante el Sistema de Posicionamiento Global (GPS), usado en gran cantidad de dispositivos para determinar su ubicación dentro del sistema de coordenadas terrestre, suele verse afectado por múltiples factores que tienen como consecuencia errores de medición en la escala de metros y que derivan en otras imprecisiones al efectuar mediciones relacionadas a la localización. En este artículo se presenta el diseño e implementación de un sistema de navegación en tiempo real, basado en la técnica conocida como Real-Time Kinematics, utilizando tarjetas de desarrollo de GPS conectadas a una placa de computadora BeagleBone Black bajo el sistema operativo GNU/Linux, que incrementa la precisión de la ubicación de vehículos aéreos no tripulados en el orden de centímetros, facilitando, de esta manera, el control del posicionamiento de los mismos en tiempo real, y permitiendo el fácil acoplamiento e interacción con otros desarrollos realizados bajo el mismo sistema operativo.
Palabras clave: GPS, Real-Time Kinematics, Control autónomo, Vehículo autónomo, BeagleBone Black.
1. Introducción
A pesar del avance de la tecnología en las herramientas de posicionamiento satelital, aún persisten algunos errores en su precisión provocados por factores como las vías múltiples, causadas por el reflejo de las ondas de radio en las superficies que rodean a una antena; los atmosféricos, cuando las ondas de radio atraviesan las capas de la atmósfera; o los causados por los relojes incorporados tanto a satélites como receptores, entre otros (Grewal, M. S. et al., 2000), que, de forma práctica, afectan el desempeño de los sistemas que las utilizan. Los dispositivos que utilizan el Sistema de Posicionamiento Global (GPS) para determinar su posición geográfica reciben un error de precisión de ±12 m. Dicha precisión representa un problema de practicidad para ubicar sistemas basados solamente en GPS.
En la tesis de De la Cruz Bautista, V. et al. (2011), se usa un sistema GPS para apoyar la logística de distribución de farmacéuticos, con capacidad de obtener los datos de localización, tiempo y velocidad de desplazamiento de un vehículo. Sin embargo, dado el error de precisión del GPS, el sistema tendería a indicar rutas imprecisas.
En la tesis de Rönnbäck, S. (2000), menciona la implementación de un sistema de navegación inercial INS/GPS para un drone. La posición de este sistema es estimada con un error de 2 m con un 95% de confianza, además de otros datos para asistir al vuelo como velocidad y su altitud. Una incertidumbre de 2 m hace inviable que un drone pudiese mantenerse en una posición estática suponiendo que se desea aplicar control de posición mediante coordenadas utilizando como única referencia al dispositivo GPS.
En la tesis de Maldonado Hidalgo, D.A (2010), afirman que las coordenadas recibidas de un dispositivo GPS solamente son usadas como aproximación a la posición del vehículo, y nunca como un dato que sirviese al computar datos, dada la exactitud mínima de 10 m. Mencionan limitantes tales como el peso total de la carga del drone y el consumo de energía causado por la integración de todos los demás sensores, de los cuales el GPS aporta entonces una cantidad mínima de información y utilidad en general.
Dado que los trabajos previos presentan inconvenientes con la precisión del sistema de navegación de los dispositivos debido a la naturaleza del sensor GPS, se propone la implementación de un sistema de navegación a partir de dos señales de GPS, en un sistema portátil de arquitectura ARM (Advanced RISC Machine) que reduce el error a una escala medible en centímetros. El objetivo de este trabajo es el diseño y la implementación de un sistema de navegación para dispositivos pequeños y portátiles capaz de conocer su ubicación en un entorno geográfico con una alta precisión.
1.1. Real-Time Kinematics
Un GPS es un sistema de geolocalización que calcula la posición de un punto cualquiera en un espacio de coordenadas (x, y, z). Se le llama Sistema de Navegación Cinética Satelital en Tiempo Real (RTK, por sus siglas en inglés), a la corrección de la señal GPS basada en las portadoras de datos de navegación L1 (1575.42 MHz) y L2 (1227.60 MHz).
En un sistema RTK (Figura 1), se cuenta con dos receptores de señal GPS (estación base y móvil) en una misma área. Debido a su proximidad teórica, se asume que ambos receptores tienen el mismo rango de error de precisión de posicionamiento GPS. Si la posición exacta de la estación base es conocida, ésta puede ser usada para determinar el error asociado a las lecturas de dicho receptor y después aplicar la corrección a la posición de la estación móvil (Rover) (Fallas, J. 2002).
Exclusivamente en el modo Real-Time Kinematics, en cada muestra, existe un parámetro, denominado Ratio, que indica la calidad de la señal de los satélites y de las mediciones del GPS en el Rover, de forma proporcional. Mientras más alto sea el valor de Ratio, mejor será la corrección de la señal de GPS.
Cuando el sistema de navegación recién inicia con la observación de satélites, el valor de Ratio suele ser bajo (Ratio < 3). Conforme el tiempo avanza, el valor de Ratio incrementa debido a una mayor y más estable captación de satélites.
Con todas las correcciones, se alcanza una precisión de menos de 10 cm (Cerrato Miranda, J. 2011). Conforme el receptor móvil se aleja gradualmente de la estación base, disminuye la utilidad de las correcciones proporcionadas.

2. Metodología
El sistema de navegación propuesto se compone de dos estaciones de trabajo: una estación base, fija en una posición con coordenadas conocidas, y una estación móvil (Rover) en el dispositivo a rastrear cerca de la estación base (Figura 2). El sistema requiere de los siguientes dispositivos: dos tarjetas de evaluación GPS, una unidad central de procesamiento (CPU, por sus siglas en inglés), dos radiotransmisores, biblioteca RTKLIBcomo software de apoyo.
Los componentes con que cuenta el Rover (Figura 3) son: una unidad principal de procesamiento, la BeagleBone Black (desarrollada por la BeagleBone Foundation), que posee una arquitectura ARM, que además cuenta con soporte de varias distribuciones Linux; un convertidor RS232 a serial CMOS, necesario para que la BeagleBone Black reciba datos de forma serial; una placa de botones, diseñada para el manejo de eventos durante el recorrido; una Pantalla LCD, utilizada para desplegar información del software; un regulador de voltaje, utilizado para evitar el daño de dispositivos electrónicos delicados por variaciones de voltaje; una batería de +6 V, utilizada para alimentar todo el sistema; una placa de distribución de energía, utilizada como el punto a partir de donde se distribuyen los cables de alimentación de los componentes; una tarjeta de evaluación GPS, que cuenta con un GPS Ublox Neo M8P y una interfaz de comunicación inalámbrica para comunicarse con una tarjeta gemela en la estación base. Es importante señalar que este modelo de GPS es capaz de brindar la información que recibe de los satélites en formato crudo, cosa necesaria para el adecuado funcionamiento de RTKLIB.



La estación base (Figura 4) cuenta con una tarjeta de evaluación GPS idéntica a la que se encuentra sobre el Rover, que incorpora también un módulo de comunicación inalámbrica HM-TRP de tipo Frequency-shift keying que opera a una frecuencia de 915 MHz (dentro del rango de la frecuencia ultra alta, UHF por sus siglas en inglés) en su versión americana, además de una batería de alimentación. La estación base utilizada fue colocada sobre un trípode de 1.60 m de altitud, mismo que fue colocado en una determinada posición. Las coordenadas de dicha posición fueron obtenidas con Google Maps para usar ese servicio como marco de referencia al momento de observar las coordenadas guardadas por el sistema resultante.
En cuanto a software , se codificaron las siguientes bibliotecas en lenguaje C++, para la adecuada manipulación e interpretación de la información del hardware en el Rover: La biblioteca gps.h introduce una clase denominada GPS, que se encarga de la extracción de los datos de posicionamiento obtenidos de RTKLIB y los divide en atributos pertenecientes a la clase para favorecer un uso estandarizado de C++, así como hace uso de exclusión mutua para evitar conflictos de lectura con datos no actualizados, y una función llamada fix() que devuelve alto (1) o bajo (0) de acuerdo a si los datos cuentan con el suficiente nivel de confiabilidad; la biblioteca lcd.h implementa una clase denominada LCD, encargada de manipular determinados pines de entrada/salida de la BeagleBone Black, para el correcto manejo de una pantalla LCD conectada al sistema mediante dichos pines, realizando los pasos de inicialización de forma automática y pudiendo manifestar el estado actual del sistema mediante la impresión de una determinada secuencia de caracteres o un string, o a través del color de retroiluminación de la pantalla en caso de contar con características RGB.
3. Resultados
3.1. Experimento de evaluación
Para evaluar la precisión del sistema de navegación basado en RTK, se delimitó un perímetro cuadrado con medidas conocidas en una determinada área libre de interferencias para lecturas de GPS más precisas (Figura 5a).

El perímetro cuadrado de 15 m por lado se dividió en un total de 20 subsegmentos de 3 m de longitud. Las marcas de separación de segmentos fueron puntos de medición para evaluar el desempeño del sistema propuesto.
Para fines de comparación de datos y contraste de resultados, se realizaron muestreos de las 20 marcas de segmentos en el perímetro cuadrangular definido (Figura 5). Se efectuaron dos recorridos consecutivos al perímetro (20 muestreos cada uno) utilizando el sistema de navegación con Real-Time Kinematics (modo RTK), y otros dos recorridos consecutivos sin RTK (modo Single).
Una vez delimitado el perímetro para muestreo, se establecieron las coordenadas de latitud, longitud y altitud de la estación base en un punto cercano al espacio de muestreo con la ayuda de la aplicación Google Maps.
En los muestreos en modo Single existe una cantidad considerable de saltos erráticos entre los puntos, donde no se asocia fácilmente qué muestra corresponde a qué marca de segmento del cuadrado. Asimismo, del lado derecho, presenta saltos, donde se pierde el seguimiento de línea recta, causado probablemente por la cercanía de árboles. En contraste, el modo RTK muestra una mayor precisión de localización de marcas de segmentos donde fueron tomadas las muestras, así como no se observan saltos, como muestran las Figuras 5c y 5d.
Los muestreos del segundo recorrido en modo RTK presentan el valor de Ratio más alto (Figura 6). A las muestras correspondientes a un lado recto del perímetro delimitado se les aplicó regresión lineal para verificar su cercanía a una línea recta. El coeficiente de correlación R fue de 0.997, indicando un alto ajuste de las muestras a una línea recta (Figura 7). El Ratio de las muestras del primer recorrido en modo RTK tuvieron valores bajos, y a pesar de ello, las muestras se mantienen muy próximas a la línea recta obtenida con los valores del segundo recorrido. Los muestreos en modo Single presentan una tendencia por mediciones erróneas (fuera de la línea recta). El desempeño del modo Single en un drone generaría trayectorias erráticas.


La Tabla 1 presenta los resultados de error de posición y altura en cada segmento con ambas modalidades, donde AVG, SD y MED representan promedio, desviación estándar y mediana, respectivamente. El error por segmento se calcula restando la distancia medida a los tres metros nominales que debe medir cada segmento.

Para analizar la precisión de altitud de nuestro sistema de navegación, se observaron dichos valores obtenidos en ambos modos a lo largo de los recorridos (Figura 8). Dado que la altitud de la zona delimitada es de aproximadamente 5 m sobre el nivel del mar y la altura de la antena del Rover se encontró a 3 m sobre el piso, la altitud debió estar alrededor de los 8 m. El modo Real-Time Kinematics demuestra una mejor estabilidad y consistencia de datos.

4. Conclusiones
En este artículo se presentó el diseño e implementación de un sistema de navegación basado en Real-Time Kinematics, para obtener información de posicionamiento de un vehículo con una precisión mayor a la adquirida por GPS modo Single. Los resultados en modo RTK fueron satisfactorios dado que, en términos de coordenadas, se notó una mayor estabilidad y mejor ajuste que en el modo Single, donde se obtuvieron mediciones erráticas causadas por el mismo sistema de GPS. En términos de medición de altitud del sistema RTK, se observó una mayor aproximación a un valor constante que en el modo Single, que marcaba incluso datos negativos.
Agradecimientos
Este trabajo fue patrocinado parcialmente por el Consejo Nacional de Ciencia y Tecnología (CONACYT).
Referencias
Cerrato Miranda, J. (2011). “Diseño e implementación de una aplicación visual para el control de flotas basado en GPS”. Tesis de maestría, Universidad Carlos III de Madrid.
De la Cruz Bautista, V., Luna Vazquez, M.d.R., Navarro Tapia, T., Robles Valdez, E.O., Ramírez Arguelles, M.A. (2011). “Diseño de una estrategia logística de rutas para la distribución de productos farmacéuticos”. Tesis de maestría, Instituto Politécnico Nacional de México.
Fallas, J. (2002): “Sistema de posicionamiento global”. Reporte técnico, Universidad Nacional, Laboratorio de teledetección y sistemas de información geográfica. Escuela de Ciencias Ambientales y Programa Regional en Manejo de Vida Silvestre, Costa Rica.
Grewal, M. S., Weill, L. R., Andrews, A. P. (2000): “Global Positioning Systems, Inertial Navigation, and Integration”. John Wiley & Sons, Inc., New York, USA.
Maldonado Hidalgo, D.A., Ramírez Acosta, C.F., Villarreal Quintero, M.E. (2010): “Controlador de posición para un vehículo aéreo de 4 rotores realimentado por GPS”. Tesis de maestría, Pontifica Universidad Javeriana, Bogotá, Colombia.
Rönnbäck, S. (2000): “Developement of a INS/GPS navigation loop for an UAV”. Tesis de maestría, Lulea Tekniska Universitet, Suecia.
Información adicional
*: Este artículo de Investigación es parte de Ingeniería–Revista Académica de la Facultad de Ingeniería, Universidad Autónoma de Yucatán, Vol. 23, No. 1, 2019, ISSN: 2448-8364