Pwr-running, al igual que la mayoría de aplicaciones para registrar y medir actividades de “running”, utiliza el GPS como sensor principal para estimar las distancias recorridas. El GPS proporciona la posición en el globo terráqueo en términos de latitud y longitud, y calcula la altitud respecto al nivel del mar. Además, el GPS da una indicación de la fiabilidad, en metros, de los valores de posición y altitud. Una fiabilidad en la posición de 5 metros significa que el dispositivo GPS garantiza que el error entre la latitud y la longitud proporcionada, y la real es inferior a 5 metros. Las fiabilidades de los sensores de los teléfonos móviles se mueven en el rango de 3 metros a 15 metros en zonas de muy buena cobertura. Con mala cobertura, el error puede llegar a los 100 metros. Las mediciones del GPS suelen ser cada segundo, por lo que en una actividad de running a un ritmo de entre 8 y 15 km/h, los puntos GPS estarán distanciados entre 2 y 4 metros con un error, en el mejor de los casos, de 3 metros. Es decir, si el movimiento fuera errático, el error sería enorme, pero cuando corremos, el movimiento no es errático, sigue una línea, lo cual permite medir las distancias con una precisión inferior al 1%. Cuanto más recta sea la línea en la que nos desplazamos, mayor será la precisión.

Pwr-running utiliza modelos de Inteligencia Artificial, concretamente de machine-learning, para estimar las distancias. En un modelo de machine learning, se introducen un conjunto de casos contrastados en los que se conocen tanto los puntos GPS como la distancia “real” recorrida (casos de “aprendizaje”), y el modelo “inventa” un algoritmo que minimiza el error, es decir, que cuando calculamos con dicho algoritmo la distancia recorrida a partir de los puntos GPS, el error medio de dichas distancias estimadas respecto a las distancias reales conocidas, es mínimo. Cuanto mayor y más variado sea el conjunto de casos de aprendizaje, más fiable será el algoritmo o mejor dicho más fiable independientemente del escenario.

En pwr-running, hemos construido 4 modelos de machine-learning para estimar distancias. En el primer modelo, hemos utilizado como casos de aprendizaje recorridos por “Carretera” y como medidor “fiable” de distancias el cuentakilómetros de un coche. En el modelo “Montaña”, hemos utilizado recorridos por caminos y como medidor “fiable” una bicicleta con cuentakilómetros. En el modelo “Competición”, son recorridos en pistas de atletismo o circuitos de competición y el medidor fiable es la distancia homologada del circuito. Por último, hemos construido un modelo con todos los casos de aprendizaje de los tres modelos anteriores. Es nuestro modelo “Optimizado”. En la pestaña de Ajustes de pwr-running, en la sección de Ajustes de la App, se puede seleccionar el modelo de cálculo de distancias que utilizará la aplicación.

Para comprobar cómo funcionan los modelos, hemos hecho 2 pruebas: una en un circuito de 5 kilómetros exactos y otra en un circuito que, más o menos, se corresponde con una media maratón: 21,1 kilómetros. Ambos casos son circuitos de carretera y en ambos casos hemos medido las distancias con un coche. El circuito de 5 km es más curvilíneo y con peor cobertura GPS, y el más largo está compuesto por tramos más rectos y la cobertura GPS es muy buena. Además, hemos medido los recorridos con otras 3 aplicaciones que se ejecutaban en el mismo teléfono móvil: Adidas running, Runkeeper y Strava.

En el circuito de 5 km, todos los modelos “sobre-miden”. El que más se “acerca” es el modelo de Competición con 5,037 Km seguido por el Optimizado con 5,062 Km.

En cambio, en el circuito de 21,1 km, hay dos modelos que “infra-miden” y el resto “sobre-miden”. El que más se aproxima es el Optimizado con un error de 3 metros seguido por el de Competición.

Si sumamos los dos circuitos y calculamos la desviación simple y la cuadrática, el modelo que más se aproxima es el de Competición aunque todos los modelos muestran un excelente comportamiento con errores inferiores al 1%. Se debe tener en cuenta que cualquier método de medición tiene un margen de error. En este caso, el cuentakilómetros del coche tiene un error del 0,25%, lo cual significa que si hubiéramos utilizado otro coche, el ranking de modelos que más se aproximan podría ser muy diferente.