Acceder

Ver la Versión Completa : Idea para una app: AmazStrides


supertorpe
26/05/20, 09:35:36
Abro este hilo para intentar promover una tormenta de ideas en relación a la creación de una app cuyo objetivo sea estimar la distancia recorrida basándose, básicamente en el número de pasos.

Introducción

Se plantea el desarrollo de una app para relojes Amazfit que realice una estimación de la distancia recorrida durante un período de tiempo, basándose en el número de pasos realizados en dicho período y sin usar el GPS.

Esto puede ser útil en varios escenarios, por ejemplo: queremos saber qué distancia hemos caminado por la ciudad, pero no nos interesa el recorrido. Podríamos estimar la distancia sin usar el GPS con el consiguiente ahorro de batería.

Problema: estimación de la longitud de la zancada

La zancada varía de persona a persona, y para una misma persona también varía en función de la cadencia; podría depender de varias variables: sexo, estatura, peso, velocidad, edad... es necesario simplificar el modelo a costa de perder precisión.

Para solventar este problema se propone estudiar si hay una relación entre la cadencia y la zancada para una misma persona. Para ello, se volcará en una hoja de cálculo datos del histórico de actividades del usuario. Cuanta más variabilidad y cantidad de actividades, más ajustada se podrá hacer la estimación.

https://i.imgur.com/AVw9s7i.png

Se podría lanzar una encuesta para recopilar, de forma anónima, tablas de datos de actividades: estatura, sexo, edad y lista de actividades - duración "horas:minutos:segundos", distancia, nº pasos-. Con esto se podría realizar un análisis (¿machine learning?) de tal forma que podamos generar una tabla de datos y una función que, a partir de la estatura, sexo, edad, duración y número de pasos sea capaz de estimar la longitud de la zancada.

Funcionamiento

La primera vez que arranca la aplicación pregunta si desea realizar un análisis de sus actividades, para mejorar la estimación del cálculo. En caso afirmativo, se lanza el proceso que lee el histórico de actividades del reloj, creando una tabla de cadencia-zancada:

Por cada actividad:
- Lee el tiempo en segundos
- Lee la distancia
- Lee el nº pasos
- Calcula la cadencia: nº pasos / tiempo
- Calcula la zancada: distancia / pasos
- Añade el par (cadencia,zancada) a la tabla, ordenada por cadencia

La pantalla principal mostrará:

Distancia estimada recorrida en el día de hoy
Botón “Iniciar” para comenzar una actividad
Botón “Config.” para acceder a la pantalla de configuración

c) botón “Config”

Permite:
- establecer el sexo
- establecer la estatura
- lanzar un análisis del histórico de actividades para confeccionar la tabla de cadencias-zancadas
- establecer la frecuencia de muestreo durante la actividad

b) botón “iniciar”

Al pulsar el botón “Iniciar”, se creará un nuevo fichero donde se anotará el nº pasos en ese momento. Se mostrará un botón “Detener” para finalizar la actividad.
Cada 10 segundos (tiempo configurable en la pantalla “Config”) se calculará el nº de pasos dado en la última ventana de tiempo (restando al nº de pasos actuales el nº pasos de la anterior lectura). Con esto tendremos la cadencia en esta ventana de tiempo. Lanzaremos la función de cálculo de zancada para poder calcular la distancia que corresponde a ese número de pasos con esa cadencia.

a) Distancia estimada recorrida en el día de hoy

Potencialmente, durante el día se habrán dado pasos analizados por actividades mediante los botones “iniciar”-”detener” y también pasos que no hayan sido analizados por la app. La suma de ambos será el total de pasos actual reportado por la API del reloj.

Para los pasos que correspondan a actividades analizadas, se tomará la distancia registrada. Para el resto se realizará una estimación mediante una fórmula que depende del sexo y estatura.

Función de cálculo de zancada

Recibe dos parámetros: número de pasos y tiempo

Calcula la cadencia : pasos / tiempo

Con esta cadencia realiza una búsqueda en la tabla de cadencias-zancada del usuario, buscando la cadencia que coincida; si no existe, busca las cadencias justo anterior y posterior para realizar una interpolación para obtener la zancada.

Si no se encuentran datos, se utiliza una fórmula que depende del sexo y estatura.

Retorna la zancada obtenida o calculada.

¿continuará?...

ExpressT3
26/05/20, 09:56:15
Abro este hilo para intentar promover una tormenta de ideas en relación a la creación de una app cuyo objetivo sea estimar la distancia recorrida basándose, básicamente en el número de pasos.



Introducción



Se plantea el desarrollo de una app para relojes Amazfit que realice una estimación de la distancia recorrida durante un período de tiempo, basándose en el número de pasos realizados en dicho período y sin usar el GPS.



Esto puede ser útil en varios escenarios, por ejemplo: queremos saber qué distancia hemos caminado por la ciudad, pero no nos interesa el recorrido. Podríamos estimar la distancia sin usar el GPS con el consiguiente ahorro de batería.



Problema: estimación de la longitud de la zancada



La zancada varía de persona a persona, y para una misma persona también varía en función de la cadencia; podría depender de varias variables: sexo, estatura, peso, velocidad, edad... es necesario simplificar el modelo a costa de perder precisión.



Para solventar este problema se propone estudiar si hay una relación entre la cadencia y la zancada para una misma persona. Para ello, se volcará en una hoja de cálculo datos del histórico de actividades del usuario. Cuanta más variabilidad y cantidad de actividades, más ajustada se podrá hacer la estimación.



https://i.imgur.com/AVw9s7i.png



Se podría lanzar una encuesta para recopilar, de forma anónima, tablas de datos de actividades: estatura, sexo, edad y lista de actividades - duración "horas:minutos:segundos", distancia, nº pasos-. Con esto se podría realizar un análisis (¿machine learning?) de tal forma que podamos generar una tabla de datos y una función que, a partir de la estatura, sexo, edad, duración y número de pasos sea capaz de estimar la longitud de la zancada.



Funcionamiento



La primera vez que arranca la aplicación pregunta si desea realizar un análisis de sus actividades, para mejorar la estimación del cálculo. En caso afirmativo, se lanza el proceso que lee el histórico de actividades del reloj, creando una tabla de cadencia-zancada:



Por cada actividad:

- Lee el tiempo en segundos

- Lee la distancia

- Lee el nº pasos

- Calcula la cadencia: nº pasos / tiempo

- Calcula la zancada: distancia / pasos

- Añade el par (cadencia,zancada) a la tabla, ordenada por cadencia



La pantalla principal mostrará:



Distancia estimada recorrida en el día de hoy

Botón “Iniciar” para comenzar una actividad

Botón “Config.” para acceder a la pantalla de configuración



c) botón “Config”



Permite:

- establecer el sexo

- establecer la estatura

- lanzar un análisis del histórico de actividades para confeccionar la tabla de cadencias-zancadas

- establecer la frecuencia de muestreo durante la actividad



b) botón “iniciar”



Al pulsar el botón “Iniciar”, se creará un nuevo fichero donde se anotará el nº pasos en ese momento. Se mostrará un botón “Detener” para finalizar la actividad.

Cada 10 segundos (tiempo configurable en la pantalla “Config”) se calculará el nº de pasos dado en la última ventana de tiempo (restando al nº de pasos actuales el nº pasos de la anterior lectura). Con esto tendremos la cadencia en esta ventana de tiempo. Lanzaremos la función de cálculo de zancada para poder calcular la distancia que corresponde a ese número de pasos con esa cadencia.



a) Distancia estimada recorrida en el día de hoy



Potencialmente, durante el día se habrán dado pasos analizados por actividades mediante los botones “iniciar”-”detener” y también pasos que no hayan sido analizados por la app. La suma de ambos será el total de pasos actual reportado por la API del reloj.



Para los pasos que correspondan a actividades analizadas, se tomará la distancia registrada. Para el resto se realizará una estimación mediante una fórmula que depende del sexo y estatura.



Función de cálculo de zancada



Recibe dos parámetros: número de pasos y tiempo



Calcula la cadencia : pasos / tiempo



Con esta cadencia realiza una búsqueda en la tabla de cadencias-zancada del usuario, buscando la cadencia que coincida; si no existe, busca las cadencias justo anterior y posterior para realizar una interpolación para obtener la zancada.



Si no se encuentran datos, se utiliza una fórmula que depende del sexo y estatura.



Retorna la zancada obtenida o calculada.



¿continuará?...Hola, me ha llamado la atención la idea pero estimar la distancia por los pasos sin usar GPS ya lo hace la aplicación de amazfit

Tengo un amazfit stratos y cuando le doy a actividad y selecciono caminar me realiza el recuento de pasos, hace la trazada por gps, mide tiempos, etc... Pero cuando simplemente salgo a caminar por la ciudad como tu dices, me cuenta los pasos como a todo el mundo, no realiza trazado gps ni nada por el estilo pero al sincronizarse con la aplicación puedo ver cuantos pasos he realizado y los km estimados que he realizado

Así que no entiendo muy bien que quieres conseguir jejejje

ExpressT3
26/05/20, 09:59:47
Creo que te refieres a eso, no?

Tantos pasos = a tanta distancia 1288560

upthe¡rons
26/05/20, 10:45:11
Abro este hilo para intentar promover una tormenta de ideas en relación a la creación de una app cuyo objetivo sea estimar la distancia recorrida basándose, básicamente en el número de pasos.



Introducción



Se plantea el desarrollo de una app para relojes Amazfit que realice una estimación de la distancia recorrida durante un período de tiempo, basándose en el número de pasos realizados en dicho período y sin usar el GPS.



Esto puede ser útil en varios escenarios, por ejemplo: queremos saber qué distancia hemos caminado por la ciudad, pero no nos interesa el recorrido. Podríamos estimar la distancia sin usar el GPS con el consiguiente ahorro de batería.



Problema: estimación de la longitud de la zancada



La zancada varía de persona a persona, y para una misma persona también varía en función de la cadencia; podría depender de varias variables: sexo, estatura, peso, velocidad, edad... es necesario simplificar el modelo a costa de perder precisión.



Para solventar este problema se propone estudiar si hay una relación entre la cadencia y la zancada para una misma persona. Para ello, se volcará en una hoja de cálculo datos del histórico de actividades del usuario. Cuanta más variabilidad y cantidad de actividades, más ajustada se podrá hacer la estimación.



https://i.imgur.com/AVw9s7i.png



Se podría lanzar una encuesta para recopilar, de forma anónima, tablas de datos de actividades: estatura, sexo, edad y lista de actividades - duración "horas:minutos:segundos", distancia, nº pasos-. Con esto se podría realizar un análisis (¿machine learning?) de tal forma que podamos generar una tabla de datos y una función que, a partir de la estatura, sexo, edad, duración y número de pasos sea capaz de estimar la longitud de la zancada.



Funcionamiento



La primera vez que arranca la aplicación pregunta si desea realizar un análisis de sus actividades, para mejorar la estimación del cálculo. En caso afirmativo, se lanza el proceso que lee el histórico de actividades del reloj, creando una tabla de cadencia-zancada:



Por cada actividad:

- Lee el tiempo en segundos

- Lee la distancia

- Lee el nº pasos

- Calcula la cadencia: nº pasos / tiempo

- Calcula la zancada: distancia / pasos

- Añade el par (cadencia,zancada) a la tabla, ordenada por cadencia



La pantalla principal mostrará:



Distancia estimada recorrida en el día de hoy

Botón “Iniciar” para comenzar una actividad

Botón “Config.” para acceder a la pantalla de configuración



c) botón “Config”



Permite:

- establecer el sexo

- establecer la estatura

- lanzar un análisis del histórico de actividades para confeccionar la tabla de cadencias-zancadas

- establecer la frecuencia de muestreo durante la actividad



b) botón “iniciar”



Al pulsar el botón “Iniciar”, se creará un nuevo fichero donde se anotará el nº pasos en ese momento. Se mostrará un botón “Detener” para finalizar la actividad.

Cada 10 segundos (tiempo configurable en la pantalla “Config”) se calculará el nº de pasos dado en la última ventana de tiempo (restando al nº de pasos actuales el nº pasos de la anterior lectura). Con esto tendremos la cadencia en esta ventana de tiempo. Lanzaremos la función de cálculo de zancada para poder calcular la distancia que corresponde a ese número de pasos con esa cadencia.



a) Distancia estimada recorrida en el día de hoy



Potencialmente, durante el día se habrán dado pasos analizados por actividades mediante los botones “iniciar”-”detener” y también pasos que no hayan sido analizados por la app. La suma de ambos será el total de pasos actual reportado por la API del reloj.



Para los pasos que correspondan a actividades analizadas, se tomará la distancia registrada. Para el resto se realizará una estimación mediante una fórmula que depende del sexo y estatura.



Función de cálculo de zancada



Recibe dos parámetros: número de pasos y tiempo



Calcula la cadencia : pasos / tiempo



Con esta cadencia realiza una búsqueda en la tabla de cadencias-zancada del usuario, buscando la cadencia que coincida; si no existe, busca las cadencias justo anterior y posterior para realizar una interpolación para obtener la zancada.



Si no se encuentran datos, se utiliza una fórmula que depende del sexo y estatura.



Retorna la zancada obtenida o calculada.



¿continuará?...Yo también venís a decir algo así, que esos datos ya los da, cuando abres la app, si pulsas encima del número de pasos, se te abre otro pantallazo dónde detalla entre otros los km recorridos.
1288572

supertorpe
26/05/20, 11:13:15
Igual la idea me surge por mi uso del reloj: lo suelo tener en modo avión y sincronizo con la app únicamente cuando realizo una actividad. Puedo estar 2 ó 3 días sin sincronizar. Entonces, si en un momento dado quiero ver la distancia, con mostrar el widget en el reloj sería suficiente, sin tener que abrir la app, sincronizar...

Por otra parte, estaría bien saber qué algoritmo usa la app para estimar la distancia.

ExpressT3
26/05/20, 13:39:34
Igual la idea me surge por mi uso del reloj: lo suelo tener en modo avión y sincronizo con la app únicamente cuando realizo una actividad. Puedo estar 2 ó 3 días sin sincronizar. Entonces, si en un momento dado quiero ver la distancia, con mostrar el widget en el reloj sería suficiente, sin tener que abrir la app, sincronizar...

Por otra parte, estaría bien saber qué algoritmo usa la app para estimar la distancia.Jejejeejejej a mi me parece mas sencillo sincronizar y ver la información que no programar una app expresamente para ello

ExpressT3
26/05/20, 13:40:35
Me he llegado a pasar 15 o 20 dias con el modo avión en el stratos y cuando me acuerdo o sincronizo es un momento jejejejj

Santi_SAZ
26/05/20, 22:56:43
Igual la idea me surge por mi uso del reloj: lo suelo tener en modo avión y sincronizo con la app únicamente cuando realizo una actividad. Puedo estar 2 ó 3 días sin sincronizar. Entonces, si en un momento dado quiero ver la distancia, con mostrar el widget en el reloj sería suficiente, sin tener que abrir la app, sincronizar...

Por otra parte, estaría bien saber qué algoritmo usa la app para estimar la distancia.Tienes la esfera Greatfit que te muestra la distancia recorrida en base a tus pasos, el cálculo lo hace tomando como referencia tu estatura, con la estatura puedes obtener una distancia de zancada promedio

supertorpe
27/05/20, 12:28:37
Tienes la esfera Greatfit que te muestra la distancia recorrida en base a tus pasos, el cálculo lo hace tomando como referencia tu estatura, con la estatura puedes obtener una distancia de zancada promedio

Sí, pero esa estimación es muy pobre. La zancada varía muchísimo en función de la cadencia.