ordenador de bicicleta con memoria y elementos para

Anuncio
k
OFICINA ESPAÑOLA DE
PATENTES Y MARCAS
19
k
kInt. Cl. : A63B 21/00
11 Número de publicación:
6
51
ESPAÑA
k
2 111 248
G01C 22/02
TRADUCCION DE PATENTE EUROPEA
12
kNúmero de solicitud europea: 94303863.8
kFecha de presentación : 27.05.94
kNúmero de publicación de la solicitud: 0 638 336
kFecha de publicación de la solicitud: 15.02.95
T3
86
86
87
87
k
54 Tı́tulo: Ordenador de bicicleta con memoria y medios para comparar el rendimiento deportivo
presente y pasado en tiempo real.
k
73 Titular/es: Lawrence J. Brisson
k
72 Inventor/es: Brisson, Lawrence J.
k
74 Agente: Dávila Baz, Angel
30 Prioridad: 10.08.93 US 104442
574 Croyden Court
Sunnyvale, California 94087, US
45 Fecha de la publicación de la mención BOPI:
01.03.98
45 Fecha de la publicación del folleto de patente:
ES 2 111 248 T3
01.03.98
Aviso:
k
k
k
En el plazo de nueve meses a contar desde la fecha de publicación en el Boletı́n europeo de patentes,
de la mención de concesión de la patente europea, cualquier persona podrá oponerse ante la Oficina
Europea de Patentes a la patente concedida. La oposición deberá formularse por escrito y estar
motivada; sólo se considerará como formulada una vez que se haya realizado el pago de la tasa de
oposición (art◦ 99.1 del Convenio sobre concesión de Patentes Europeas).
Venta de fascı́culos: Oficina Española de Patentes y Marcas. C/Panamá, 1 – 28036 Madrid
ES 2 111 248 T3
DESCRIPCION
Ordenador de bicicleta con memoria y medios para comparar el rendimiento deportivo presente y
pasado en tiempo real.
5
Fundamento de la invención
1. Alcance General y Particular de la Invención
10
15
La presente invención se refiere a medios perfeccionados para proporcionar continuamente información
relativa al rendimiento deportivo a un ciclista durante una carrera ciclista, de manera que el ciclista pueda
utilizar esta información para optimizar su rendimiento deportivo. De un modo más particular, la presente invención proporciona medios capaces de retener información detallada relativa a un rendimiento
deportivo previo, en un dispositivo de memoria dentro de un instrumento portátil, y medios para comparar, en tiempo real, el rendimiento previo con un nuevo rendimiento deportivo (v.g., momento a momento
mientras está realizando un nuevo esfuerzo de competición) y para presentar gráficamente los datos comparativos al deportista, con el fin de que pueda optimizar su rendimiento en ese momento.
2. Tecnologı́a Previa Conocida
20
Cuando un deportista, por ejemplo un ciclista, está en competición o en entrenamiento para mejorar
sus facultades, es muy difı́cil lograr resultados óptimos sin tener una métrica, clara y objetiva, de su
rendimiento. Sin esa métrica objetiva, el deportista debe confiar en su sensación subjetiva del nivel de
esfuerzo que está realizando. No obstante, tales sensaciones son muy imprecisas.
25
Durante un esfuerzo duro, la sensación continua de cansancio puede conducir al deportista a que crea
que se está comportando al nivel de esfuerzo pretendido, solamente para descubrir, al final del esfuerzo,
que su rendimiento real ha sido totalmente diferente a lo que esperaba.
30
Un método conocido para proporcionar mediciones objetivas durante una competición o entrenamiento, es definir un número limitado de puntos de comprobación a lo largo de la ruta y comprobar el
tiempo que necesita para alcanzar esos puntos de comprobación empleando un cronómetro.
35
Con este sistema, el deportista recibe información sobre resultados ocasionales con respecto al rendimiento actual que está obteniendo, pero todavı́a existen problemas. En la práctica, este método es
demasiado tosco y molesto para que resulte útil en todos los casos salvo en el caso más simple, puesto
que no resulta práctico determinar un gran número de estos puntos de comprobación, toda vez que el
deportista debe memorizarlos, ası́ como los tiempos correspondientes.
40
45
50
55
60
Igualmente, llevar un control de los tiempos en cada punto de comprobación o aún entre rendimientos
diferentes, es difı́cil y está expuesto a errores, puesto que los tiempos cambian en la medida en que mejora
el rendimiento del deportista. Además, los puntos de comprobación o control ocasionales no dan al deportista suficiente información para una guı́a óptima, puesto que debe confiar en sensaciones subjetivas de
esfuerzo durante los intervalos relativamente largos entre puntos de comprobación o control como medida
de su rendimiento en un determinado instante.
Actualmente, las mejores soluciones disponibles a estos problemas se encuentran en dispositivos
portátiles conocidos como Ordenadores de bicicletas. Un ordenador de bicicletas comprende un procesador con un reloj de precisión, un sensor para medir el movimiento de una rueda de la bicicleta, un
indicador visible al ciclista y software para realizar cálculos y presentar información en el indicador visual.
Caracterı́sticamente, dicho ordenador de bicicleta combina información relativa al tiempo transcurrido
con información relativa al movimiento de una rueda, para calcular y presentar el tiempo transcurrido, la
distancia recorrida, la velocidad media y la velocidad actual. Los ordenadores de bicicletas más avanzados incorporan actualmente información adicional relativa al rendimiento del ciclista en un determinado
momento, por ejemplo la cadencia de pedaleo y altitud. Algunos ordenadores de bicicletas presentan
también sı́mbolos (por ejemplo + y -) para indicar si la velocidad actual del ciclista está por encima (+)
o por debajo (-) de la velocidad media desde el momento en que puso en marcha la bicicleta.
Los ordenadores de bicicletas existentes proporcionan información continua al deportista relativa al
rendimiento del momento, de la cual lo más importante es la velocidad. Si el deportista está corriendo
siguiendo una ruta llana con condiciones de la calzada apropiadas para una velocidad constante, el ordenador de bicicleta existente ofrece información adecuada. Todo lo que el deportista necesita saber
2
ES 2 111 248 T3
es la velocidad de referencia para esta circunstancia y puede observar, en cualquier momento, si está
marchando a la velocidad de referencia o por encima de esa velocidad.
5
10
No obstante, los ordenadores de bicicletas existentes no proporcionan información adecuada para la
vasta mayorı́a de los itinerarios, donde las condiciones de la calzada varı́an considerablemente y el itinerario puede comprender colinas o aún montañas. Siguiendo tales rutas, no se puede mantener una
velocidad constante y los ordenadores de bicicletas existentes no presentan la clase correcta de información que pudiera permitir al deportista valorar continuamente su rendimiento. Con los dispositivos
existentes, el deportista debe volver a la antigua técnica de memorizar el tiempo que necesitarı́a para
llegar a determinados puntos de control y valorar su rendimiento en esos puntos.
El documento DE-A-3705835 se refiere a un ordenador de bicicleta que incluye las caracterı́sticas
expuestas en el preámbulo de la reivindicación 1 de la solicitud presente.
15
El documento US-A-4.919.418 se refiere a equipo de ejercicio fı́sico estático en el cual el rendimiento
anterior del usuario se presenta visualmente para que el usuario lo pueda comparar con su rendimiento
actual.
Resumen y objetos de la invención
20
La presente invención tiene por objeto proporcionar al deportista información que representa una
pauta práctica de rendimiento en cada punto a lo largo de un itinerario, y presentar esta pauta al deportista continuamente en una forma que le facilita comparar su rendimiento actual con la pauta.
25
30
Otro objeto de la invención es crear esta pauta de rendimiento de una manera que la garantiza como
una pauta práctica y apropiada para el deportista particular, y una pauta que tiene en consideración las
variaciones que se presentan en un itinerario particular.
Otro objeto de la invención es proporcionar una pluralidad de pautas de rendimiento personalizadas,
con una pauta diferente disponible para cada itinerario de entrenamiento utilizado por el deportista.
Un objeto adicional de la invención es proporcionar medios para cambiar la pauta correspondiente a
un itinerario cuando la capacidad de cambio del deportista garantice una nueva pauta de rendimiento
para dicho itinerario.
35
Otro objeto de la invención es proporcionar medios por los cuales el rendimiento de un deportista se
puede registrar en el dispositivo de la invención como una pauta para ser utiliza por otros deportistas
que deseen emular el rendimiento del primer deportista siguiendo el mismo itinerario de entrenamiento.
40
Otro objeto de la invención es proporcionar medios para extraer datos de rendimiento del ordenador de bicicleta y transmitirlos a un ordenador externo para tratamiento y protección. Un objeto de
la invención, relacionado con el anterior, es proporcionar medios para transferir tales datos desde un
ordenador externo al ordenador de bicicleta.
45
Una realización particular de la invención consiste en un ordenador de bicicleta similar a los de la
tecnologı́a conocida, con la adición de una memoria de acceso aleatorio (RAM) que funciona conectada a
un procesador y software apropiado para proporcionar las funciones de la invención. La RAM se conecta
al procesador por circuitos de control y datos de manera que el procesador, bajo control de su programa
de software, pueda leer y escribir en las células de la RAM. El dispositivo de la invención registra los
detalles de un rendimiento actual, momento a momento, en la RAM. Una vez completo el dato de rendimiento actual, el dispositivo de la invención permite que el deportista conserve este registro en un área
numerada de la RAM. La invención proporciona una pluralidad de tales áreas numeradas para conservar
una pluralidad de los referidos registros. Al comienzo de un nuevo entrenamiento, el dispositivo de la
invención permite que el deportista elija cualquiera de los conjuntos de datos de rendimiento, previamente
salvados, para ser utilizados como pauta de comparación, y presenta visualmente los datos de pauta junto
con datos actuales, de manera que el deportista pueda comparar fácilmente su rendimiento actual, en
cualquier momento, con datos similares relativos al rendimiento conservado en memoria.
50
55
60
La invención se define en la reivindicación independiente adjunta. En las reivindicaciones independientes se exponen caracterı́sticas preferidas.
Las caracterı́sticas de novedad de construcción y funcionamiento de la invención resultarán más evi3
ES 2 111 248 T3
dentes durante el curso de la descripción que sigue, tomándose como referencia los dibujos adjuntos en
los cuales se ha ilustrado una forma preferida de dispositivo de la invención y en los cuales los carácteres
iguales de referencia indican partes iguales en todos los dibujos.
5
Breve descripción de los dibujos
La Figura 1 es un esquema de una bicicleta con un sensor de movimiento de una rueda, un cable y
un ordenador de bicicleta.
10
La Figura 2 ilustra el indicador visual de un ordenador de bicicleta, que presenta la velocidad actual,
el tiempo transcurrido, el ritmo establecido y el tiempo transcurrido a ese ritmo.
La Figura 3 ilustra un indicador visual de ordenador de bicicleta que presenta la velocidad actual y
la distancia; el ritmo establecido y la distancia.
15
La Figura 4 ilustra un indicador visual de ordenador de bicicleta que presenta la velocidad media y
el tiempo de marcha; la velocidad media al ritmo establecido y el tiempo de marcha a la misma.
20
La Figura 5 ilustra un indicador visual de ordenador de bicicleta que muestra la fecha y la hora reales;
la fecha y el número memorizado de datos de ritmo establecido; asimismo, el tiempo total, la distancia
total y la velocidad media de la marcha a un ritmo establecido.
La Figura 6 es un esquema funcional del procesador, el indicador visual, las baterı́as, las teclas, la
memoria y el conector para enlace a un ordenador externo; y
25
La Figura 7 es un esquema de los dos conjuntos de datos primarios de la presente invención tal como
se mantienen en memoria para tener un control de datos de ritmos establecidos en carreras anteriores.
Descripción de la realización preferisa de la invención
30
35
Con relación a los dibujos adjuntos, se describirá a continuación una realización preferida de la invención en un ordenador de bicicleta. Incluirı́a un aparato provisto de una memoria de acceso aleatorio
(RAM) contenida dentro de la caja del ordenador de bicicleta y software apropiado para proporcionar
las funciones de la invención. Esta RAM se conecta al procesador por circuitos de control y de datos de
manera que el procesador, bajo control de su programa de software, pueda leer y escribir en cualquier
célula de la RAM.
40
La Figura 1 muestra la invención instalada en una bicicleta. Un imán 11 se une a la rueda 10 de
manera que el imán 11 pase próximo al sensor de movimiento 12 durante cada rotación de la rueda. El
sensor de movimiento 12 transmite una señal por los cables de conexión 13 al ordenador de la bicicleta
14 cada vez que pasa el imán 11. Se pueden emplear otros medios para proporcionar información de
movimiento de la rueda al ordenador de bicicleta, por ejemplo transmisión por radio o por infrarrojos en
lugar de un cable de conexión.
45
El ordenador de bicicleta 14 se instala en la bicicleta en una lugar en el cual el ciclista pueda accionar
sus teclas de control y observar el indicador visual mientras va montado en la bicicleta.
50
55
60
El software de la invención registra los detalles del rendimiento del deportista en una porción de la
RAM mientras va montado en la bicicleta. Este registro comienza cuando se pone en funcionamiento el
temporizador, después de haberse repuesto a cero. En cada posición de la RAM, dentro de la porción
operativa de la RAM, se escriben datos numéricos de rendimiento pertenecientes a un punto a lo largo
del itinerario, como el tiempo real transcurrido, la distancia real, la velocidad real y la altitud, en un
determinado momento. Tales datos se registran a intervalos siempre que esté el temporizador en funcionamiento. Los intervalos entre puntos de registro puede ser de duración fija o variable. Al final de la
carrera actual, el deportista puede utilizar las teclas de control del ordenador de bicicleta, si ası́ lo desea,
para conservar los detalles registrados del rendimiento actual para referencia futura. En el proceso de
conservar los datos registrados, el dispositivo de la invención exige que el deportista elija un número de
identificación que determine cuál de los archivos tipo, previamente conservados, tendrá que ser sustituido
por los datos actuales de la carrera. En la realización preferida, el dispositivo de la invención conserva
también la fecha actual junto con los datos de rendimiento como medio de ayudar al deportista a elegir
y utilizar los datos en el futuro.
4
ES 2 111 248 T3
5
10
15
20
25
30
35
40
45
50
55
60
En general, siempre que se pone en marcha el cronómetro, el dispositivo registra los detalles del
rendimiento actual (tiempo frente a distancia y altitud, etc) en un área temporal de la memoria. Si
se detiene el cronómetro, se detiene el registro, pero se conserva el registro hasta ese punto. Si se reanuda la cronometración, también se reanuda el registro, creando nuevos datos de entrada después de los
últimos. Solamente después de la reposición o vuelta al estado inicial (que pone a cero el cronómetro y
el podómetro de itinerario) se borra el registro histórico temporal.
Una vez que el deportista ha salvado uno o más conjuntos de datos de su rendimiento, el dispositivo
de la invención le permite utilizar las teclas de control para elegir uno de los juegos de datos conservados
para ser utilizados como pauta de comportamiento para una actuación ulterior. El indicador visual, como
se ilustra en la Figura 5, permite que el deportista observe determinada información identificativa con
relación a los datos previamente salvados como ayuda para elegir una pauta. En la realización preferida,
el deportista puede ver en la pantalla del indicador el número de identificación de un conjunto de datos conservados, la fecha en que se guardaron, la distancia total memorizada de la etapa, el tiempo total
transcurrido y su velocidad media general. Las teclas de control se emplean para examinar la información
de identificación correspondientes a otros conjuntos de datos conservados, hasta que se encuentra el conjunto deseado. Después de analizar esta información de identificación, el deportista emplea las teclas de
control para elegir los datos que considera oportuno utilizar como pauta para la etapa presente.
La selección de una pauta se suele hacer normalmente al comienzo de una etapa de carrera o entrenamiento, pero se puede cambiar a una pauta diferente durante la marcha, si ası́ se desea. Esta capacidad
es útil para el caso de que el usuario se dé cuenta que, después de iniciar una etapa, ha elegido accidentalmente el ejercicio de regularidad erróneo para comparación. Si el usuario cambia a un ejercicio de
regularidad diferente, el procesador explora inmediatamente los datos elegidos para ubicar los puntos, en
tiempo y distancia, que corresponden al punto alcanzado en el ejercicio actual. Si el usuario ha cambiado
la pauta estando el temporizador en funcionamiento, podrı́a ocurrir que el procesador no fuera capaz
de procesar el nuevo archivo tipo o archivo de regularidad a tiempo de actualizar inmediatamente los
datos en pantalla; en este caso, los datos de comparación del ejercicio de regularidad quedarı́an en blanco
temporalmente en el indicador, hasta que el procesador pudiera rehacerse y presentar datos correctos a
partir del nuevo archivo tipo o de regularidad.
Una vez seleccionada la pauta, el deportista utiliza las teclas de controla para comenzar a cronometrar el ejercicio actual. El dispositivo de la invención comienza entonces a presentar información a partir
de la pauta de carrera en proximidad con datos similares relativos al ejercicio actual, de manera que el
deportista pueda observar fácilmente, en cualquier momento, cómo su rendimiento actual se compara
con la pauta elegida. El dispositivo de la invención utiliza información relativa al ejercicio actual, como
es la distancia recorrida y el tiempo transcurrido, para determinar las porciones de los datos de pauta
conservados que debe presentar en el indicador, de manera que los datos de pauta presentados en pantalla correspondan siempre al punto del itinerario en el que el deportista está situado en ese momento.
Además, cuando el deportista emplea las teclas de control para cambiar los datos del indicador a un tipo
diferente de datos, el dispositivo de la invención cambia también la presentación de los datos de pauta en
el indicador, de manera que la pauta se presente siempre en una forma similar a los datos pertenecientes
al ejercicio actual, facilitando al deportista la comparación de los datos. Por ejemplo, si el ordenador de
bicicleta está presentando en el indicador la velocidad instantánea actual del ciclista, presentará también
la velocidad a la que marchó el ciclista en el mismo punto en el ejercicio de regularidad elegido. Si
el ordenador de bicicleta está presentando el tiempo transcurrido correspondiente al ejercicio actual, el
dispositivo de la invención presenta también el tiempo que fue necesario para llegar al mismo punto, a lo
largo de la ruta, en el ejercicio de regularidad elegido. Si el indicador presenta la distancia recorrida en el
ejercicio actual, el dispositivo de la invención presenta también la distancia que se alcanzó en el ejercicio
de regularidad en el mismo periodo de tiempo empleado en el ejercicio actual.
Al final de cada ejercicio de carrera o entrenamiento, el deportista tiene siempre la opción de conservar los datos relativos a su rendimiento actual. Si decide conservar los datos, tiene también la opción de
determinar el número de conjunto para ser utilizado como identificador. Si elige un número de conjunto
al que previamente se hubieran asignado datos, los nuevos datos de rendimiento sustituyen a los antiguos,
que dejan de tenerse disponibles.
En la realización preferida, el dispositivo de la invención presenta siempre sı́mbolos como +, -, ó =
para indicar si el ciclista está corriendo, respectivamente, más rápido, más lento o igual que en el ejercicio
anterior elegido. Si el indicador muestra, en ese momento, más de una métrica de rendimiento, por ejemplo la velocidad actual y el tiempo transcurrido, cada métrica tendrı́a también un sı́mbolo al lado para
indicar cómo se compara esa métrica con la métrica similar correspondiente al ejercicio de regularidad o
5
ES 2 111 248 T3
5
10
15
de referencia. Por ejemplo, si el ciclista está corriendo, en ese momento, a mayor velocidad que la alcanzada en ese punto en el ejercicio de regularidad o referencia, pero anteriormente habı́a corrido a menor
velocidad, por lo que esta velocidad general, en esta carrera, es más lenta que la referencia, el indicador
presentarı́a el signo + al lado de la velocidad actual, pero el signo - al lado del tiempo transcurrido. Esto
permite al ciclista observa, de una ojeada, que no lleva la regularidad deseada, pero que está mejorando.
En la realización preferida, el dispositivo de la invención proporciona también un tono audible que
puede avisar al ciclista si va por detrás o no está alcanzado la regularidad deseada. Este tono audible
podrı́a elegirse a opción del usuario pulsando las teclas de control. Este tono audible facilitarı́a al ciclista mantener la regularidad deseada sin necesidad de mirar con frecuencia al indicador del ordenador
de bicicleta. Idealmente, el tono consistirı́a en una serie de impulsos de audiofrecuencia que sonarı́an
periódicamente en el caso de que el ciclista no alcanzara los objetivos establecidos por el tipo de ejercicio de regularidad. Por ejemplo, si la velocidad actual del ciclista está por debajo de la velocidad de
regularidad o de referencia correspondiente a esta parte de la etapa, sonarı́a un solo impulso a intervalos
de quizá 5 ó 10 segundos. Si la velocidad media general del ciclista está por debajo del ritmo deseado,
se producirı́an dos impulsos consecutivos en cada intervalo. Si el ciclista va perdiendo velocidad y no
alcanza su velocidad media general, se producirı́an tres impulsos en cada intervalo. Se comprenderá que
se puede transmitir información similar por otras combinaciones de tonos audibles.
20
Las Figuras 2 a 5 muestran cuatro vistas externas diferentes de la pantalla del indicador, que ilustran
la presentación de información que incluye información disponible según la tecnologı́a conocida, junto con
información exclusiva de la presente invención. El ciclista emplea las teclas de control para elegir cuál de
estos formatos deben presentarse en pantalla.
25
En la Figura 2, el indicador presenta la velocidad actual 21 y el tiempo transcurrido 22 desde el
comienzo de la etapa. El ciclista emplea las teclas de control 24 para hacer funcionar el ordenador de
bicicleta. La parte inferior del indicador presenta información que se deriva de un rendimiento anterior
conservado que se utiliza como pauta o medida de comparación. El dato 23 es la velocidad que llevaba el
ciclista al llegar al punto correspondiente en la carrera elegida como pauta. El dato 25 es el tiempo transcurrido que fue necesario para llegar hasta el punto correspondiente en la carrera elegida como pauta.
Los datos 26 y 27 son sı́mbolos que indican si el deportista va actualmente por delante (+), por detrás
(-) o igual (=) con respecto a su rendimiento en el punto correspondiente de la carrera elegida como
pauta. El dato 28 es la hora actual del dı́a. En la realización preferida, el indicador presenta información
correspondiente relativa al ejercicio actual y a la carrera elegida como pauta, en proximidad, para facilitar
al deportista su comparación. Por ejemplo, los datos 21 y 23 representan velocidades correspondientes
y se ubican uno directamente por encima del otro, mientras que el sı́mbolo 26 indica cómo se comparan
las velocidades. Igualmente, los datos 22 y 25 representan tiempos correspondientes y se ubican también
uno directamente por encima del otro, en proximidad con su sı́mbolo de comparación 27.
30
35
40
45
50
55
60
En la Figura 3, el indicador presenta la velocidad actual 31 y la distancia recorrida 32 desde el inicio de la etapa. La parte inferior del indicador presenta información que se deriva de un rendimiento
previo conservado que se utiliza como pauta de comparación. El dato 33 es la velocidad a la que iba el
ciclista al llegar al punto correspondiente en la carrera elegida como pauta. El dato 35 es la distancia
recorrida en el mismo periodo de tiempo en la carrera elegida como pauta. Los datos 36 y 37 son sı́mbolos
que indican si el deportista va actualmente por delante (+), por detrás (-) o igual (=) con respecto al
rendimiento alcanzado al llegar al punto correspondiente de la carrera elegida como pauta. El dato 38
es la hora actual del dı́a. En la realización preferida, el indicador presenta información correspondiente
relativa al ejercicio actual y a la carrera elegida como pauta, en proximidad para facilitar la comparación
al deportista. Por ejemplo, los datos 31 y 33 representan velocidades correspondientes y se ubican uno
directamente por encima del otro. Igualmente, los datos 32 y 35 representan distancias correspondientes
y se sitúan también uno directamente por encima del otro.
En la Figura 4, el indicador presenta la velocidad media 41 y el tiempo de carrera 42 desde el comienzo
de la etapa. La parte inferior del indicador presenta información que se deriva de un rendimiento previo
conservado que se utiliza como pauta de comparación. El dato 43 es la velocidad media a la que iba
el ciclista al llegar al punto correspondiente en la carrera elegida como pauta. El dato 45 es el tiempo
necesario para alcanzar el punto correspondiente, en la carrera elegida como pauta. Los datos 46 y 47
son sı́mbolos que indican si el deportista va actualmente por delante (+), por detrás (-) o igual (=) con
respecto al punto correspondiente de la carrera elegida como pauta. En la realización preferida, el indicador presenta información correspondiente relativa al ejercicio actual y a la carrera elegida como pauta
en proximidad para facilitar la comparación al deportista. Por ejemplo, los datos 42 y 43 representan
velocidades medias correspondientes y se ubican uno directamente por encima del otro. Igualmente, los
6
ES 2 111 248 T3
datos 42 y 45 representan tiempos de carrera correspondientes y se sitúan también uno directamente por
encima del otro.
5
10
15
20
25
30
35
40
45
50
55
60
Las Figuras 2 a 4 representan simplemente tres posibles medios de presentar los datos disponibles
gracias a esta invención, y se deberá comprender que son posibles muchas otras representaciones dentro
del alcance de esta invención. En particular, si el ordenador de bicicleta mide otros parámetros además
del tiempo, la velocidad y la distancia, estas otras métricas se pueden salvar en la memoria de esta invención y presentarse en pantallas apropiadas que comparan estas métricas correspondientes al ejercicio
actual con métricas similares procedentes de un ejercicio de regularidad conservado como referencia. Por
ejemplo, si se mide el ritmo de pedaleo, se puede guardar en memoria y presentarse en una pantalla que
compara el ritmo actual con el ritmo en el mismo punto del ejercicio de regularidad de referencia. Si se
mide la altitud, se puede guardar en memoria y presentarse en una pantalla que compara la velocidad
de ascensión de la carrera o ejercicio actual con la velocidad de ascensión en el mismo punto del ejercicio
de regularidad de referencia. Igualmente, se puede memorizar el ritmo cardı́aco del ciclista y presentarse
para comparación. La invención contempla también la presentación en pantalla del tiempo total necesario
empleado en el ejercicio de regularidad de la carrera de referencia, y el tiempo total estimado para acabar
la carrera actual, tomando como base el rendimiento comparativo en el punto actual de la carrera.
En la Figura 5, el indicador presenta información que es útil para elegir, entre los conjuntos de datos
históricos de rendimiento conservados. Tal selección se hace al comienzo de una carrera, para elegir la
pauta de comparación durante la carrera y también al final de una carrera, con el fin de elegir el área numerada de la memoria que se debe sustituir por información relativa al ejercicio que se acaba de realizar,
en el caso de que el deportista decidiera conservar esa información. El dato 58 es la fecha actual y el dato
59 es la hora actual del dı́a. El dato 54 es el número de identificación de uno de los conjuntos de datos
históricos conservados cuya información de resumen se presenta en los datos 51, 52, 53 y 55. El dato 51
es la velocidad media alcanzada en todo el curso de la carrera anterior conservada, identificada por el
dato 54. El dato 52 es la fecha en la cual se realizó el ejercicio de entrenamiento o carrera identificado
por el dato 54. El dato 53 es la distancia total recorrida durante la carrera identificada por el dato 54.
El dato 55 es el tiempo total empleado durante la carrera anterior identificada por el dato 54. Pulsando
las teclas de control de las que está provista la realización preferida de la invención en un ordenador de
bicicleta, el usuario puede examinar, por desplazamiento de datos, los diferentes conjuntos de datos de
rendimiento conservados y observar los parámetros clave de cada conjunto conservado que aparecen en
pantalla, como se indica en la Figura 5. Empleando la información presentada en pantalla, el usuario
puede elegir un conjunto especı́fico para utilizarlo como norma durante el ejercicio de la carrera actual
pulsando las teclas de control. Igualmente, pulsando una combinación diferente de teclas, el usuario
puede salvar la información relativa al ejercicio actual en las áreas numeradas de la memoria.
La Figura 6 presenta un esquema funcional de la realización preferida de la invención. El elemento 60
es el indicador visual, que puede ser del tipo de cristal lı́quido u otro visualizador apropiado. El elemento
61 es el procesador central. El elemento 62 comprende los interruptores de control. El elemento 63 es el
sensor de movimiento de la rueda. El elemento 64 es la baterı́a o baterı́as que alimentan energı́a eléctrica.
El elemento 65 es un pequeño conector externo con el que un cable se puede conectar para enlazar el
dispositivo de la invención a un ordenador externo, por ejemplo un ordenador personal. El elemento 66 es
la memoria que puede contener los datos de referencia guardados de ejercicios o carreras anteriores. En
la realización preferida, esta memoria está constituida por una memoria de acceso aleatorio, no volátil,
de manera que sus datos no se pierdan si se agotara la baterı́a.
El conector 65, para enlace a un ordenador externo, es una caracterı́stica opcional que se utilizarı́a
en la realización preferida, pero que no es necesaria para las funciones primarias anteriormente descritas.
Si se utiliza el referido conector, se puede emplear para diversas funciones valiosas. Los datos, contenidos en la memoria del dispositivo de la invención, se podrı́an transmitir al ordenador externo para su
conservación y transferirse de nuevo al ordenador de bicicleta (o a otro similar) ulteriormente. De este
modo, si los datos, contenidos en la memoria, se llegaran a perder debido a un fallo de alimentación de
energı́a, se podrán recargar desde el ordenador externo. Igualmente, si el ordenador de bicicleta se averiara, se perdiera o fuera sustraido, el usuario puede recuperar sus datos valiosos del ordenador externo
trasfiriéndolos a un nuevo ordenador de bicicleta.
Si el usuario utilizara diferentes bicicletas en numerosas rutas o etapas diferentes, quizá en distintos
paı́ses, podrı́a ocurrir que el propio ordenador de bicicleta no tuviera espacio de memoria suficiente para
conservar todas las carreras o ejercicios de regularidad que deseara guardar. En tal caso, el usuario podrı́a
copiar los datos de referencia en un ordenador externo en el cual podrı́a existir un número ilimitado de
archivos de referencia diferentes. Después, siempre que el usuario viajara a una región especı́fica o paı́s,
7
ES 2 111 248 T3
podrı́a transferir al ordenador de bicicleta simplemente los archivos de referencia deseados correspondientes a las rutas o etapas donde fuera a realizar el entrenamiento o carrera.
5
Una vez transmitidos los archivos de referencia a un ordenador externo, se podrán copiar en otro
ordenador de bicicleta que incorpora el dispositivo de esta invención. Por lo tanto, los datos generados
por un ciclista se podrı́an copiar en los ordenadores de bicicletas de otros ciclistas para ser utilizados por
los mismos como pauta. De este modo, un ciclista que fuera el mejor en una ruta particular podrı́a crear
datos de referencia o datos tipo para otros ciclistas que intentara mejorar su rendimiento para igualar o
superar al primer ciclista.
10
Los datos del ordenador externo se pueden utilizar también para tener un control del comportamiento
en carrera de diversos corredores. Con software apropiado en el ordenador externo, estos datos de rendimiento pueden ser gestionados, trazados y comparados como parte de un programa de entrenamiento
deportivo para un corredor individual o un equipo.
15
20
25
30
35
40
45
50
Con software apropiado, el ordenador externo podrı́a modificar también un archivo de referencia para
crear una pauta diferente, que podrı́a cargarse entonces en el ordenador de bicicleta. Por ejemplo, un
deportista podrı́a fijarse una meta para mejorar su mejor tiempo en una determinada ruta en un 5%.
Podrı́a hacer que el ordenador externo modificara el archivo de datos tipo o de referencia de manera
que todos los segmentos de la etapa fueran un 5% más rápidos y copiara entonces este archivo tipo o de
referencia modificado en el ordenador de bicicleta.
La Figura 7 ilustra la forma en la que las matrices de datos primarios se organizan en memoria para
tener un control de datos de referencia procedentes de competiciones previas y registrar los datos de referencia de la carrera actual. Los datos de carrera de referencia se mantienen en la matriz bidimensional
indicada como “matriz de datos tipo” en la Figura 7. En esta matriz, cada columna contiene datos tipo
o de referencia correspondientes a una carrera. En el ejemplo ilustrado, la matriz tiene diez columnas
numeradas del 0 al 9, lo que implica que esta matriz puede conservar información relativa a diez carreras
diferentes. Como siempre hay una columna disponible para registrar la carrera actual, una de estas
columnas se utiliza como almacenamiento temporal para la carrera actual, mientras que las otras nueve
columnas conservan datos tipo procedentes de nueve carreras previamente registradas. El número de
columnas proporcionadas en una circunstancia de utilización de la invención, dependerá de la capacidad
de la RAM utilizada en ese modelo, entre otras cosas.
El número de anotaciones o elementos en una columna determina en que medida se puede registrar
una carrera. Cuando se está registrando una carrera, cada vez que transcurre un intervalo determinado,
se introduce una nueva anotación en la posición siguiente no utilizada en la columna correspondiente a
esa carrera. Por ejemplo, si un modelo particular registra datos cada 15 segundos, se escribirá entonces
una nueva anotación en la columna apropiada cada 15 segundos hasta el final de la carrera (o hasta
haberse llenado la columna). Para poder registrar una carrera hasta 12 horas sin que se desbordara la
columna, la RAM deberá tener capacidad suficiente de manera que cada columna tenga por lo menos
2.880 elementos o anotaciones, si se escribe cada 15 segundos.
Las anotaciones escritas en cada columna pueden consistir en un solo campo de dato o en más de
un campo. Un campo es suficiente para proporcionar las funciones de la invención, permitiendo que se
calculen y comparen distancia, tiempo y velocidad en cualquier punto de una carrera. No obstante, si
el ordenador de bicicleta tiene acceso a otros tipos de datos, también se pueden registrar como campos
adicionales. Por ejemplo, se puede registrar altitud, ritmo de pedaleo y ritmo cardı́aco junto con distancia
y tiempo, siempre que se añada un nuevo elemento o anotación a una columna. Si se tiene disponible
dicho dato adicional, presumiblemente el ordenador de bicicleta proporcionarı́a también representaciones
adicionales en pantalla para indicar este dato al usuario, de un modo similar a como se ilustra en las
Figuras 2 a 4, pero presentándose datos diferentes. Si existieran tales representaciones, según esta invención, se podrı́an incrementar campos que presentaran datos similares procedentes de los archivos tipo
o de referencia, para su comparación con la carrera actual.
55
60
Para evitar tener que copiar una columna entera de la matriz de datos a otra columna cuando se
salvan los datos de una nueva carrera, las columnas se gestionan mediante el empleo de la Matriz de Correlación. La Matriz de Correlación tiene una anotación por cada columna en la Matriz de Datos Tipo.
La anotación 0 en la Matriz de Correlación contiene el número de columna de la columna de la Matriz de
Datos Tipo que se tiene que utilizar para registrar la carrera actual. Las otras anotaciones en la Matriz
de Correlación indican las columnas que contienen varias carreras previamente registradas. El ı́ndice en
la Matriz de Correlación es el número que se asocia con cada archivo tipo o de referencia conservado y
8
ES 2 111 248 T3
5
10
15
este ı́ndice es el que se muestra al usuario, como dato 54, en la pantalla, tal como se ilustra en la Figura
5. Utilizando la Matriz de Correlación, se pueden conservar los datos de la carrera recién finalizada en
lugar de una carrera anterior registrada, simplemente intercambiando dos valores en la Matriz de Correlación. Por ejemplo exáminense las columnas sombreadas en la Figura 7. La anotación de la Matriz de
Correlación 0 apunta al número de columna 2, que es donde se almacenan los datos de la carrera actual.
La anotación de la Matriz de Correlación 9 se presenta sombreada porque el usuario ha elegido el número
de carrera 9, anteriormente registrado, para comparación y esta anotación apunta a la columna 6 en la
Matriz de Datos Tipo. Después de finalizada la carrera, el usuario podrı́a determinar la conservación de
los nuevos datos de la carrera en lugar del número 9 de una carrera anterior, quizá porque la nueva carrera
fue más rápida. Para conservar los datos de la nueva carrera de este modo, el dispositivo de la invención
simplemente intercambia los valores en las anotaciones 0 y 9 de la Matriz de Correlación. Después de
hacerlo, la anotación 9 apunta a la columna 2 (que contiene datos correspondientes a la carrera recién
finalizada), y la anotación 0 apunta a la columna 6, que se utilizará para registrar la carrera siguiente.
Los algoritmos y el programa C para su ejecución
La invención se pone en práctica por una combinación de hardware y software de control. El hardware
consiste en los elementos y la estructura ilustrados en la Figura 6.
20
25
La parte de software de la presente invención incluye software que proporciona por lo menos las
funciones siguientes: controlar el cronómetro, contar rotaciones de la rueda, calcular la distancia y la
velocidad, presentar en pantalla diversa información y responder a la pulsación de teclas de control. El
software de la presente invención contiene también los aspectos siguientes de novedad y exclusivos:
1. Define nuevas variables y matrices de datos necesarias para la invención y las inicializa debidamente.
2. Cada representación en pantalla que presenta datos actuales de rendimiento se cambia para que se
presente también los valores correspondientes calculados procedentes del archivo tipo elegido. En
las Figuras 2, 3 y 4 se muestran ejemplos de estas representaciones en pantalla.
30
35
40
45
50
55
60
3. Se añade una representación en pantalla adicional, similar a la ilustrada en la Figura 5, para
presentar información de resumen procedente de los archivos tipo conservados, de manera que el
usuario pueda elegir uno. Mientras esta representación está en pantalla, pulsando una de las teclas
de control se hace que el indicador presente datos del archivo tipo siguiente en una secuencia de
“mesa redonda”.
4. Durante una carrera, estando el temporizador o cronómetro en funcionamiento, se tienen que ejecutar dos nuevas funciones siempre que se actualice la pantalla (normalmente una vez por segundo):
4.1 Salvar el dato relativo a la carrera actual (v.g., tiempo y distancia) en la posición siguiente de
una matriz temporal de memoria si ha transcurrido tiempo suficiente desde la última vez que
se introdujo una anotación en esta matriz temporal.
4.2 Hallar las porciones del archivo tipo elegido, en memoria, que corresponden al punto actual
de la ruta y calcular los valores que se deben presentar en pantalla.
5. Después de una carrera, cuando se ha detenido el cronómetro, si el usuario cambia la representación
en pantalla a una nueva (mencionada en el aparato 3 anterior e indicada en la Figura 5) y pulsa
una combinación predeterminada de teclas de control, los datos de la carrera actual sustituyen a
los datos previamente conservados en el área de memoria en ese momento en pantalla.
Los detalles de la lógica correspondiente a estas funciones se han realizado y se presentan en un
conjunto de programas en el apéndice, escrito en el lenguaje de programación C, e incluyendo muchos
comentarios. Cada uno de estos 5 elementos de novedad, anteriormente enumerados, se explicará con
más detalle más adelante, con relación al programa C que aparece en el Apéndice. Las subrutinas en el
apéndice se han escrito con el entendimiento de que existe un “programa principal” en el ordenador de
bicicleta que realiza todas las funciones de los ordenadores de bicicleta de tecnologı́a conocida, y que llama
a las subrutinas, contenidas en el apéndice, para la realización de las nuevas operaciones exigidas por la
presente invención, según se pormenoriza en la lista anterior de 5 elementos exclusivos y de novedad.
El elemento 1 se realiza mediante las declaraciones de datos bajo la cabecera “Global Data” (Datos
Globales) y mediante la subrutina formada “start ride” (iniciación de carrera) que inicializa los datos
globales debidamente para ser utilizados durante cada carrera. Las áreas de datos globales contienen
datos necesarios en las diversas subrutinas y se definen globalmente de manera que se puedan utilizar
fácilmente en todas las subrutinas que los necesiten. Los comentarios en las declaraciones del programa
9
ES 2 111 248 T3
C explican los usos de cada variable.
5
10
El elemento 2 se realiza mediante la función “update scree” (actualización de representación en pantalla) en el apéndice. Esta función se llama para que se presente en pantalla información de la carrera
actual con información comparable procedente del archivo tipo elegido. Existen tres formatos de pantalla definidos y el “input argument screen type” (introducir tipo de pantalla de argumento) selecciona
el formato que se tiene que presentar en pantalla. Todas las representaciones en pantalla muestran la
fecha y la hora actuales, y los sı́mbolos (+, -, ó =) que indican cómo la carrera actual se compara con la
carrera tipo o de referencia. Además, los otros datos que se presentan correspondientes a cada tipo son
como sigue:
1. Velocidad actual, tiempo actual transcurrido, velocidad y tiempo actuales de referencia, como se
ilustra en la Figura 2.
15
2. Velocidad y distancia actuales, velocidad y distancias actuales de referencia, tal como se ilustra en
la Figura 3.
3. Velocidad media y tiempo transcurrido de esta carrera y velocidad media y tiempo transcurrido de
referencia en el mismo punto de la ruta, como se ilustra en la Figura 4.
20
25
30
35
40
45
50
55
60
El elemento 3 se realiza por medio de las funciones “show pace files” (presentar archivos tipo) y “advance index” (ı́ndice de avance) en el apéndice. La función “show pace files” presenta información de
resumen relativa a un archivo tipo en cualquier momento en un formato como el ilustrado en la Figura
5. Este dato da al usuario información suficiente para elegir el archivo tipo apropiado para comparación
durante la carrera planificada. Mientras está en pantalla esta información, si el usuario pulsa la tecla de
control apropiada, se llama a la función “advance index” para cambiar el archivo tipo elegido al siguiente
en la secuencia circular o de “mesa redonda”. Después se llama de nuevo a la función “show pace files”
para presentar en pantalla la información de ese archivo. Si ese número de archivo no tiene datos válidos,
los campos que faltan aparecerán en la pantalla en blanco.
El elemento 4 se realiza mediante la subrutina “evaluate” (evaluación) en el apéndice, que ejecuta
ambas funciones 4.1 y 4.2. El programa principal llama a “evaluate” cada vez que se tiene que actualizar
la representación en pantalla. El programa principal lleva el control de datos básicos relativos a la carrera
actual, como son el tiempo transcurrido y la distancia recorrida, en variables globales que son utilizados
por esta subrutina.
El programa “evaluate” tiene dos funciones. 1. Crea periódicamente otra anotación en el archivo tipo
temporal actual para llevar el control de la evolución de la carrera actual en el caso de que el usuario
determinara después conservarla permanentemente. 2. Explora el archivo tipo elegido (si lo hubiera)
para hallar los lugares que corresponden a la misma distancia y tiempo en la carrera de referencia y
utiliza esos datos para calcular valores comparables que se pueden presentar en pantalla junto con la
información usual relativa a la carrera actual, de manera que el usuario pueda ver fácilmente cómo se
está comportando comparando con la carrera de referencia elegida. La lógica del programa “evaluate” se
expondrá más adelante con más detalle.
El elemento 5 se realiza mediante la función “save ride” (conservar carrera) en el apéndice. Esta
función se invoca si el usuario pulsa una determinada combinación de teclas de control mientras está en
pantalla la información ilustrada en la Figura 5. Por ejemplo, una ejecución podrı́a exigir que el usuario
pulsara dos teclas simultáneamente para cambiar el fichero tipo, en ese momento presente en la pantalla,
por los datos de la carrera que acaba de finalizar. Como las áreas de los datos tipo o de referencia se
correlacionan mediante la matriz de correlación, como se indica en la Figura 7, es muy fácil y rápido
hacer esta sustitución. No hay necesidad de mover todos los datos reales en la matriz; lo único necesario
es intercambiar valores indicadores en la matriz de correlación. Antes de hacerlo, esta rutina hace una
comprobación para tener la seguridad de que la carrera actual tuvo una duración no de cero, para evitar
destruir datos válidos conservados por una carrera nula, a lo que no hay lugar.
Lógica del programa “Evaluate”
El programa “evaluate” emplea una matriz bidimendisonal para llevar el control de datos correspondientes a todos los archivos tipo en el dispositivo de la invención, incluyendo uno que se utiliza como
archivo temporal para conservar datos relativos a la carrera actual en curso. Existen diversos medios con
los cuales los datos necesarios se pueden representar en esa matriz, todos los cuales quedan comprendidos
dentro del alcance de esta invención.
10
ES 2 111 248 T3
5
10
15
20
25
30
35
40
45
Fundamentalmente, los datos conservados correspondientes a cada archivo tipo consisten en un conjunto de anotaciones que representan la distancia recorrida y el tiempo transcurrido, desde el principio de
la etapa hasta diversos puntos de la misma. Si el ordenador de bicicleta mide también otros parámetros,
como son la altitud, ritmo de pedaleo o ritmo cardı́aco, estos otros datos se pueden registrar también
junto con el tiempo transcurrido y la distancia recorrida correspondientes. Existen diversos modos de
representar estos datos fundamentales, que son lógicamente equivalentes.
Por ejemplo, cada elemento de la matriz podrı́a tener dos campos, uno de los cuales indica el tiempo
transcurrido y otro para retener la distancia correspondiente desde el principio. En este caso, los tiempos
y las distancias son acumulativos, lo que implica que los valores pueden alcanzar un magnitud durante
una etapa larga. Si se utiliza esta representación de datos, la cantidad de memoria en el dispositivo de
la invención deberá ser suficiente para representar tiempos y distancias para carreras o etapas largas. Se
pueden emplear una memoria de menor capacidad si cada anotación retiene exclusivamente el incremento
de tiempo o distancia desde la anotación previa. Como las anotaciones se hacen con frecuencia, por ejemplo una anotación cada 15 segundos, las anotaciones correspondientes a tiempo y distancia no pueden ser
nunca de gran magnitud y se necesitará un mı́nimo de espacio de memoria. Con este diseño, el procesador
debe acumular las anotaciones de tiempo y distancia para determinar el tiempo total transcurrido y la
distancia desde el principio.
Si el dispositivo de la invención se diseña para conservar datos en memoria a intervalos fijos, en ese
caso las anotaciones en la matriz solamente tienen que almacenar uno de los dos tipos de datos fundamentales, puesto que el otro se puede deducir de la posición de la anotación. Por ejemplo, si una nueva
anotación se escribe exactamente cada 15 segundos, la anotación tendrá que contener exclusivamente un
valor de distancia, puesto que el tiempo de cada anotación se puede calcular como la posición en la matriz
multiplicada por 15 segundos. Igualmente, si se escribe una nueva anotación cada vez que se recorre una
determinada distancia, la anotación solamente deberá contener el valor de tiempo,
La ejecución especı́fica, ilustrada en el programa C en el apéndice, es un ejecución en la cual una
anotación de matriz se escribe a intervalos de tiempo fijos, por lo que solamente se escribe la distancia
en una matriz llamada “dist” (distancia). Cada distancia esta representada como la distancia adicional
recorrida desde la última anotación y se registra en unidades del número de revoluciones de la rueda.
El intervalo de tiempo entre anotaciones es fijo para cualquier archivo tipo particular, pero el programa
permite que este intervalo sea diferente para archivos tipo diferentes. Esta flexibilidad es útil en el caso
de que el ordenador de bicicleta permita al usuario establecer manualmente este intervalo de tiempo, o
en el caso de que se copie un archivo tipo de un ordenador de bicicleta diferente que utilice un intervalo
de tiempo diferente. El programa “evaluate” tiene lógica para escribir anotaciones correspondientes a la
carrera actual, después de las lı́neas de comentarios que contienen “– Item 4.1 –” y “– Update Current
Pace Array –” (Actualizar Matriz Tipo Actual).
Como los datos de referencia se describen exclusivamente a intervalos discretos, el programa “evaluate” utiliza interpolación lineal para aproximar valores correspondientes a puntos a lo largo de la ruta
que queden entre las anotaciones. Por ejemplo, si una primera anotación en la matriz tipo indica que
se han recorrido 2,00 millas en 6 minutos y 0 segundos, y la anotación siguiente indica que se han recorrido 2,08 millas en 6 minutos y 15 segundos, el programa llegarı́a a la conclusión de que se habı́an
recorrido 2,04 millas en 6 minutos y 7,5 segundos. La interpolación permite al programa calcular datos
muy precisos para comparación con el rendimiento en la carrera actual en cualquier punto a lo largo de
la ruta, no solamente en los puntos precisos donde se hubieran conservado datos en el archivo tipo. En
consecuencia, el dispositivo de la invención puede presentar en pantalla datos de comparación útiles en
cualquier momento.
50
55
60
Las funciones anteriormente descritas, como elemento 4.2, determinan qué anotaciones en el archivo
tipo existente corresponden al tiempo y la distancia en el punto actual de la carrera actual. Es necesario
realizar este proceso por separado con relación al tiempo y la distancia, porque el tiempo y la distancia
producirán comparaciones diferentes en cualquier momento en que la velocidad media en la carrera actual
difiera de la velocidad media en ese punto en la carrera de referencia. La tabla que sigue servirá para ilustrar los dos medios de comparación. En esta tabla, la posición en la matriz representa la posición de cada
anotación en la matriz tipo que se está utilizando para comparación. El Tiempo Transcurrido se calcula
a partir de la posición en la matriz multiplicando por 15 segundos, puesto que en este ejemplo se da por
supuesto que se hicieron anotaciones en el archivo tipo cada 15 segundos. La porción ilustrada en esta
tabla de muestra corresponde a la porción de la carrera de referencia entre 22 y 25 minutos a partir del
principio. La columna de Distancia muestra la distancia total en millas desde el inicio de la carrera
11
ES 2 111 248 T3
de preferencia. Este valor de distancia se obtiene acumulando las anotaciones de distancia en la matriz,
puesto que las anotaciones en la matriz solamente mantiene valores por incrementos
——— Carrera de Referencia ———
5
10
15
20
25
30
35
Posición
en Matriz
88
89
90
91
92
93
94
95
96
97
98
99
100
Tiempo
Transcurrido
22:00
22:15
22:30
22:45
23:00
23:15
23:30
23:45
24:00
24:15
24:30
24:45
25:00
Distancia
(Millas)
5,40
5,49
5,58
5,67
5,75
5,86
5,96
6,05
6,15
6,24
6,33
6.43
6,52
— Carrera Actual —
Actualmente,
6,10 millas en 22:40
o
—— 22:40
o
—— 6,10 millas
Según se ilustra en el lado derecho de la tabla, en este ejemplo se da por supuesto que el ciclista ha
recorrido 6,10 millas en 22 minutos y 40 segundos en la carrera actual. Podemos comparar la carrera
actual con la carrera de referencia de dos maneras.
Para hacer la comparación tomando como base la distancia, el dispositivo de la invención halla las
anotaciones correspondientes a la carrera de referencia que muestran el tiempo que se necesitó para recorrer 6,10 millas. No existe anotación de referencia correspondiente exactamente a esa distancia, pero hay
anotaciones correspondientes a 6,05 y 6,15 millas y la interpolación indica que se alcanzaron 6,10 millas
aproximadamente en un tiempo de 23:52 en la carrera de referencia. Por lo tanto, se necesitó menos
tiempo en la carrera real para cubrir la misma distancia hasta llegar a este punto de la carrera. Este
cálculo permite al dispositivo de la invención presentar datos en pantalla como se indica en la Figura 2,
que incluyen los tiempos transcurridos. En dicha representación visual, utilizando los números de este
ejemplo, la representación indicarı́a el tiempo actual transcurrido como 22:40 y el tiempo de referencia
transcurrido como 23:52 y se presentarı́a el sı́mbolo de comparación “+” para indicar que la carrera actual
es más rápida que la carrera de referencia. En el programa “evaluate” del apéndice, la lógica para hacer
la comparación de esta manera, basada en la distancia, consiste en halar los comentarios siguientes “ –
Item 4.2 –” t “– Compare Based on Distance –” (Comparar Basado en la Distancia).
40
45
50
55
Para hacer la comparación basada en el tiempo, el dispositivo de la invención halla las anotaciones
correspondientes a la carrera de referencia que muestran hasta donde llegó la carrera de referencia en
un tiempo de 22:40. No existe anotación de referencia correspondiente exactamente a ese tiempo, pero
hay anotaciones correspondientes a 22:30 y 22:45 y la interpolación indica que se alcanzaron aproximadamente 5,64 millas en el tiempo 22:40 en la carrera de referencia. Este cálculo permite al dispositivo
de la invención presentar datos en pantalla como se indica en la Figura 3, que incluyen la distancia
recorrida. En esa representación en pantalla, utilizando los números de este ejemplo, la representación
visual indicarı́a la distancia actual como 6,10 millas y la distancia de referencia como 5,64 millas, y el
sı́mbolo de comparación “+” se presentarı́a para indicar que la carrera actual es más rápida que la carrera de referencia. En el programa “evaluate” del apéndice, la lógica para la comparación de este modo,
basada en el tiempo, se halla después de los comentarios “– Item 4.2 –” y “– Compare Based on Time
–” (Comparar basado en el tiempo).
En resumen, para presentar en pantalla el tiempo actual transcurrido frente al tiempo de referencia
transcurrido, es necesario hallar el punto en la matriz tipo correspondiente a la misma “distancia”. Para
representar la distancia actual recorrida frente a la distancia alcanzada en la carrera de referencia, es
necesario hallar el punto en la matriz de referencia correspondiente al mismo “tiempo” transcurrido.
60
12
ES 2 111 248 T3
Apéndice
5
Este apéndice contiene las rutinas esenciales del un programa para realizar la invención en el lenguaje
de programación C, junto con las áreas de datos necesarias. Estas subrutinas se han diseñado de manera
que el programa, en un ordenador de bicicleta de tecnologı́a conocida, las pudiera llamar en los puntos
apropiados para realizar el procesamiento necesario con arreglo a esta invención. Los números de Item
corresponden a los cinco itemes (elementos) de novedad y exclusivos, mencionados en el texto anterior,
como cambios necesarios en el software de un ordenador de bicicleta de tecnologı́a conocida.
10
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -∗/
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - Datos Globales - - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
15
20
/∗ Las variables “current ” (actuales) representan datos relativos a la carrera actual que se utilizan aún
en ordenadores de bicicletas actuales que no tuvieran la capacidad de salvar y utilizar archivos tipo o de
referencia. Algunos valores son bastante estadı́sticos, como es el diámetro de la rueda, aún cuando estos
valores cambian en ocasiones debido a la colocación de nuevas ruedas o cámaras o la presión de inflación.
La mayorı́a de las variables muestran información dinámica relativa a la carrera actual en curso. Las
subrutinas exclusivas utilizadas con arreglo a esta invención dan por supuesto que este dato se mantiene
en el ordenador de la bicicleta y está disponible para ser utilizado en la nueva lógica necesaria para crear
y utilizar archivos tipo o de referencia. ∗/
int current time; /∗ = Tiempo transcurrido de la carrera actual en segundos.∗/
25
int current revolutions;/∗ = Revoluciones de la rueda desde el inicio de la carrera.∗/
float current dist;/∗ = Millas recorridas hasta el momento.∗/
float current speed;/∗ = Velocidad actual en mph.∗(
30
float current avg;/∗ = Velocidad media hasta el momento en esta carrera.∗/
char current date time[32];/∗ = Fecha y hora actuales.∗/
35
float circumference; /∗ = Circunferencia de la bicicleta en pies.∗/
float diameter;/∗ = Diámetro de la rueda de la bicicleta en pulgadas.∗/
float current revs per-Mile;/∗ = Número de revoluciones de la rueda en una milla.∗/
40
/∗ El conjunto siguiente de variables se emplea para salvar información relativa a la carrera real en una
matriz temporal en el caso de que el usuario decidiera conservarla permanentemente al final de la carrera.
La posición 0 en la Matriz de Correlación (véase a continuación) apunta siempre al área de la matriz de
referencia temporal para uso para la carrera actual.
45
Se utilizan “mapping[0]· (correlación[0]) se utiliza para fijar “current index” (ı́ndice actual) para apuntar a esa área para utilización. Durante el curso de la carrera, la pantalla se actualiza a intervalos (por
ejemplo una vez por segundo) y, a un intervalo mayor (el “save interval” (conservar intervalo)) la distancia
(en revoluciones de la rueda) se pone en la posición siguiente en la matriz actual. Para reducir al mı́nimo
la cantidad de RAM necesaria en el dispositivo de la invención, las anotaciones en las matrices tipo o de
referencia indican exclusivamente la distancia (revoluciones) recorrida en el intervalo de tiempo actual.
Por lo tanto, es necesario acumular todas estas distancias para determinar la distancia total recorrida.∗/
50
int current index;/∗ = Indice de la matriz tipo para conservar esta carrera.∗/
55
int display interval;/∗ = Segundos entre actualización de pantalla.∗/
int save interval;/∗ = Segundos entre conservación de datos en memoria.∗/
60
int last save time;/∗ = Tiempo de la última entrada de memoria correspondiente a esta carrera.∗/
int next save time;/∗ = Tiempo programado para la conservación siguiente.∗/
13
ES 2 111 248 T3
int old revolutions;/∗ = Total revoluciones en el último intervalo conservado,∗/
5
/∗ Las variables siguientes tienen datos básicos relativos al archivo tipo o de referencia que se ha elegido
para comparación durante esta carrera. Una vez elegido un archivo, estos valores son estáticos para el
resto de la carrera.∗/
int selected pace;/∗ = Número lógico de archivo tipo para comparación.∗/
in pace num;/∗ = Indice de matriz fı́sica de archivo tipo.∗/
10
int limit index;/∗ = Número de intervalos en ese archivo tipo,∗/
float pace revs per mile;/∗ = Revoluciones de la rueda por milla correspondientes al tamaño de rueda
tipo.∗/
15
20
/∗ El conjunto siguiente de variables que comienza con “dist ” se emplean para llevar el control de la
posición en la matriz tipo que corresponde a la Distancia que se ha recorrido en la carrera actual. Esto
nos permite hallar la cantidad de tiempo que ha sido necesaria para recorrer esa misma distancia en la
carrera tipo o de referencia y la velocidad a la que fue la bicicleta en la carrera tipo hasta llegar a ese
punto.∗/
int dist next;/∗ = Intervalo siguiente en la matriz tipo basado en la distancia.∗/
int dist cum1;/∗ = Total de revoluciones de la rueda al comienzo del intervalo.∗/
25
int dist cum2;/∗ = Total de revoluciones de la rueda al final de intervalo tipo.∗/
float dist miles1;/∗ = Total de millas al comienzo del intervalo tipo.∗/
30
float dist miles2;/∗ = Total de millas al final del intervalo tipo.∗/
35
/∗ El conjunto siguiente de variables que comienzan con “time ” (tiempo) se emplean para llevar el control de la posición en la matriz tipo que corresponde al Tiempo que ha transcurrido durante la etapa de
la carrera en curso. Esto nos permite hallar la distancia que se cubrió en la carrera tipo en la misma
cantidad de tiempo.∗/
int time next;/∗ = Intervalo siguiente en la matriz tipo basado en el tiempo,∗/
int time cum1;/∗ = Total de revoluciones en la rueda al comienzo del intervalo.∗/
40
int time cum2;/∗ = Total de revoluciones de la rueda al final del intervalo tipo.∗/
float time miles1;/∗ = Total de millas al comienzo del intervalo tipo.∗/
45
float time miles2;/∗ = Total de millas al final del intervalo tipo.∗/
float time:dist;/∗ = Millas de referencia interpoladas en el mismo tiempo.∗/
50
/∗ Las variables, indicadas a continuación, que comienzan con “pace ” (tipo o referencia) son valores
interpolados que se derivan de la matriz tipo basados en la distancia actual recorrida. Tienen en consideración que la posición actual suele estar a mitad de camino entre los puntos de datos memorizados en
la matriz tipo, por lo que se realiza una interpolación lineal.∗/
float pace speed;/∗ = Velocidad durante este intervalo de matriz tipo.∗/
55
float pace time;/∗ = Tiempo para alcanzar la distancia actual en la carrera tipo.∗/
float pace avg;/∗ = Velocidad media hasta alcanzar la distancia actual en la carrera tipo.∗/
60
14
ES 2 111 248 T3
5
/∗ Variables utilizadas en la comparación continua entre el rendimiento en la carrera actual y en el archivo
tipo elegido para comparación. Los señalizadores binarios indican si se deben continuar las comparaciones
y los resultados de las comparaciones se presentan con sı́mbolos de un carácter +, -, e =. En general, el
signo + significa siempre que este aspecto de la carrera actual es Más rápido que la referencia, mientras
que el signo - significa que la carrera actual es “más lenta” y el signo = significa que son aproximadamente
iguales.∗/
int keep going;/∗1 ⇒ La carrera actual está en curso.∗/
10
int compare-dist;/∗1 ⇒ Continuar comparando tomando como base la distancia.∗/
int compare time;/∗1 ⇒ Continuar comparando tomando como base el tiempo.∗/
char current compare;/∗ = Velocidad actual frente a velocidad tipo (+.-,=)∗/
15
char total compare;/∗ = Velocidad media frente a velocidad media tipo (+,-,=)∗/
20
/∗ Las matrices siguientes contienen los datos correspondientes a los archivos tipo. Esta versión permite hasta 10, incluyendo el número 0 que se utiliza para la carrera actual. La Matriz de Correlación
correlaciona números lógicos de archivo tipo con áreas fı́sicas de matriz. “Mapping[0]” (Correlación[0])
apunta siempre al área de matriz temporalizada para registrar la carrera actual. Cuando el usuario decide
registrara la carrera real, todo lo que tiene que hacer el programa es intercambiar punteros en la matriz
de correlación, en lugar de trasladar realmente todos los datos.∗/
25
int mapping[10];/∗ = Correlacionar las 10 áreas de la matriz.∗/
int pace valid[10];/∗ = Número de intervalos en esta carrera.∗/
char pace date time[10][32];/∗ = Fecha y hora en la que comenzó la carrera.∗/
30
in pace interval[10];/∗ = Intervalo de tiempo entre anotaciones en la matriz tipo.∗/
float pace wheel size[10];/∗ = Diámetro de la rueda en pulgadas para este archivo.∗/
35
int pace final time[10];/∗ = Intervalo parcial al final de la carrera.∗/
int pace final dist[10]/∗ = Distancia recorrida en intervavalo parcial final.∗/
in pace tot[10];/∗ = Longitud total de la carrera en rotaciones de la rueda.∗(
40
int dist [10] [AREA SIZE];/∗ = Rotaciones de la rueda en cada intervalo de tiempo.∗/
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -∗/
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - Iniciar la Carrera - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
45
/∗ Esta rutina inicializa todas la variables necesarias al comienzo de una nueva carrera después de haber
elegido el usuario el archivo tipo (si lo hubiera) que va a utilizar.∗/
50
void star ride( )
{
current index = mapping[0]
55
strcpy(pace date time[current index], current date time);
60
15
ES 2 111 248 T3
5
10
pace valid[current index]
pace tot[current index]
pace interval[current index)
pace wheel size[current index]
pace final time[current index]
pace final dist[current index]
last save time
next save time
current revolutions
old revolutions
=
=
=
=
=
=
=
=
=
=
0;
0;
save interval;
diameter;
0;
0;
0;
save interval;
0;
0;
current revs per mile = 5280.0/(diameter∗ 3.1415927/12,00);
15
20
current dist
current time
pace time
current avg
current speed
compare dist
compare time
=
=
=
=
=
=
=
0.00;
0;
0.00;
0.00;
init speed;
0;
0;
if (selected pace > 0)
25
{
pace revs per mile
limit index
dist next
dist cum1
dist cum2
dist miles1
dist miles2
pace speed
=
=
=
=
=
=
=
=
5280.0/(pace-whell size[pace num] ∗ 3.1415927/12.00);
pace valid[pace num];
0;
0;
dist [pace num] [0];
0.00;
(1.00 ∗ dist cum2)/pace revs per mile;
= 3600.0 ∗ dist miles2/pace interval[pace num];
40
time next
time cum1
time cum2
time miles1
time miles2
compare dist
compare time
=
=
=
=
=
=
=
0;
0;
dist [pace num] [0];
0.00;
(1.00 ∗ time cum2)/ pace revs per mile;
1;
1;
45
};
30
35
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -∗/
/∗ - - - - - - - - - - - - - - - - - - - update screen (actualizar pantalla) - - - - - - - - - - - - - - - - - - - ∗/
50
55
/∗ Se llama a esta función para presentar información en pantalla de la carrera actual con información
comparable procedente del archivo tipo elegido. Existen definidos tres formados de pantalla y la función
“input argument screen type” (tipo de pantalla de argumento de entrada) elige el formato que se tiene
que presentar. Los datos presentados por cada tipo son como siguen:
1. Velocidad actual, tiempo actual transcurrido, velocidad y tiempo actuales tipo.
2. Velocidad y distancia actuales, velocidad y distancia actuales tipo.
60
3. Velocidad media y tiempo de carrera de esta etapa, y velocidad media y tiempo de carrera de
referencia hasta el mismo punto de la ruta.
La función “display” (representar en pantalla) se utiliza para poner carácteres especı́ficos en cualquier
posición válida de la pantalla. La función “display” es muy flexible y utiliza su primer parámetro para
16
ES 2 111 248 T3
definir el tipo de dato que se debe representar.
El segundo parámetro es el valor, que se convertirá al formato apropiado basado en el tipo especificado
por el primer parámetro.
5
El tercer parámetro especifica la fila en la pantalla y el cuarto parámetro especifica la posición dentro
de la fila. El último parámetro especifica el número de posiciones de carácteres que se tienen que representar en la pantalla.∗/
10
void update screen(screen type)
int screen type;
{
15
/∗
/∗
/∗
/∗
Podemos visualizar siempre el número de archivo tipo∗/
elegido, puesto que aparece en todos los formatos de∗/
pantalla. Todas las representaciones en pantalla pre-∗/
sentan también la fecha/hora actuales.∗/
20
display (CHAR, current date time, ROW1, LEFT, 18);
display (INT, selected pace, ROW4, CENTER, 1);
25
if (screen type == 1)
{
display(CHAR, “Speed
ET”, ROW2, LEFT, 18);
30
display(FLOAT, current speed, ROW3, LEFT, 4);
display(CHAR, current compare, ROW3, LEFTCOMP, 1);
35
display(TIME, current time, ROW3, RIGHT, 7);
display(CHAR, total compare, ROW3, RIGHTCOMP, 1);
if (compare-dist)
40
{
display(FLOAT, pace speed, ROW4, LEFT, 4);
display(TIME, pace time, ROW4, RIGHT, 7);
45
}
else
50
{
display(BLANK, NULL, ROW4, LEFT, 4);
display(BLANK, NULL, ROW4, RIGHT, 7);
55
};
};
60
si (screen type == 2)
17
ES 2 111 248 T3
{
display(CHAR, “Speed
Dist”, ROW2, LEFT, 18);
display(FLOAT, current speed, ROW3; LEFT, 4);
5
display(CHAR, current compare, ROW3, LEFTCOMP, 1);
display(FLOAT, current dist, ROW3, RIGHT, 4);
10
display(CHAR, total compare, ROW3, RIGHTCOMP, 1);
si (compare dist)
display(FLOAT, pace speed; ROW4, LEFT, 4);
15
else
display(BLANK, NULL, ROW4, RIGHT, 4);
20
};
si (screen type == 3)
{
25
display(CHAR, “Avg Sp
RT ”, ROW2, LEFT, 18);
display(FLOAT, current avg, ROW3, LEFT, 4);
30
display(CHAR, current compare, ROW3, LEFTCOMP, 1);
display(TIME, current time, ROW3, RIGHT, 7);
display(CHAR, total compare, ROW3, RIGHTCOMP, 1);
35
si (compare dist)
{
40
display(FLOAT, pace avg, ROW4, LEFT, 4);
display(TIME, pace time, ROW4, RIGHT, 7);
}
45
else
{
50
display(BLANK, NULL, ROW4, LEFT, 4);
display(BLANK, NULL, ROW4, RIGHT, 7)¨;
};
55
};
};
60
18
ES 2 111 248 T3
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -∗/
/∗ - - - - - - - - - - - - - - - - - show pace files (presentar archivos tipo) - - - - - - - - - - - - - - - - - ∗/
5
10
15
20
/∗ Si el usuario ha pulsado teclas de control para que se presenten en pantalla datos de resumen relativos a ficheros tipo, se llama a esta rutina. La variable “selected pace” (tipo elegido) indica el número
lógico del archivo tipo y “pace num” (número de tipo) indica el ı́ndice correspondiente en las matrices de
datos. Estas variables se hacen avanzar llamando a la rutina “advance index” (avanzar ı́ndice) siempre
que el usuario pulsa la tecla de control apropiada mientras está en pantalla esta información de datos de
resumen.
La función “display” (representar en pantalla) se emplea para poner carácteres especı́ficos en cualquier
posición válida de la pantalla. La función “display” es muy flexible y utiliza su primer parámetro para
definir el tipo de datos que se tienen que presentar en pantalla.
El segundo parámetro es el valor, que se convertirá al formato apropiado basado en el tipo especificado por el primer parámetro. El tercer parámetro especifica la fila en la pantalla y el cuarto parámetro
especifica la posición en la fila. El último parámetro especifica el número de posiciones de caracteres que
deben aparecer en pantalla.∗/
void show pace files( )
{
25
int k, seconds, revs;
float miles, avgspeed;
30
/∗ La fecha y la hora actuales y el número de archivo tipo elegido son siempre válidos, por lo que definitivamente podremos hacer que se presenten en pantalla aún cuando no existieran otros datos.∗/
display(CHAR, current date time, ROW1, LEFT, 18);
35
display(CHAR, “ Historical Data”, ROW2, LEFT, 18);
display(INT, selected pace, ROW4, CENTER, 1);
40
/∗ Si el archivo tipo elegido tiene datos válidos, se calcula que se presenta en pantalla la información de
resumen. De lo contrario, el resto de la pantalla se deja en blanco.∗/
si (pace valid[pace num])
{
45
k
seconds
50
= pace valid[pace num];
=
k ∗ pace interval[pace num] +
pace final time[pace num];
revs = (revs ∗ pace wheel size[pace num] ∗ 3.1415927/12.00( / 5280.00;
avgspeed = miles ∗ 3600.00 / seconds;
display(FLOAT, avgspeed, ROW3, LEFT, 4);
55
display(CHAR, pace date time[pace num]; ROW3, RIGHT, 8);
display(FLOAT, miles, ROW4, LEFT, 4);
60
display(TIME, seconds, ROW4, RIGHT, 7);
}
19
ES 2 111 248 T3
else
{
display(BLANK, NULL, ROW3, LEFT, 4);
5
display(BLANK, NULL. ROW3, RIGHT, 8);
display(BLANK, NULL, ROW4, LEFT, 4);
10
display(BLANK, NULL. ROW4, RIGHT, 7);
};
15
};
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
/∗ - - - - - - - - - - - - - - - - - - - - - advance index (avanzar ı́ndice) - - - - - - - - - - - - - - - - - - - - ∗/
20
25
/∗ Se llama a esta rutina si la pantalla actual está presentando datos de resumen relativos a archivos
tipo y el usuario pulsa la tecla de control para avanzar y examinar el archivo tipo siguiente siguiendo un
orden rotatorio o de “mesa redonda”.∗/
void advance index( )
{
if (selected pace < 9) selected pace++;
30
else selected pace = 1;
pace num
35
= mapping[selected pace];
};
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - evaluate (evaluar) - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
40
45
50
55
∗/ Esta rutina contiene la mayor parte de la lógica que es exclusiva de la invención. Se la llama por
medio del programa principal que ya suponemos presente en cualquier ordenador de bicicleta existente.
El programa principal llama a pantalla cada vez que se tiene que actualizar el contenido en pantalla. El
programa principal lleva el control de datos básicos relativos de la carrera actual, como son el tiempo
transcurrido y la distancia recorrida.
Este programa tiene dos funciones: 1. Periódicamente crea otra anotación en el archivo tipo temporal
actual para llevar control de la evolución de la carrera actual en el caso de que el usuario decidiera después
guardarla permanentemente. 2. Explora el archivo tipo elegido (si lo hubiera) para hallar los lugares
que corresponden a la misma distancia y tiempo en la carrera tipo y utiliza esos datos para calcular
valores comparables que se pueden visualizar junto con la información usual relativa a la carrera actual,
de manera que el usuario pueda ver fácilmente como se está comportando comparando con la carrera
tipo elegida.∗/
void evaluate( )
{
int i, j, k, delta;
60
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 4.1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
/∗ - - - - - - - - - - - - - - - - - - - - - - - Actualizar Matriz Tipo Actual - - - - - - - - - - - - - - - - - - - - - ∗/
20
ES 2 111 248 T3
/∗ En primer lugar, si es el momento de crear una nueva anotación en la matriz tipo temporal correspondiente a la carrera actual, hacerlo.∗/
= pace valid[current index]:
i
5
if ((current time>= next time) && (i <AREA SIZE))
{
delta = current revolutions
dist[current index][i]
pace valid[current index][i]
pace tot[current index]
last save time
next save time
10
15
- old revolutions;
= delta;
= i + 1;
= current revolutions;
= current time;
= next save time
∗
save interval;
20
old:revolutions = current revolutions;
};
25
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 4.2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
/∗ - - - - - - - - - - - - - - - - - - - - - Comparar Basado en la Distancia - - - - - - - - - - - - - - - - - - - - ∗/
30
35
/∗ Avanzar por la matriz de distancia tipo hasta el punto que sea necesario para hallar las dos anotaciones que presentan entre corchetes la DISTANCIA actual. Como la matriz tipo solamente contiene
diferencias, las debemos acumular para obtener los totales correspondientes. NOTA: Si “selected pace =
0” (tipo elegido = 0), no debemos intentar hacer comparación alguna toda vez que no se habı́a elegido
archivo tipo o no era utilizable.∗/
current compare = ’ ’;
total compare = ’ ’;
si (selected pace == 0) return;
40
while ((current dist >= dist miles2) && keep going && compare dist)
{
45
dist miles1 = dist miles2;
dist cum1
= dist:cum2;
dist next++;
50
si (dist next >= limit index) compare dist = 0;
else
55
{
dist cum2
dist-miles2
pace speed
60
= dist cum2 + dist[pace num][dist next];
= (1.00 ∗ dist cum2) / pace revs per mile;
= (dist miles2 - dist miles1) ∗
3600. 0/
pace interval[pace num];
21
ES 2 111 248 T3
};
};
5
si (compare dist)
{
x =(current dist - dist miles1) / (dist miles2 - dist miles1);
10
y = x ∗ pace interval[pace num];
pace time= (1.00 ∗ dist next ∗ pace interval[pace num])+ y;
pace:avg =current dist ∗ 3600.00 / pace time;
15
if (current speed> (pace speed + 0.05)) current compare
= ’+’;
else
20
if (current speed < (pace speed - 0.05)) current compare ‘-’;
else current compare = ‘=’;
if (current time> (pace time + 0.5)) total compare = ‘-’;
25
else
if (current time<(pace time - 0.5)) total compare = ‘-’:
30
else total compare = ’=’;
};
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 4.2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
35
/∗ - - - - - - - - - - - - - - - - - - - - - - Comparar Basado en el Tiempo - - - - - - - - - - - - - - - - - - - - - ∗/
40
45
/∗ Avanzar por la matriz de distancia tipo hasta el punto necesario para hallar las anotaciones que
presentan entre corchetes el Tiempo transcurrido actual. Acumular la distancia correspondiente a cada
anotación. Este par de anotaciones de matriz tipo se utiliza para comparar la distancia actual con la
distancia tipo o de referencia, calculando hasta que punto se habı́a llegado en la carrera tipo en la misma
cantidad de tiempo.∗/
n = current time / pace interval[pace num];
while ((time next < n) && (time:next < limit index) && compare time)
{
50
time next++;
si (time next >= limit index) compare time = 0;
55
else
{
60
time
time
time
time
cum1
cum2
miles1
miles2
=
=
=
=
time cum2;
time cum2 ∗ dist[pace num][time next];
time miles2;
/1.00 ∗ time cum2) / pace revs per mile;
22
ES 2 111 248 T3
};
};
5
si (compare time)
{
x
= current time % pace interval[pace num];
x
= x / pace interval[pace num];
y
= (time cum2 - time cum1) ∗ x ) pace revs per mile; time dist = time miles1 + y;
10
15
20
/∗ Si todavı́a estamos comparando tomando como base el tiempo pero No tomando como base la distancia, significa que hemos llegado Más lejos que en la carrera tipo en Menos tiempo, por lo que nuestra
velocidad general es Mejor que en la carrera tipo, por lo que se presenta el signo “+”.
Si todavı́a estamos comparando tomando como base la distancia, entonces la lógica anterior ya habrá
determinado si vamos por delante o por detrás.∗/
su (!compare dist) total compare = ‘+’;
};
25
};
/∗ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Elemento 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ∗/
30
/∗ - - - - - - - - - - - - - - - - - - - - - - - save ride (conservar carrera) - - - - - - - - - - - - - - - - - - - - - ∗/
35
/∗ Se llama a esta rutina si el usuario pulsa las teclas de control para salvar (conservar) los datos de
la carrera que acaba de finalizar en lugar de otros datos contenidos en la matriz tipo. Como la matriz
de correlación correlaciona las áreas de datos tipo, es muy fácil y rápido hacer esta sustitución. No hay
necesidad de mover todos los datos reales en la matriz; todo lo que se tiene que hacer es intercambiar
valores de punteros en la matriz de correlación. Antes de hacerlo, esta rutina hace una comprobación
para garantizar que la carrera actual no tuvo una duración de cero, con el fin de evitar que se destruyan
datos conservados válidos con una carrera nula, lo cual no tiene lugar.∗/
40
void save ride( )
{
if (pace valid[current index])
45
{
mapping[0]
mapping[selected pace]
pace num
current index
50
=
=
=
=
mapping[selected pace];
current index;
current index;
mapping[0]
};
55
};
60
23
ES 2 111 248 T3
REIVINDICACIONES
5
1. Sistema de representación visual (14), controlado por el usuario, para una bicicleta, que se emplea
para verificar y comparar señales eléctricas representativas del rendimiento actual de un ciclista a lo largo
de una ruta, contra un rendimiento previo conservado, que comprende:
un dispositivo de detección de las revoluciones de una rueda (11, 12) asociado con una rueda (10) de
la bicicleta, proporcionando el dispositivo de detección de revoluciones de la rueda una serie de señales
con arreglo al número de revoluciones de la rueda representativas de la distancia recorrida por la rueda;
10
15
20
25
30
un dispositivo de cronometración que proporciona una pluralidad de señales de cronometración representativas del tiempo transcurrido (22) a partir del comienzo del ejercicio de entrenamiento o carrera;
medios de entrada/salida (24, 60) para recibir datos de introducción y selección por parte del usuario,
y generar una señal de entrada correspondiente representativa de los mismos, y/o generar una señal de
presentación en pantalla en respuesta a una señal de salida, de presentación en pantalla, recibida, para
presentar en pantalla datos al usuario; caracterizado porque:
un dispositivo procesador (61) recibe, como entrada, las referidas señales de distancia recorrida, tiempo
transcurrido y generadas por el usuario, para almacenar, de una forma recuperable, cada una de las señales
de distancia recorrida y tiempo transcurrido en una porción elegida por el usuario de un dispositivo de
memoria (66), como una serie de señales de datos detallados de rendimiento representativas de por lo
menos el tiempo transcurrido y la distancia, con relación a una pluralidad de puntos a lo largo de la ruta
presente recorrida por el usuario;
funcionando el dispositivo procesador con arreglo a un conjunto predeterminado de instrucciones
controladas por el usuario para almacenar el conjunto de datos de rendimiento correspondientes al rendimiento actual del ciclista en el dispositivo de memoria, y comparar el conjunto de señales de dato de
rendimiento contra un conjunto de datos de rendimiento, almacenados, elegidos por el usuario, que representan un rendimiento anterior conservado, y generar una señal de salida de presentación en pantalla,
representativa de una métrica de comparación entre los referidos datos, a los medios de entrada/salida.
2. Sistema de representación visual según la reivindicación 1, caracterizado porque comprende
además:
35
un dispositivo sensor asociado con la bicicleta para proporcionar una serie de señales con arreglo a la
altitud a la que se haya la bicicleta y representativas de la altitud;
medios para proporcionar las señales de altitud al dispositivo procesador (61).
40
45
50
3. Sistema de representación visual según la reivindicación 1, caracterizado porque el dispositivo
procesador (61) incluye además:
medios para comparar los datos de rendimiento actuales con datos previamente conservados, para
determinar si el rendimiento actual es mayor o menor que el de los datos conservados y para generar una
señal de salida de presentación en pantalla, representativa del resultado de tal comparación, a los medios
de entrada/salida (24, 60) para visualización por parte del usuario.
4. Sistema de representación visual según la reivindicación 1, caracterizado porque los medios de
entrada/salida (24, 60) incluyen además:
medios para producir un tono audible que funciona de conformidad con la señal de salida de presentación en pantalla generada por el dispositivo procesador (61).
55
5. Sistema de representación visual según la reivindicación 1, caracterizado porque los medios de
entrada/salida 24, 60) incluyen además:
60
24
ES 2 111 248 T3
medios (65) para conectar el dispositivo procesador (61) y el dispositivo de memoria (66) a un sistema
de ordenador externo, de manera que el sistema de ordenador externo pueda leer y escribir datos en las
áreas de memoria utilizadas por el dispositivo procesador.
5
10
15
20
25
30
35
40
45
50
55
60
NOTA INFORMATIVA: Conforme a la reserva del art. 167.2 del Convenio de Patentes Europeas (CPE)
y a la Disposición Transitoria del RD 2424/1986, de 10 de octubre, relativo a la
aplicación del Convenio de Patente Europea, las patentes europeas que designen a
España y solicitadas antes del 7-10-1992, no producirán ningún efecto en España en
la medida en que confieran protección a productos quı́micos y farmacéuticos como
tales.
Esta información no prejuzga que la patente esté o no incluı́da en la mencionada
reserva.
25
ES 2 111 248 T3
26
ES 2 111 248 T3
27
ES 2 111 248 T3
28
ES 2 111 248 T3
29
ES 2 111 248 T3
30
Descargar