GRADE
Il diario Costantino Pistagna <costantino@sofapps.it>

Ho passato una settimana a leggere paper prima di scrivere una riga

La potenza per andare in bici ha un'equazione, è del 1998, e si può riprodurre numericamente per sapere se l'hai capita. Sulla differenza fra legge, modello validato e convenzione.

Tutto è cominciato guardando mio fratello allenarsi in casa con un rullo nuovo fiammante, un Wahoo KICKR CORE 2. L'ho visto armeggiare e imprecare contro il software che lo accompagna: interfacce poco curate, e sopra tutto l'impalcatura di un servizio a pagamento. L'idea ci è venuta lì: un'app nativa, pulita, per chi non cerca la parte social ma vuole un trainer che si ricordi di lui e lo aiuti ad allenarsi.

Avrei potuto aprire Xcode quella sera stessa. Il protocollo per parlare con il rullo è pubblico, le API di Apple le conosco. Invece ho passato una settimana a leggere, e questo articolo racconta cosa ho trovato. Non perché sia interessante la lettura in sé, ma perché ha cambiato il modo in cui l'app tratta ogni numero che mostra.

A guardarle dopo, le scoperte di quella settimana rispondevano tutte alla stessa domanda: questo numero, da dove viene? Da una misura, da un calcolo, o da un'abitudine che nessuno ha mai verificato?

La potenza ha un'equazione, ed è del 1998

La prima scoperta è stata che la domanda centrale di un simulatore, quanto devo spingere per andare a questa velocità su questa strada?, ha una risposta pubblicata e verificata. È il modello di Martin, Milliken, Cobb, McFadden e Coggan, uscito sul Journal of Applied Biomechanics nel 1998. Gli autori l'hanno confrontato con un misuratore di potenza SRM su strada: R² di 0,97, errore standard di 2,7 watt. Ecco l'equazione, come la scrive il paper:

Ptot=1Ec[
12ρ(CdA+Fw)Va2Vg
aria
+Crrmtgcos(arctanG)Vg
rotolamento
+Vg(91+8,7Vg)·10−3
cuscinetti
+mtgsin(arctanG)Vg
gravità
+12(mt+Ir2)Vf2−Vi2tf−ti]
energia cinetica

L'equazione mette insieme cinque voci:

  • la resistenza dell'aria, compresa quella delle ruote che girano;
  • l'attrito di rotolamento delle gomme;
  • l'attrito dei cuscinetti delle ruote;
  • la gravità, cioè il costo di salire;
  • l'energia cinetica, cioè il costo di accelerare, ruote comprese.

Tutto diviso per il rendimento della trasmissione, perché catena e pignoni si mangiano una parte di quello che metti nei pedali.

La cosa più utile del paper, però, è l'appendice. Gli autori riportano un esempio svolto: una velocità, un vento, una pendenza dello 0,3%, e il valore di ogni termine. Questo trasforma la lettura in un esercizio verificabile: se il mio codice dà gli stessi numeri, ho fatto bene i compiti. Altrimenti, no.

terminewatt
aria158,8
rotolamento23,6
cuscinetti1,37
gravità22,1
energia cinetica2,3
totale, dopo la trasmissione213,3

Il codice li riproduce tutti, e l'esercizio ha sciolto anche un dubbio. Il PDF del paper che si trova in rete è una scansione, e l'esponente del termine dei cuscinetti si legge male: potrebbe essere 10⁻³ oppure 10⁻⁴. Con 10⁻⁴ quel termine varrebbe 0,137 watt; con 10⁻³ vale 1,37, cioè l'1,4 che l'appendice riporta. Quindi è 10⁻³, e a dirlo è il paper stesso, a patto di rifarne i conti. Leggerlo non bastava: è stato il ricalcolare a mostrare quale delle due letture era quella giusta.

Il modello di Martin è il primo tipo di numero che ho imparato in questa settimana esplorativa, ed è un modello validato; qualcuno l'ha confrontato con la realtà, ha dichiarato di quanto sbaglia, e chiunque può rifarne i conti.

Al contrario è una cubica

Il conto è esattamente al contrario nel caso di un simulatore. Non sa la velocità: sa i watt che stai spingendo, e deve dirti quanto vai veloce. Posta così, l'equazione diventa una cubica nella velocità, e le cubiche hanno una soluzione esatta, quella di Cardano, che si studia al liceo e poi si dimentica. Io personalmente non avevo alcuna reminiscenza di questa elegantissima soluzione. O meglio, ricordavo la formula, ma non ne avevo mai capito neanche minimamente il reale impiego nel mondo reale. È stato veramente affascinante ripescare un ricordo come questo e trovargli un ruolo reale. Se ti stai domandando a quale simulatore mi riferisco, è una giustissima osservazione. Ne ho parlato poi in Ho costruito un rullo finto per poter costruire quello vero.

La potenza in funzione della velocità è una cubica, e il simulatore la legge al contrario: dati 250 watt, la velocità è la sua radice. Ciclista di 75 kg, bici di 8, modello di Martin et al. (1998).010203040500200400600250 W36,1 km/h17,6 km/hin pianurasalita al 5%velocità (km/h)potenza (W)
La potenza in funzione della velocità è una cubica, e il simulatore la legge al contrario: dati 250 watt, la velocità è la sua radice. Ciclista di 75 kg, bici di 8, modello di Martin et al. (1998).

L'app reale, però, non usa Cardano. Fa una cosa più elegante (ed efficiente): integra la velocità passo dopo passo, dieci volte al secondo, perché una bici accelera e rallenta, non salta da una velocità all'altra. Ma quando la potenza e la pendenza restano costanti, la velocità a cui l'integrazione si assesta deve essere esattamente la radice della cubica. Due strade indipendenti verso lo stesso numero: se non coincidono, una delle due sbaglia. Su sette combinazioni di potenza e pendenza, oggi coincidono entro 5 centimetri al secondo.

Qui la verifica non viene da un esperimento ma dalla matematica, e la radice di una cubica non è un'opinione. È il secondo tipo di numero: quello che discende da una legge, e che quindi si ricalcola. Se due conti indipendenti non coincidono, l'errore è nostro.

Il TSS non è una legge

Il terzo tipo l'ho trovato dove meno me l'aspettavo: nei numeri che ogni ciclista conosce. Se ti alleni con un misuratore di potenza, conosci il TSS, il punteggio di stress di un allenamento, e i suoi fratelli: la potenza normalizzata, il fattore d'intensità, le zone di potenza. Vengono quasi tutti dal lavoro di Allen e Coggan, e il libro di riferimento è Training and Racing with a Power Meter.

Leggendolo, la cosa che mi ha colpito è quanto poco di quel sistema sia una scoperta e quanto sia una scelta. Il TSS è una definizione: dice come combinare durata e intensità in un numero, e quel numero è utile perché tutti lo calcolano allo stesso modo. Le sette zone di potenza sono una convenzione: confini messi in punti ragionevoli, adottati ovunque, ma non il risultato di un esperimento che dimostri che il corpo cambia comportamento esattamente al 75% della soglia.

Non c'è niente di male. Il problema comincia quando un'app presenta una convenzione con la stessa sicurezza con cui presenta una misura.

Una fascia cardio appesa al manubrio di una bici sul rullo, con la sua luce arancione accesa.

E nemmeno 220 meno l'età

L'esempio più famoso di una convenzione scambiata per una misura è la frequenza cardiaca massima. 220 meno l'età è scritto ovunque, e non ha un'origine sperimentale pubblicata. Nel 2001 Tanaka, Monahan e Seals hanno raccolto 351 studi e 18.712 persone, e la formula che ne esce è un'altra: 208 meno 0,7 volte l'età.

A quarant'anni le due formule danno lo stesso numero, 180. Più ci si allontana, più divergono: a settanta la vecchia dice 150 battiti e quella di Tanaka 159, nove battiti di differenza, abbastanza per spostare un intero allenamento di zona.

E anche Tanaka è una media, con una deviazione di dieci o dodici battiti. Per questo Grade la usa solo finché non sa di meglio: se il tuo cuore è già arrivato più in alto di quanto dice la formula, vince il tuo cuore. Il contrario no. Un massimo registrato più basso dice soltanto che non hai mai spinto fino in fondo, e non abbassa niente.

In una sola formula c'erano tutti e tre i tipi di numero: una convenzione che si presenta come un fatto, un modello validato che la sostituisce, e una misura, la tua, che quando c'è li batte entrambi.

Legge, modello validato, convenzione

Alla fine della settimana quelle quattro letture si sono messe in fila da sole, e avevo in mano una distinzione che è diventata una regola del progetto. Non tutti i numeri si verificano allo stesso modo, e confonderli è il modo più rapido per dare a una convenzione l'autorità di una misura.

categoriacos'ècome si verificaesempi
legge o definizionediscende dalla fisica, o da una definizionesi ricalcola e si confrontala cubica di Cardano, il TSS
modello validatoha uno studio dedicato, con i suoi numerisi confronta con quei numeriMartin 1998, Tanaka 2001
convenzioneuna pratica diffusa, senza un esperimento alle spallesi controlla che il numero sia quello dichiarato, e che venga dettole zone di potenza, 220 meno l'età

La regola che ne viene è una frase sola: una convenzione si etichetta. Usarla non è un difetto. Presentarla come una misura sì.

«Dati insufficienti» è una risposta

La distinzione ha un caso limite, e l'ho capito per ultimo: quello in cui il numero non c'è. Né legge, né modello, né convenzione: soltanto dati che non bastano. Questo non sta in nessun paper, è un'abitudine. Quando i dati non bastano, si dice.

Con meno di cinque attività, i totali di un periodo li decide il caso. Con meno di ventotto giorni di storia, il carico di allenamento non dice niente di te. In quei casi Grade non mostra un numero: scrive cosa manca e perché. Garmin, nella stessa situazione, mostra «No Status», ed è la scelta giusta.

Un numero mostrato con sicurezza, quando sotto non c'è niente, costa più di uno spazio vuoto. Perché il giorno in cui l'utente se ne accorge smette di fidarsi anche di tutti gli altri.

Quella settimana di letture non ha prodotto una riga di codice. Ha prodotto il criterio con cui ogni riga, dopo, è stata scritta.


Grade è un simulatore di percorsi GPX per smart trainer. Importi la traccia di un giro vero, e il rullo ti dà le sue salite, pendenza per pendenza, metro per metro. iPhone, iPad, Mac.

Icona dell'app Grade
Percorsi: i tracciati GPX e FIT importati, con distanza e dislivello positivo
Schermata della pedalata su iPhone: potenza, velocità, cadenza, frequenza cardiaca e pendenza, con la mappa e il profilo altimetrico del percorso
Dettaglio di un'attività: durata, distanza, dislivello positivo, lavoro, potenza e frequenza cardiaca