Un par de cuestiones quedaron por resolver al analizar en profundidad el potenciómetro POWERTAP P1 en el blog zitaSport. Son los tan comentados en RR.SS. y foros: BUGS o errores de software que, dependiendo del punto de vista de quien los expone, son culpa de unos o de otros.
Este artículo esclarece los mencionados errores después de un análisis minucioso que no podemos considerar como científico pero que se apoya en el método científico para llegar a sus conclusiones.
DEFINICIÓN DE BUG
Muy bien explicada en Wikipedia (ver aquí)
Un error de software, comúnmente conocido como bug («bicho»), es un error o fallo en un programa de computador o sistema de software que desencadena un resultado indeseado. Los programas que ayudan a la detección y eliminación de errores de programación de software son denominados depuradores (debuggers).
Entre las numerosas incidencias notables causadas por este tipo de error se incluyen la destrucción, en 1962, de la sonda espacial Mariner 1, en 1996, del Ariane 5 501 y, en 2015, el Airbus A400M.
EL PROBLEMA
Cualquier estudio científico que se precie parte de un presupuesto, y para concluir si ese presupuesto o hipótesis es verdadero trata de aislar la variable que lo determina o influye.
Dicho así puede sonar un poco extraño, pero si vamos al ejemplo que nos ocupa todo queda nítido al momento.
El BUG o error de software que se le achaca al potenciómetro lo vimos en el análisis en profundidad del POWERTAP P1 en el blog (puedes leerlo aquí). Hacemos un copy & paste del mencionado artículo, publicado en diciembre de 2015:
No somos ajenos a un problema comentado en internet por usuarios de los pedales POWERTAP P1. Son los dichosos picos de potencia, de hasta 23.000 vatios en nuestro caso, que no es complicado “limpiar” pero que bien podría hacerlo Garmin automáticamente, como limpia datos anómalos de altitud, coordenadas o velocidad.
Dado que desde Tamalpais nos comunican que este pico anómalo de potencia no aparece en el ciclocomputador Joule de la marca POWERTAP, tenemos el firme propósito de salir a rodar con ambos ciclocomputadores hasta encontrar el pico de potencia tan solo en el Garmin y no en el Joule de POWERTAP.
LA METODOLOGÍA
Así que para “aislar la variable” la metodología empleada es sencilla: si grabamos simultáneamente con un ciclocomputador Joule GPS+ y un Garmin EDGE 520 y el pico de potencia solo aparece en el Garmin… ¿de quién será el problema?
Explicado de otra forma: la señal que emite el POWERTAP P1 la puede recoger cualquier dispositivo ANT+, así que estamos analizando la misma señal en dos dispositivos diferentes. Esto es lo importante del estudio, que es la misma señal la que recogen ambos ciclocomputadores, no son dos señales diferentes.
Podríamos entender el experimento al revés: grabar con dos Garmin EDGE 520 y dos potenciómetros diferentes, uno de ellos el POWERTAP P1 y observar cómo el error aparece solo en uno de los dos Garmin, pero entonces la variable no habría sido suficientemente aislada, pues estaríamos hablando de dos señales independientes, que podrían verse alteradas por motivos que no podemos controlar.
Además como en el blog zitaSport somos muy de “venirnos arriba”, hemos utilizado una especie de árbitro para que no quepa duda: hemos grabado también simultáneamente las sesiones con un POLAR V800, ya que el potenciómetro POWERTAP P1 emite la potencia en ambos canales: Bluetooth Smart para el Polar V800 y ANT+ para el Garmin EDGE 520 y el Joule GPS+.
Diferentes variables también han sido anuladas al colocar el potenciómetro en una bicicleta de ciclo indoor, con lo que ni la altitud, cambios bruscos de temperatura, cadencias inadecuadas, balance izq/dr, irregularidad del terreno, bache, socavón, terremoto o cualquier otro imponderable ha podido influir en la recogida de los datos.
Se han grabado 9 sesiones, y tan solo en una de ellas ha aparecido el tan ansiado pico de potencia como veremos a continuación. Cualquier lector profano en los potenciómetros (es raro que haya leído hasta aquí) puede pensar que es un error nimio, pues las 9 sesiones han generado más de 10 horas de información, lo que supone (a dato por segundo), unos 36.000 datos.
De los 36.000 datos solo 2 han generado el BUG, ¿realmente es tan importante?
LA IMPORTANCIA DEL BUG
Los que estén familiarizados en el entrenamiento por potencia saben que hay algo más importante que la potencia media de una sesión, de hecho, curiosamente Garmin Connect ha respetado la potencia media y la potencia media máxima para 20 minutos en la sesión que ha generado el error, lo cual hemos podido comprobar al corregir manualmente el BUG de la sesión en Golden Cheetah.
En la imagen adjunta se puede leer “¿identico?” porque nos ha parecido sumamente extraño, pensábamos que todos los parámetros dependientes de la potencia se verían desvirtuados, pero no ha sido así.
Pero todos los parámetros dependientes directamente de la potencia normalizada, que sí que se ha visto alterada, han sufrido modificaciones que echan por tierra cualquier planificación deportiva: la propia potencia normalizada (NP), el factor de intensidad (IF), y, lo más grave, el Training Stress Score (TSS), con lo que afecta a los parámetros de PMC: ATL, CTL y TSB.
LA PREPARACIÓN
A petición de B-AERO, al cual queremos agradecer la revisión previa del artículo, incluimos los datos de “calibración” del POWERTAP P1 (nótense las comillas, el nombre correcto sería Zero Offset, leer aquí) y otros que pueden resultar de interés para que cualquier lector interesado pueda repetir el estudio, lo que se denomina reproducibilidad en el ámbito científico.
Se ha realizado un Zero Offset en el Garmin EDGE 520, antes y después de cada una de las 9 sesiones, obteniendo siempre el mismo resultado (Calibración actual: 5).
Datos del ciclocomputador Garmin EDGE 520 cedido por Garmin para la realización de diversos test y pruebas (agradecimiento a Garmin por la cesión).
Datos del ciclocomputador joule GPS+ cedido por Tamalpais S.L. para el estudio.
Las sesiones han sido registradas con tres dispositivos, los dos mencionados y el reloj deportivo Polar V800.
Los datos han sido volcados a los respectivos softwares para su análisis: Garmin EDGE 520 a Garmin Connect, con almacenamiento tipo CLOUD,
Joule GPS+ al software de PowerTap: PowerAgent y posteriormente al software Golden Cheetah, que es el que hemos utilizado en el estudio por estar más familiarizados con él,
Y los datos del Polar V800 al software tipo CLOUD de Polar: Polar Flow.
LAS SESIONES CON POWERTAP
Estas son las nueve sesiones registradas con los tres dispositivos en orden cronológico. Nos reservamos la sesión nº5, en la que encontramos el GARMIN BUG para un análisis posterior detallado.
La gráfica superior corresponde al ciclocomputador Garmin EDGE 520 con Garmin Connect, la gráfica intermedia corresponde al ciclocomputador Joule GPS+ con Golden Cheetah y la gráfica inferior corresponde al reloj deportivo Polar V800 con Polar Flow.
GARMIN BUG. SESION Nº5
En la sesión nº5 es en la que hemos encontrado el error de software que andábamos buscando, casi al final de la misma y de manera totalmente inesperada, como un relámpago sin tormenta, sin hacer nada especial, lo cual es aún más desconcertante: no había una cadencia alta, unos vatios desorbitados o una serie extenuante.
En la primera imagen vemos como la gráfica superior se ve desvirtuada por el pico de potencia de 51.360w. A pesar de eso, y por la característica de la sesión, podemos ver en el círculo rojo señalado por la flecha, tres pequeños montículos, que en las otras dos gráficas se percibe claramente que están cerca de los 1.000w y son perfectamente normales, en un intento infructuoso de repetir el BUG.
Al hacer zoom en Garmin Connect vemos que el pico tiene un punto intermedio en la subida a los 51.360w, con lo que no se ha tratado de un solo dato, sino que hay otro dato previo también inusualmente elevado.
Al llevar la sesión nº5 a Golden Cheetah para poder observar los datos en detalle, vemos que se trata de dos puntos: el punto 4.315, de 14.178w y el punto 4.316 de 51.630w. Hemos conseguido “aislar la variable”.
Incluimos la información en ese punto (1:11:54 – 1:11:55) de la temperatura de la sala y el equilibrio izquierda / derecha, en los que no observamos anomalías.
Por último, una vez corregido el BUG, presentamos la gráfica de la sesión nº5 en Garmin Connect, en la que se observan con claridad los tres intentos finales infructuosos de obtener un nuevo BUG.
SENSOR DE POTENCIA DERECHO
A modo anecdótico, pues no influye en la toma de datos del potenciómetro, aportamos el segundo de los errores que se ha comentado en RR.SS. y foros del POWERTAP P1, y es que los dispositivos, sin motivo aparente, informan de un error de conexión en el pedal derecho, que no es necesario atender, pues el potenciómetro continúa midiendo perfectamente.
Este BUG lo hemos encontrado tanto en el Polar V800, con el texto: “Sensor de potencia no encontrado (D)” como en el Garmin EDGE 520, con el texto: “Falta el sensor de potencia derecho”
En ambos casos, se presiona el botón ACEPTAR y el error desaparece.
CONCLUSIONES
Creemos que ha quedado suficientemente demostrado que el famoso pico de potencia del potenciómetro POWERTAP P1 obedece a un error de software de Garmin que PowerTap no puede resolver.
No obstante, debemos aceptar también la siguiente hipótesis: PowerTap podría corregir el protocolo de envío de datos para que Garmin no saque el “pico de potencia”. Dicho de otro modo: ¿En cuantos potenciómetros sucede este error de entre todos los que hay en el mercado compatibles con Garmin?.
Otra posible reflexión, consecuencia de las dos anteriores es: ¿A quién le interesa más que POWERTAP P1 y Garmin sean perfectamente compatibles?… dejando de lado la evidente respuesta: “al consumidor”, entre las dos empresas, ¿cual debería tener más interés en solucionar el problema?. Dejamos la respuesta en el aire.
Las teorías conspiranoides aducen que los pedales POWERTAP P1 son competencia directa de los pedales GARMIN VECTOR, por lo que a Garmin le interesa este BUG, si con ello hace inclinarse la balanza en la opción de compra por los pedales Garmin.
Una cosa es cierta, Garmin puede presumir de tener un software excepcional: Garmin Connect, que “limpia” automáticamente infinidad de errores que recogen sus dispositivos. Ha optimizado un concepto un tanto complicado de explicar que es el Filtro de Kalman algoritmo desarrollado por Rudolf E. Kalman en 1.960. En la web rincondelvago encontramos la definición más sencilla:
La gráfica siguiente refleja el resultado de aplicar el Filtro de Kalman a la estimación de la altura de un avión a partir de unos datos (más o menos erróneos) de un acelerómetro y un altímetro. La línea discontinua muestra la verdadera altura, mientras que las cruces indican las mediciones del altímetro, que como se observa forman una banda de unos 100 metros alrededor de la verdadera posición. La línea continua ofrece la estimación del Filtro de Kalman. Vemos que en un aterrizaje es mucho mejor que nuestro piloto haga caso al Dr. Kalman y no al altímetro.
Para los más curiosos, incluimos el Filtro de Kalman para GPS así como una reseña al Dr. Min Kao, cofundador de Garmin en 1.989, que diseñó, antes de fundar Garmin, los algoritmos del Filtro de Kalman para equipos GPS Phase II.
Sea como sea, desde el blog zitaSport, creemos firmemente que es un simple error que se subsanará en un futuro próximo, y que si no es posible subsanarlo directamente en los dispositivos o ciclocomputadores Garmin, la propia empresa Garmin tiene capacidad para “encontrarlo” en Garmin Connect y sustituirlo por un dato lógico, que puede ser simplemente el de la media de los dos datos adyacentes. Estamos hablando de la empresa más compatible con cualquier dispositivo del mercado, simplemente: los BUGS ocurren.
La entrada GARMIN BUG EN POWERTAP P1 aparece primero en Análisis de productos. ZitaSport.