Las claves de las carreras geolocalizadas

10 junio, 2022
Foto: Jaume Casanovas.

En este artículo Jaume Casanovas Coma, graduado del máster universitario en Ingeniería Informática de la UOC, nos explica las claves de su Trabajo Final de Máster (TFM) sobre carreras geolocalizadas.

(Més avall trobareu la versió en català d’aquest contingut: Curses geolocalitzades.)

Motivación

¿Por qué escoger las carreras geolocalizadas? En el mundo de las marchas y carreras, ya sean de carácter popular o competitivo, es necesario disponer de sistemas de control y cronometraje, para establecer las clasificaciones y para asegurar que todo el mundo ha pasado por la salida y la llegada u otros puntos de control.

Hace años que ya se utilizan varias soluciones de cronometraje, basadas en chips identificativos, como el “chip amarillo” (www.championchip.cat) o el uso de etiquetas NFC (Near Field Communication), y últimamente también se empiezan a utilizar sistemas de geolocalización por GPS (Global Positioning System). Se trata de soluciones profesionales que ofrecen algunas empresas de organización de eventos deportivos, pero suelen encarecer bastante las carreras, y en muchos casos se opta por alternativas más económicas, como el control visual a partir de las fotografías.

El CET (Centre Excursionista de Terrassa), organiza anualmente una carrera popular de esquí de montaña por parejas, la clásica NPN (Núria – Puigmal – Núria), donde cada equipo debe realizar el recorrido entre el Santuario de Núria y la cima del Puigmal, y volver de nuevo a Núria. Desde la organización de la carrera, además de buscar una solución que permita cronometrar los tiempos de ascenso y descenso, nos hemos planteado la necesidad de asegurar que los miembros de las parejas realizan juntos todo el recorrido, y más importante , asegurar que en cada momento conocemos la localización de cada participante y podemos ver el recorrido realizado, especialmente relevante en condiciones invernales, donde existe el riesgo de cambios repentinos de tiempo, sea por niebla, viento, o bien caída de aludes.

Ésta fue la motivación para escoger el área del trabajo final del máster universitario en Ingeniería Informática, que entre otras muchas, incluye el área de Servicios basados ​​en localización y espacios inteligentes (SBLEI). Esta área se alejaba de mi ámbito profesional y me permitía explorar nuevos conocimientos, ya que siempre me han interesado los mapas y la cartografía y, desde la aparición de los aparatos de GPS, he sido usuario en la geolocalización relacionada con diversas actividades de montaña: excursiones, rutas, espeleología, esquí de montaña, etc.

Proyecto propuesto

Así, el área de SBLEI abre la puerta a resolver el problema de la carrera NPN. El proyecto propuesto consiste en desarrollar un sistema para geolocalizar a los esquiadores y esquiadoras participantes en la carrera. Con la información recogida se podrá comprobar que las personas de cada equipo van juntas durante la carrera, se podrá calcular el tiempo de ascenso y descenso de cada pareja, visualizar cada track en tiempo real, establecer y publicar las clasificaciones. Además, el hecho de disponer de una App para la carrera, en un futuro puede servir para divulgar la carrera, gestionar las inscripciones y establecer un canal de comunicación entre la organización y las personas participantes.

El sistema planteado consiste en una aplicación móvil que permite sincronizar los smartphones de los participantes con una aplicación cliente-servidor para registrar las posiciones de cada uno en una base de datos, mientras que en la parte web ofrece la visualización de un mapa con los distintos tracks de la carrera en tiempo real. Finalmente, también es necesario proporcionar la publicación de la tabla de clasificaciones.

Para desarrollar la solución era necesario combinar diversas tecnologías: ¿qué sistema de mapas de base utilizar? ¿Cómo se visualizará? ¿De qué modo se hará el seguimiento? Etc. A continuación, veremos cada una de las tecnologías elegidas.

Como puede verse en el diagrama de arquitectura (figura 1), se utilizan soluciones existentes basadas en software libre, como es el sistema Traccar, y la solución de mapas OpenStreetMap con Leaflet.

Figura 1. Diagrama de arquitectura del proyecto.

Solución Traccar

Para poder realizar todo el desarrollo en el contexto del trabajo final, la solución pasa por reutilizar soluciones existentes de software libre que permitan ahorrar trabajo y orientar el TFM hacia una propuesta realista.

En este punto la directora del TFM jugó un papel clave, ya que me recomendó una solución muy interesante: Traccar. Se trata de una plataforma de geolocalización desarrollada en software libre, que dispone de la aplicación servidora así como las aplicaciones móviles ya desarrolladas por Android e IOS publicadas en Google Play y Apple Store, que interaccionan contra una API REST, perfectamente documentada e intuitiva.

OpenStreetMap y Leaflet en vez de Google Maps

La primera opción para la visualización de los mapas fue Google Maps, que es de pago por uso, aunque los costes no son desorbitados existe una alternativa excelente que encajaba mucho más con la filosofía del proyecto: OpenStreetMap, también conocido por su acrónimo OSM. Éste es un proyecto colaborativo de creación y edición de mapas basado en software libre. Está impulsado por la OpenStreetMap Foundation (OSMF), una fundación sin ánimo de lucro para fomentar el desarrollo de datos geoespaciales abiertos.

Para utilizar los mapas de OSM, existen varias soluciones, algunas también de pago, pero la más extendida y documentada es LeafLet, basada en bibliotecas de software libre de JavaScript que permiten interactuar fácilmente con los mapas y sus elementos.

Desarrollos

Los desarrollos realizados consisten en una aplicación cliente-servidor basada en el marco de desarrollo de JavaScript Node.js que permite:

  • Integración con la API de la solución Traccar para sincronizarse con los dispositivos móviles y obtener sus posiciones.
  • Desarrollo de una API propia como capa de persistencia de datos, para acceder a la base de datos, donde se almacenan los datos de geolocalización de los dispositivos sincronizados.
  • Interfaz web basada en el mapa OSM con la visualización de los tracks obtenidos.

La visualización web de la aplicación ofrece tanto a la organización como al público en general la visualización de un mapa (figura 2), que muestra el recorrido de la carrera y el movimiento en directo de los participantes.

Figura 2. Mapa de OpenStreetMap con los iconos de los corredores y tracks de la carrera.

La visualización en tiempo real de los iconos de los participantes sobre el mapa permite identificar rápidamente si alguna persona está quedando muy atrás o bien si ha cogido una ruta incorrecta, cuestión especialmente interesante en caso de mal tiempo con poca visibilidad del terreno.

Al mismo tiempo, en la base de datos se registran las posiciones de las personas participantes a cada minuto, así como el paso por los diferentes controles, salida, paso por la cima y llegada, así como otros controles intermedios que se determinen añadir.

El registro de posiciones y tiempo permite establecer las clasificaciones por orden de llegada y mostrar la parrilla de los resultados, ya sea durante la carrera para conocer la evolución, como al finalizar para publicar las clasificaciones finales.

Instalación de los componentes

Durante el desarrollo y fase de test, la instalación de los diferentes componentes (Traccar Server, Traccar API, PostgreSQL, Traces Server, Traces Api, Traces Web) se ha realizado sobre una máquina Linux en local basada en Ubuntu 20.04.4 LTS, mientras que la aplicación móvil Traccar Client, se ha instalado sobre el emulador de dispositivos Android que ofrece Android Studio.

Para la puesta en funcionamiento real, se instalarán los diferentes componentes sobre una máquina virtual en la nube, para que el servidor tenga visibilidad en Internet, por otra parte, en el dispositivo móvil de cada participante instalará la aplicación Traccar Client disponible en Google Play y Apple Store.

Prueba piloto

Además de los desarrollos y test, buena parte de las tareas de un proyecto, son de prospección de mercado y análisis, documentación, presentación, etc… Pero no termina aquí porque ahora toca poner la aplicación en producción y experimentar el funcionamiento en real.

La siguiente edición de la carrera estaba prevista para principios de marzo de 2022, en la Vall de Núria, y era el momento de poner en marcha la aplicación en formato piloto. Desgraciadamente, este año la nieve ha llegado muy tarde y la complejidad de realizar un cambio de fecha hizo tomar la decisión de anular la carrera del 2022, sumando así dos años consecutivos sin carrera ya que en el 2021 no se organizó debido a la COVID-19. Esperamos que se pueda llevar a cabo la carrera del año 2023 y aprovechar entonces para evaluar al piloto.

Siguientes pasos

Como sucede en cualquier proyecto de desarrollo, y especialmente en el marco de un TFM, la primera versión del producto es una versión basada en el mínimo producto viable, por lo que existe una gran cantidad de mejoras a realizar. Algunas de estas mejoras son aspectos de seguridad tales como la securización de los servicios web desarrollados o la configuración de un certificado de seguridad; otras son mejoras que pueden automatizar procesos como el alta de usuarios o la configuración del inicio de la carrera.

Por otra parte, existe un gran abanico de posibles evoluciones funcionales que pueden conducir al desarrollo de nuevas versiones del proyecto. En este sentido se ha identificado como desarrollo esencial para la puesta en producción del sistema, la adaptación de las aplicaciones móviles Traccar Client para Android y para IOS, con una doble finalidad: por un lado facilitar la configuración de la URL del servidor y la asignación de los dorsales a los dispositivos de los participantes; y por otro, dotar a la aplicación de nuevas funcionalidades que permitan establecer un canal de difusión y de comunicación bidireccional entre participantes y organización.

Conclusión

El TFM en el área de SBLEI me ha permitido explorar con profundidad la tecnología de geolocalización basada en dispositivos móviles, proporcionando así una solución válida para el seguimiento de la carrera NPN, con un gran potencial de posibilidades de evolución, como podría ser la generalización de la aplicación con la parametrización y personalización de los itinerarios, puntos de control, horarios, etc… para ofrecer un sistema de seguimiento multipropósito para otras carreras.

Enlace al Repositorio Institucional (O2)

http://hdl.handle.net/10609/138089

Título TFM: Traces. Seguimiento de carreras de esquí de montaña online

Autor: Casanovas Coma, Jaume

Directora TFM: Muñoz Bollas, Anna

Profesor responsable: Pérez Navarro, Antoni  

Curses geolocalitzades

En aquest article Jaume Casanovas Coma, graduat del màster universitari en Enginyeria Informàtica de la UOC, ens explica les claus del seu treball final de màster (TFM) sobre carreres geolocalitzades.

Foto: Emili Sánchez.

Motivació

En el món de les marxes i les curses, ja siguin de caràcter popular o competitiu, és necessari disposar de sistemes de control i cronometratge, per establir les classificacions i per assegurar que tothom ha passat per la sortida i l’arribada o altres punts de control. 

Fa anys que ja s’utilitzen diverses solucions de cronometratge, basades en xips identificatius, com l’anomenat “xip groc” (www.championchip.cat) o bé l’ús d’etiquetes NFC (Near Field Communication), i darrerament també es comencen a utilitzar sistemes de geolocalització per GPS (Global Positioning System).  Es tracta de solucions professionals que ofereixen algunes empreses d’organització d’esdeveniments esportius, però acostumen a encarir força les curses, i en molts casos s’opta per alternatives més econòmiques, com el control visual a partir de les fotografies.

El CET (Centre Excursionista de Terrassa), organitza anualment una cursa popular d’esquí de muntanya per parelles, la clàssica NPN (Núria – Puigmal – Núria), on cada equip ha de realitzar el recorregut entre el Santuari de Núria i el cim del Puigmal, i  tornar de nou a Núria. Des de l’organització de la cursa, a més de buscar una solució que permeti cronometrar els temps d’ascens i descens, ens hem plantejat la necessitat d’assegurar que els membres de les parelles realitzen junts tot el recorregut, i encara més important, assegurar que en cada moment coneixem la localització de cada participant i podem veure el recorregut realitzat, especialment rellevant en condicions hivernals, on existeix el risc de canvis sobtats de temps, sigui per boira, vent, o bé caiguda d’allaus.

Aquesta va ser la motivació per escollir l’àrea del treball final del màster universitari en Enginyeria Informàtica, que entre moltes altres, inclou l’àrea de Serveis basats en localització i espais intel·ligents (SBLEI). Aquesta àrea s’allunyava del meu àmbit professional i em permetia explorar nous coneixements, ja que sempre m’han interessat els mapes i la cartografia i, des de l’aparició dels aparells de GPS, n’he estat usuari en la geolocalització relacionada amb diverses activitats de muntanya: excursions, rutes, espeleologia, esquí de muntanya, etc.

Projecte proposat

Així doncs, l’àrea de SBLEI obre la porta a resoldre el problema de la cursa NPN. El projecte proposat consisteix en desenvolupar un sistema per geolocalitzar els esquiadors i esquiadores participants a la cursa. Amb la informació recollida es podrà comprovar que les persones de cada equip van juntes durant la cursa, es podrà calcular el temps d’ascens i descens de cada parella, visualitzar cada track en temps real, establir i publicar les classificacions. A més, el fet de disposar d’una App per la cursa, en un futur pot servir per fer la divulgació de la cursa, gestionar les inscripcions i establir un canal de comunicació entre l’organització i les persones participants.

El sistema plantejat consisteix en una aplicació mòbil que permet sincronitzar els smartphones dels participants amb una aplicació client-servidor per tal d’enregistrar les posicions de cadascú en una base de dades, mentre que en la part web ofereix la visualització d’un mapa amb els diferents tracks de la cursa en temps real. Finalment també cal proporcionar la publicació de la taula de classificacions.

Per desenvolupar la solució calia combinar diverses tecnologies: quin sistema de mapes de base fer servir? Com visualitzar-lo? De quina manera es farà el seguiment? Etc. Tot seguit, veurem cadascuna de les tecnologies triades.

Com es pot veure en el diagrama d’arquitectura (figura 1), s’utilitzen solucions existents basades en programari lliure, com és el sistema Traccar, i la solució de mapes OpenStreetMap amb Leaflet. 

Figura 1. Diagrama d’arquitectura del projecte.

Solució Traccar

Per poder fer tot el desenvolupament en el context del treball final, la solució passa per reutilitzar solucions existents de programari lliure que permetin estalviar feina i orientar el TFM cap a una proposta realista.

En aquest punt va jugar un paper clau la directora del TFM, que va recomanar una solució molt interessant: Traccar. Es tracta d’una plataforma de geolocalització desenvolupada en programari lliure, que disposa de l’aplicació servidora així com les aplicacions mòbils ja desenvolupades per Android i IOS publicades al Google Play i Apple Store, que interaccionen contra una API REST, perfectament documentada i intuïtiva.

OpenStreetMap i Leaflet en comptes de Google Maps

La primera opció per la visualització dels mapes va ser  Google Maps, que és de pagament per ús, encara que els costos no són desorbitats hi ha una alternativa excel·lent que encaixava molt més amb la filosofia del projecte: OpenStreetMap, també conegut pel seu acrònim OSM.  Aquest és un projecte col·laboratiu de creació i edició de mapes basat en programari lliure.  Està impulsat per la OpenStreetMap Foundation (OSMF), una fundació sense ànim de lucre per fomentar el desenvolupament de dades geoespacials obertes.

Per utilitzar els mapes d’OSM, hi ha diverses solucions, algunes també de pagament, però la més extesa i documentada és LeafLet, basada amb biblioteques de programari lliure de JavaScript que permeten interactuar fàcilment amb els mapes i els seus elements.

Desenvolupaments 

Els desenvolupaments realitzats consisteixen en una aplicació client-servidor basada en el marc de desenvolupament de JavaScript Node.js, que permet:

  • Integració amb la l’API de la solució Traccar per sincronitzar-se amb els dispositius mòbils i obtenir-ne les posicions.
  • Desenvolupament d’una API pròpia com a capa de persistència de dades, per accedir a la base de dades, on s’emmagatzema les dades de geolocalització dels dispositius sincronitzats.
  • Interfície web basada en el mapa OSM amb la visualització dels tracks obtinguts.

La visualització web de l’aplicació ofereix tant a la organització com al públic en general la visualització d’un mapa (figura 2), que mostra el recorregut de la cursa, i el moviment en directe dels participants.

Figura 2. Mapa de OpenStreetMap amb les icones dels corredors i tracks de la cursa.

La visualització en temps real de les icones dels participants sobre el mapa, permet identificar ràpidament si alguna persona està quedant molt enrere o bé si ha agafat una ruta incorrecta, qüestió especialment interessant en cas de mal temps amb poca visibilitat del terreny.

Al mateix temps, a la base de dades s’enregistren les posicions de les persones participants a cada minut, així com el pas pels diferents controls, sortida, pas pel cim i arribada, així com altres controls intermitjos que es determinin afegir.

El registre de posicions i temps, permet establir les classificacions per ordre d’arribada i mostrar la graella dels resultats, ja sigui durant la cursa per conèixer l’evolució, com en finalitzar per tal de publicar les classificacions finals.

Instal·lació dels components

Durant el desenvolupament i fase de test, la instal·lació dels diferents components (Traccar Server, Traccar API, PostgreSQL, Traces Server, Traces Api, Traces Web) s’ha fet sobre una màquina Linux en local basada en Ubuntu 20.04.4 LTS, mentre que l’aplicació mòbil Traccar Client, s’ha instal·lat damunt de l’emulador de dispositius Android que ofereix Android Studio. 

Per a la posada en funcionament real, s’instal·laran els diferents components sobre una màquina virtual en el núvol, per tal que el servidor tingui visibilitat a Internet, d’altra banda,  en el dispositiu mòbil de cada participant al pilot s’hi instal·larà l’aplicació Traccar Client disponible al Google Play i Apple Store.

Prova pilot

A  més dels desenvolupaments i test, bona part de les tasques d’un projecte, són de prospecció de mercat i anàlisi, documentació, presentació, etc… però no s’acaba aquí perquè ara toca posar l’aplicació en producció i experimentar el funcionament en real.

La següent edició de la cursa estava prevista per principis de març de 2022, a la Vall de Núria, i era el moment de posar en marxa l’aplicació en format pilot.  Malauradament, enguany la neu ha arribat molt tard i la complexitat de fer un canvi de data va fer prendre la decisió d’anular la cursa del 2022, sumant així dos anys consecutius sense cursa ja que al 2021 no es va organitzar a causa de la COVID-19. Esperem que es pugui dur a terme la cursa de l’any 2023 i aprofitar aleshores per avaluar el pilot.

Següents passos

Com succeeix en qualsevol projecte de desenvolupament, i especialment en el marc d’un TFM, la primera versió del producte és una versió basada en el mínim producte viable, de manera que hi ha una gran quantitat de millores a realitzar. Algunes d’aquestes millores són aspectes de seguretat com ara la securització dels serveis web desenvolupats o la configuració d’un certificat de seguretat; altres són millores que poden automatitzar processos com ara l’alta d’usuaris o la configuració de l’inici de la cursa. 

D’altra banda, hi ha un gran ventall de possibles evolucions funcionals que poden conduir al desenvolupament de noves versions del projecte. En aquest sentit s’ha identificat com a desenvolupament essencial per la posta en producció del sistema, l’adaptació de les aplicacions mòbils Traccar Client per Android i per IOS, amb una doble finalitat: d’una banda facilitar la configuració de la  URL del servidor i l’assignació dels dorsal als dispositius dels participants; i de l’altra, dotar l’aplicació de noves funcionalitats que permetin establir un canal de difusió i de comunicació bidireccional entre participants i organització.

Conclusió

El TFM en l’àrea de SBLEI m’ha permès explorar amb profunditat la tecnologia de geolocalització basada en dispositius mòbils, i proporcionar així una solució vàlida pel seguiment de la cursa NPN, amb un gran potencial de possibilitats d’evolució, com podria ser la generalització de l’aplicació amb la parametrització i personalització dels itineraris, els punts de control, horaris, etc… per tal d’oferir un sistema de seguiment multipropòsit per a altres curses.

Enllaç al Repositori Institucional (O2)
http://hdl.handle.net/10609/138089

Títol TFM: Traces. Seguiment de curses d’esquí de muntanya en línia

Autor: Casanovas Coma, Jaume

Directora TFM: Muñoz Bollas, Anna

Professor responsable: Pérez Navarro, Antoni  

(Visited 86 times, 1 visits today)
Autor / Autora
Graduado del máster universitario de Ingeniería Informática de la Universitat Oberta de Catalunya (UOC).
Comentarios
Deja un comentario