VIRTUAL INERTIA ENHANCEMENTS IN BICYCLE TRAINER RESISTANCE UNIT

20200238129 ยท 2020-07-30

    Inventors

    Cpc classification

    International classification

    Abstract

    A method and apparatus for detecting and varying indoor bicycle trainer pedaling resistance in varying manner to replicate the effects of increased system inertia. The method uses a high-resolution position detection method to correlate crank acceleration and deceleration to resistance level. The effects of inertia are replicated by limiting acceleration of the crank by application of increased resistance unit resistance and deceleration via reduction of the resistance applied to pedaling. Thus, the decreased magnitude of acceleration events imitates the effects an increased system mass (inertia) perceived by the rider, enhancing road feel, which is synonymous with the feeling of accelerating one's own inertia while cycling outdoors. This is accomplished through sensors used to detect or determine crank position with a high resolution, a method of providing and varying resistance, such as an eddy current resistance device using either electromagnets or permanent magnets and a microcontroller to calculate the required magnetic field strength and adjust the field strength or magnet position in the resistance unit to facilitate the change required as determined by the outlined algorithm.

    Claims

    1. An angular velocity measurement system, comprising: a spoke sensing device configured to be positioned adjacent to a rotatable wheel having a plurality of spokes; a processor; and a memory communicably coupled with the processor and storing machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to: process a signal outputted by the spoke sensing device to determine, for a full rotation of the wheel, a spoke time at which each of the plurality of spokes is detected; subtract from each spoke time a previous spoke time to generate a plurality of time intervals, each of the plurality of time intervals indicating a time that has elapsed between detection of each pair of neighboring spokes of the plurality of spokes; measure a rotation time for the wheel to complete the full rotation; and calculate, based on the time intervals and the measured rotation time, a plurality of angular widths that identify a pattern of the plurality of spokes.

    2. The angular velocity measurement system of claim 1, wherein the machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to measure the rotation time for the wheel include machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to measure the rotation time as the time between subsequent detections of a reference spoke of the plurality of spokes.

    3. The angular velocity measurement system of claim 1, wherein the machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to calculate the plurality of angular widths include machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to divide each of the plurality of time intervals by the measured rotation time such that each of the plurality of angular widths represents a fraction of a single rotation subtended by a corresponding pair of neighboring spokes.

    4. The angular velocity measurement system of claim 1, wherein: the memory is configured to store a plurality of running averages corresponding to the plurality of angular widths; and the memory stores additional machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to update, for each rotation of the wheel, the running averages with the plurality of angular widths calculated for said each rotation of the wheel.

    5. The angular velocity measurement system of claim 4, wherein the machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to update the running averages include machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to replace each of the running averages with a weighted sum of (i) said each of the running averages, and (ii) the corresponding one of the angular widths calculated for said each rotation of the wheel.

    6. The angular velocity measurement system of claim 4, wherein the memory stores additional machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to: divide each of the running averages into a corresponding one of the time intervals to obtain an angular velocity for said one of the time intervals; and output the angular velocity.

    7. The angular velocity measurement system of claim 1, wherein: the memory stores additional machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to: fit the plurality of time intervals to a model to determine an acceleration of the wheel during the full rotation; and correct the plurality of time intervals, based on the model, to remove the effects of the acceleration; and the machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to calculate the plurality of angular widths includes machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to calculate the plurality of angular widths based on the corrected time intervals.

    8. The angular velocity measurement system of claim 1, the spoke sensing device comprising: a light source configured to emit a light beam; and a photodetector configured to detect the light beam; wherein each of the plurality of spokes is detected when said each of the plurality of spokes blocks the light beam from the photodetector.

    9. The angular velocity measurement system of claim 8, wherein the light source and the photodetector are configured for mounting to a bicycle frame such that the light beam passes through a rotational plane of the wheel and into the photodetector.

    10. The angular velocity measurement system of claim 8, wherein the light source and the photodetector are configured for mounting to a stationary bicycle trainer such that the light beam passes through a rotational plane of the wheel and into the photodetector.

    11. A method for measuring the angular velocity of a wheel, comprising: processing a signal outputted by a spoke sensing device to determine, for a full rotation of the wheel, a spoke time at which each of a plurality of spokes of the wheel is detected; subtracting from each spoke time a previous spoke time to generate a plurality of time intervals, each of the plurality of time intervals indicating a time that has elapsed between detection of each pair of neighboring spokes of the plurality of spokes; measuring a rotation time for the wheel to complete the full rotation; and calculating, based on the time intervals and the measured rotation time, a plurality of angular widths that identify a pattern of the plurality of spokes.

    12. The method of claim 11, wherein said measuring includes measuring the rotation time as the time between subsequent detections of a reference spoke of the plurality of spokes.

    13. The method of claim 11, wherein said calculating the plurality of angular widths includes dividing each of the plurality of time intervals by the measured rotation time such that each of the plurality of angular widths represents a fraction of a single rotation subtended by a corresponding pair of neighboring spokes.

    14. The method of claim 11, further comprising: storing, in a memory, a plurality of running averages corresponding to the plurality of angular widths; and updating, for each rotation of the wheel, the running averages with the plurality of angular widths calculated for said each rotation of the wheel.

    15. The method of claim 14, wherein said updating includes replacing each of the running averages with a weighted sum of (i) said each of the running averages, and (ii) the corresponding one of the angular widths calculated for said each rotation of the wheel.

    16. The method of claim 14, further comprising: dividing each of the plurality of running averages into a corresponding one of the time intervals to obtain an angular velocity for said one of the time intervals; and outputting the angular velocity.

    17. The method of claim 11, further comprising: fitting the plurality of time intervals to a model to determine an acceleration of the wheel during the full rotation; and correcting the plurality of time intervals, based on the model, to remove the effects of the acceleration; wherein said calculating the plurality of angular widths is based on the corrected time intervals.

    18. The method of claim 11, wherein: the spoke sensing device includes a light source configured to emit a light beam and a photodetector configured to detect the light beam; and the method further comprises positioning the light source and the photodetector on opposite sides of the wheel such that the light beam passes through a rotational plane of the wheel and into the photodetector.

    19. The method of claim 18, wherein: the wheel is connected to a bicycle frame; and said positioning includes mounting the light source and the photodetector to the bicycle frame.

    20. The method of claim 18, wherein: the wheel is connected to a bicycle mounted to a stationary bicycle trainer; and said positioning includes mounting the light source and the photodetector to the stationary bicycle trainer.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0014] FIG. 1 is a block diagram of a spoke detection algorithm for an indexed wheel. In this image, the block diagram schematically represents the process used to determine the spacing or spokes, as detected by the spoke sensor.

    [0015] FIG. 2 is a block diagram of a spoke detection algorithm, without using an indexed rotation. The block diagram represents how the wheel is measured without an index or reference at the start of each rotation.

    [0016] FIG. 3 is an exemplary view of typical wheel speed variation experienced by a cyclist during several crank revolutions. Different lines are drawn for a high-inertia system with small-speed variation amplitude, and a low-inertia system with high-speed variation amplitude.

    [0017] FIG. 4 is an exemplary view of a spoke measurement system, using an interrupted beam to detect the passing of each spoke.

    [0018] FIG. 5 is an exemplary view of the movement of a permanent magnet-based resistance unit, with a relative field strength B, dynamically manipulated at the surface of the spinning conductor used to generate resistance.

    [0019] FIG. 6 is a schematic representation of a magnet (electromagnet or permanent) in proximity to a rotating conductive flywheel. The magnetic field B may be manipulated by variation of electrical current provided to the electromagnet, or by location of a permanent magnet to dynamically adjust the resistance level.

    [0020] FIG. 7 is a side view of the wheel of FIG. 4 illustrating the method of FIG. 1 in more detail, in embodiments.

    [0021] FIG. 8 is a plot of a spoke-sensor signal S, as a function of time, outputted by the spoke sensing device of FIG. 7 as the wheel rotates, in an embodiment.

    [0022] FIG. 9 is a flow chart of a method for measuring the angular velocity of a wheel, in embodiments.

    DETAILED DESCRIPTION OF THE EMBODIMENTS

    [0023] FIG. 1 is a flow chart of a method 50 for detecting and compensating for acceleration and deceleration events in the context of a variable resistance mechanism. In a block 1 of the method 50, a wheel index reference position is measured by a secondary means, such as a spoke magnet or other means to identify the first spoke considered for a rotation. In a block 2 of the method 50, a spoke sensing device 100 counts the spokes until the next index is detected, characterizing a total number of spokes 101 in the wheel 102 (see FIG. 3). In a block 3 of the method 50, the wheel speed is approximated by dividing the circumference of the wheel by the number of spokes and the time interval measured between spokes. Initially, acceleration cannot be compensated until the spoke spacing is determined with a higher level of certainty, so in a block 6 of the method 50, an averaging algorithm is used to take successive measurements and empirically determine the spoke spacing while removing sensor noise and uncertainty. In a block 7 of the method 50, an average acceleration for the wheel over a full rotation is determined while the spoke pattern is reconstructed with increasing certainty. This pattern is continuous and may run for the entirety of operation, or may be terminated after uncertainty criteria are met.

    [0024] As the wheel continues to rotate, the method 50 may calculate smaller accelerations, as determined by a change in timing between successive spokes 101 (as remeasured during a block 4 of the method 50). This acts as a high-resolution encoder, offering a convenient way of encoding exact crank movements. This methodology may be extended to detect any pattern of spokes, or events on any type of flywheel, whether it is a bicycle wheel or a flywheel-based resistance unit, driven by a bike chain.

    [0025] FIG. 2 shows a flow chart of a method 60 that is similar to the method 50 of FIG. 1, except that it may begin at an arbitrary spoke 101. In a block 9 of the method 50, the counting of spokes 101 and measurement of time continue simultaneously until a number of counted spokes equals a total number of spokes inputted (e.g., by a user), The result of block 9 is a preliminary timing map. In a block 10 of the method 50 during the following rotation, the speed is approximated using the spacings measured, and in a block 12 of the method 50, accelerations and decelerations are calculated. In a block 13 of the method 50, the spoke measurements are averaged to remove noise and uncertainty from the timing map. In a block 14, average velocity and acceleration over the course of a single full rotation are used to aid in this process. As with the method 50 of FIG. 1, the method 60 may continue throughout operation.

    [0026] FIG. 3 is a plot of wheel-speed variation throughout several pedal strokes. A y axis 15 shows wheel speed and an x axis 16 refers to pedal rotations. For each pedal rotation, the downward portion of the stroke typically corresponds to the highest strength of most cyclists, meaning the wheel may typically accelerate and reach a peak velocity 17. While the crank continues to rotate and one foot passes through the bottom of the pedal stroke, the foot decelerates 23, reaching a minimum velocity 18. As the crank continues to rotate, the alternate leg subsequently enters the downward movement phase, and the wheel reaccelerates 19. The lines in this chart correspond to crank rotational velocity with a low inertia condition 20 (i.e., the solid line) with large changes in velocity, and a high inertia condition 21 (i.e., the dashed line) with small changes in velocity. With infinite inertia, the curve becomes a flat line 22, as an infinitely large mass may not accelerate or decelerate regardless of the external forces applied. The intent of this invention is to replicate high inertia 21 or infinite inertia 22 with a system possessing the mass and configuration of a low inertia 20 system.

    [0027] Further referring to FIG. 4, the spoke detection methodology is demonstrated. A bicycle is mounted in an indoor trainer frame 110 at the rear axle 111. A spoke sensing device 100 is mounted to a fixed reference point or support frame 107, and detects a photo-interrupter beam 103 emitted by a light source 104. A measurement unit 130 records the time when the photo-interrupter beam 103 is blocked by each spoke 101. As the cyclist rotates the crank, the drive chain 105 transmits the force to a chain cog or cassette 106 (also referred to herein as drive cog 106), and the wheel 102 accelerates and decelerates as varying torque levels are applied to the bicycle pedals. It is understood that the wheel 102 is representative of the resistance generating device, and may equally refer to a chain driven resistance unit, by attaching the drive chain 105 to a separate chain driven device with drive cog 106. The wheel 102 is also representative of any flywheel or encoder device which may be used to provide inertia or may be used to generate resistance.

    [0028] In other embodiments, a hall effect sensor detects spoke location instead of a photo-interrupter. A further embodiment not shown may use a reflective sensor to detect spoke location instead of a photo-interrupter. Another further embodiment not shown may use a plurality of spoke magnets 112 attached to spokes to identify one or more of the spoke locations each rotation. Another further embodiment not shown may use a reflective sensor to determine the reflection of an optical beam projected onto the spokes, and detected by a receiver mounted axially away from the spokes, relative to the rear axle of the bicycle.

    [0029] FIGS. 5 and 6 show a permanent-magnet-based resistance unit 113 acting on an aluminum rim surface 114 to provide a retardation force. When combined with the calculated acceleration or deceleration of the wheel, the strength B of the magnetic field 115 acting on the aluminum may be manipulated by adjusting a magnet spacing 121. At a large spacing 121, little retardation force is provided, while at a small spacing, significant retardation force is provided. Dynamic manipulation of the spacing may be controlled to coincide with acceleration phases 19 or deceleration phases 23 of the crank rotation. The magnitude of acceleration or deceleration may be calculated with a microcontroller (e.g., see processor 162 in FIG. 7), and the desired spacing is applied.

    [0030] Referring further to FIGS. 5 and 6, an alternate embodiment not shown replaces the permanent magnet based resistance unit 113 with an electromagnet based resistance unit, in which the field strength B may be manipulated by either adjusting the position or electrical current provided to the electromagnet.

    [0031] Referring further to FIGS. 5 and 6, an alternate embodiment not shown uses a combination of the permanent-magnet-based resistance unit 113 supplemented with an electromagnet for control of the field strength B.

    [0032] Referring to FIG. 6, a detailed schematic view of the eddy current braking method is shown. The magnetic field 115 acts on the rotating disc 116, analogous to a bicycle wheel 102 or other electrically conductive flywheel, providing a retardation force. The retardation force acts in the direction opposite the rotation direction 117, thus slowing the rotational speed of the flywheel 116 (or wheel 102). The magnetic field strength B of the magnetic field 115 is dynamically manipulated based on the control system requirements by either moving the magnets 120 closer to the disc, in an axial direction 118, moving the magnets in a radial direction to reduce the effective torque acting on the disc 116, or intensifying the magnetic field B, by manipulating the current supplied to an electromagnet. It is understood that the axial movement 118 and radial movement 119 apply equally to both permanent magnet and electromagnetic devices, while manipulation of supply current applies only to electromagnetic devices.

    [0033] FIG. 7 is a side view of the wheel 102 of FIG. 4 illustrating the method 50 in more detail. FIG. 8 is a plot of a spoke-sensor signal S, as a function of time, outputted by the spoke sensing device 100 as the wheel 102 rotates. FIGS. 7 and 8 are best viewed together with the following description:

    [0034] In FIG. 7, the wheel 102 rotates at an angular velocity co in a rotational plane that lies parallel to the x-z plane (see right-handed coordinate system 140). In general, the angular velocity co can change in time as the wheel 102 is angularly accelerated and/or decelerated. The rotational axis of the wheel 102 is parallel to the y direction. FIG. 7 also shows a circular path 706 that indicates which part of the spokes 101 interrupt the photo-interrupter beam 103 (see FIG. 4) to generate the spoke-sensor signal S. The spokes 101 need not have uniform spacing. While FIG. 7 shows the wheel 102 with n=32 spokes, the wheel 102 can have any number of spokes 101 laced in any pattern without departing from the scope hereof.

    [0035] The measurement unit 130 includes a processor 162 that communicates with a memory 160. Although not shown in FIG. 7, the memory 160 stores machine-readable instructions that, when executed by the processor 162, implement the functionality described herein. Specifically, the measurement unit 130 communicates with the spoke sensing device 100 to receive the spoke-sensor signal S. The measurement unit 130 then processes the spoke-sensor signal S to determine an initial spoke time t.sub.0 at which a reference spoke 101(0) breaks the photo-interrupter beam 103. The measurement unit 130 determines the initial spoke time t.sub.0 by observing a dip in the spoke-sensor signal S, as shown in FIG. 8. The spoke-sensor signal S dips again at a first spoke time t.sub.1 at which a first spoke 101(1) breaks the photo-interrupter beam 103. This process continues, and eventually the spoke-sensor signal S dips at a spoke time t.sub.n-1 at which a last spoke 101(n-1) breaks the photo-interrupter beam 103. When the reference spoke 101(0) again breaks the photo-interrupter beam 103 during the next rotation, the measurement unit 130 identifies that a full rotation of the wheel 102 has completed. Using an internal timer, the measurement unit 130 also measures a rotation time of T for the full rotation, based on the subsequent detections of the reference spoke 101(0).

    [0036] Based on the measured spoke times, the measurement unit 130 calculates time intervals between neighboring spokes 101. Specifically, the measurement unit 130 calculates t.sub.i,i-1=t.sub.i-t.sub.i-1 for i=1 to n (where t.sub.n is the same as t.sub.0 for the subsequent rotation). The measurement unit 130 may then divide each of these n intervals t.sub.i,i-1 by the rotation time T to obtain n corresponding angular widths .sub.i,i-1. Each angular width .sub.i,i-1 represents a fraction of a full rotation, and thus corresponds to an effective angle subtended by the spokes 101(i) and 101(i-1). The sum of the angular widths for a single rotation equals one, i.e., .sub.i=1.sup.n.sub.i,i-1=1. The collection of angular widths .sub.i,i-1 is the timing map referred to previously.

    [0037] The process shown in FIGS. 7 and 8 may be completed for several subsequent rotations of the wheel 102 to improve accuracy of the timing map. For a first rotation of the wheel 102, the measurement unit 130 may simply count the number n of spokes 101 based on the dips in the spoke-sensor signal S. The measurement unit 130 may then allocate n slots in the memory 160, one for each of the angular widths .sub.i,i-1. During a second rotation of the wheel 102, the measurement unit 130 may initialize the n slots with the angular widths .sub.i,i-1.sup.(1) determined from the spoke times t.sub.0.sup.(1), t.sub.1.sup.(1), . . . , t.sub.n-1.sup.(1), t.sub.0.sup.(2) measured during the first rotation. During a third rotation of the wheel 102, the measurement unit 130 may update the n slots with a set of new angular widths .sub.i,i-1.sup.(2) determined from the spoke times t.sub.0.sup.(2), t.sub.1.sup.(2), . . . , t.sub.n-1.sup.(2), t.sub.0.sup.(3) measured during the second rotation. Each new angular width .sub.i,i-1.sup.(2) may be averaged with the existing value stored in the corresponding memory slot to create a running average .sub.i,i-1. This averaging may be weighted such that each new angular width .sub.i,i-1 contributes less to the running average as the number of rotations increases.

    [0038] To account for angular acceleration of the wheel 102 during a single rotation, the n time intervals t.sub.i,i-1 can be fitted to a linear model (e.g., via linear regression). Even when the spokes 101 are not uniformly spaced, the time intervals t.sub.i,i-1 will still, on average, trend to a zero-slope line when the wheel 102 rotates at a constant angular velocity . If the wheel 102 accelerates, the time intervals t.sub.i,i-1 will become progressively shorter during the rotation, giving rise to a fitted slope that is non-zero. Based on the fitted slope, the time intervals t.sub.i,i-1 can be corrected to remove the angular acceleration, thereby removing the effects of the acceleration. These corrected time intervals may then be combined with the running average, as described above. The time intervals t.sub.i,i-1 may be alternatively fitted to another type of model (e.g., non-linear) without departing from the scope hereof.

    [0039] After several rotations of the wheel 102, the running averages .sub.i,i-1 stored in the memory 160 may be used to determine the angular velocity w. Specifically, for a subsequently measured time interval t.sub.i,i-1, the corresponding angular velocity is =.sub.i,i-1/t.sub.i,i-1. The angular velocity may be multiplied by a radius r of the wheel 102 to obtain a corresponding linear velocity v=r. As shown in FIG. 7, the measurement unit 130 may then output the angular velocity . In one embodiment, the angular velocity is outputted to a bicycle computer, speedometer, or personal electronics device (e.g., smartphone) that displays the angular velocity and/or linear velocity v.

    [0040] Advantageously, the angular velocity can be determined for every pair of neighboring spokes 101, and thus can be updated several times during a single rotation of the wheel 102 (e.g., thirty-two times in the case of the wheel 102 shown in FIG. 7). Thus, the present embodiments can determine the angular velocity significantly faster than the once-per-rotation update rates used for prior-art bicycle computers and speedometers. Similarly, the rapid determination and updating of the angular velocity co allows an angular acceleration of the wheel 102 to also be quickly determined. Accordingly, the present embodiments can be used to measure variations in the angular acceleration a that occur on time scales less than the time T of a single rotation. This includes measurements of sinusoidal variations of that are transmitted to the wheel 102 (e.g., via a chain and cassette) during pedaling.

    [0041] In some embodiments, the light source 104 and spoke sensing device 100 are mounted directly to a bicycle. For example, the light source 104 and spoke sensing device 100 may be mounted to chain stays that straddle a rear wheel of the bicycle, seat stays that straddle the rear wheel, or fork blades that straddle a front wheel of the bicycle. In any case, the light source 104 and spoke sensing device 100 are arranged such that the light source 104 emits the photo-interrupter beam 103 through the rotational plane of the wheel 102 and into the spoke sensing device 100. In these embodiments, the angular velocity co can be determined without requiring the bicycle to be operated in a stationary trainer (e.g., as shown in FIG. 4). Accordingly, the embodiment can be used similarly to prior-art bicycle computers and speedometers, but with the advantage of a faster update rate.

    [0042] While the above description presents the spoke sensing device 100 as a photodetector that detects the photo-interrupter beam 103 emitted by the light source 104, the spoke sensing device 100 may be another type of sensor for detecting proximity of a spoke 101 without departing from the scope hereof. For example, each spoke 101 may have a magnet attached thereto, wherein the spoke sensing device 100 can be a magnetic-field sensor (e.g., a Hall effect sensor). Alternatively, when the spokes 101 are optically reflective (e.g., when made of metal), the photo-interrupter beam 103 can reflect off the spokes 101 into the photodetector. If the spokes 101 are not reflective (e.g., when coated of black anodized aluminum), optical reflectors can be mounted thereto. In these cases, the light source 104 can be placed on the same side of the wheel 102 (i.e., on the same side of the rotational plane) as the photodetector. Furthermore, the dips in the spoke-sensor signal S of FIG. 8 that indicate the presence of spokes will alternatively appear as spikes instead.

    [0043] FIG. 9 is a flow chart of a method 900 for measuring the angular velocity of a wheel. The method 900 may be implemented, for example, with the wheel 102 and measurement unit 130 shown in FIG. 7. In a block 902 of the method 900, a signal outputted by a spoke sensing device is processed to determine, for a full rotation of the wheel, a spoke time at which each of a plurality of spokes of the wheel is detected. In one example of the block 902, the spoke sensing device 100 includes a photodetector that detects the photo-interrupter beam 103 and outputs the spoke-sensing signal S to the measurement unit 130. The measurement unit 130 then processes the spoke-sensing signal S to determine the spokes time t.sub.i.

    [0044] In a block 904 of the method 900, a previous spoke time is subtracted from each spoke time to generate a plurality of time intervals. Each time interval indicates a time that has elapsed between detection of each pair of neighboring spokes of the plurality of spokes. In one example of the block 904, the measurement unit 130 calculates each time interval t.sub.i,i-1=t.sub.i-t.sub.i-1 from the spoke times t.sub.i and t.sub.i-1.

    [0045] In a block 906 of the method 900, a rotation time for the wheel is measured. In one example of the block 906, the measurement unit 130 measures the rotation time T as the time required for the wheel 102 to complete a single full rotation, based on subsequent detections of the reference spoke 101(0).

    [0046] In a block 908 of the method 900, a plurality of angular widths is calculated, based on the time intervals generated in the block 904, and based on the rotation time measured in the block 906. These angular widths identify a pattern of the plurality of spokes. In one example of the block 908, the measurement unit 130 divides each time interval t.sub.i,i-1 by the rotation time T to obtain a corresponding angular width .sub.i,i-1.

    [0047] The method 900 may include a block 910 in which a plurality of running averages are updated based on the angular widths calculated in the block 908. The running averages may be stored in a memory. In one example of the block 910, the measurement unit 130 stores running averages .sub.i,i-1 in the memory 160, as shown in FIG. 7. The measurement unit 130 then updates the running averages .sub.i,i-1 based on the most recent set of angular widths .sub.i,i-1 (i.e., those calculated during the most recent rotation of the wheel 102).

    [0048] The method 900 may also include a block 912 in which each of the running averages is divided into the corresponding time interval to obtain an angular velocity for the time interval. The angular velocity may then be outputted. In one example of the block 912, the measurement unit 130 divides each measured time interval t.sub.i,i-1 by the corresponding running average .sub.i,i-1 to obtain a value for the angular velocity co. The measurement unit 130 may then output the angular velocity .

    [0049] Combination of Features

    [0050] Features described above as well as those claimed below may be combined in various ways without departing from the scope hereof. The following examples illustrate possible, non-limiting combinations of features and embodiments described above. It should be clear that other changes and modifications may be made to the present embodiments without departing from the spirit and scope of this invention:

    [0051] (A1) An angular velocity measurement system may include a spoke sensing device configured to be positioned adjacent to a rotatable wheel having a plurality of spokes, a processor, and a memory communicably coupled with the processor. The memory stores machine-readable instructions that, when executed by the processor, may control the angular velocity measurement system to (i) process a signal outputted by the spoke sensing device to determine, for a full rotation of the wheel, a spoke time at which each of the plurality of spokes is detected; (ii) subtract from each spoke time a previous spoke time to generate a plurality of time intervals, each of the plurality of time intervals indicating a time that has elapsed between detection of each pair of neighboring spokes of the plurality of spokes; (iii) measure a rotation time for the wheel to complete the full rotation; and (iv) calculate, based on the time intervals and the measured rotation time, a plurality of angular widths that identify a pattern of the plurality of spokes.

    [0052] (A2) In the system denoted as (A1), the machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to measure the rotation time for the wheel may include machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to measure the rotation time as the time between subsequent detections of a reference spoke of the plurality of spokes.

    [0053] (A3) In either one of the systems denoted (A1) and (A2), the machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to calculate the plurality of angular widths may include machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to divide each of the plurality of time intervals by the measured rotation time such that each of the plurality of angular widths represents a fraction of a single rotation subtended by a corresponding pair of neighboring spokes.

    [0054] (A4) In any one of the systems denoted (A1) through (A3), the memory may be configured to store a plurality of running averages corresponding to the plurality of angular widths. The memory may also store additional machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to update, for each rotation of the wheel, the running averages with the plurality of angular widths calculated for said each rotation of the wheel.

    [0055] (A5) In the system denoted (A4), the machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to update the running averages may include machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to replace each of the running averages with a weighted sum of (i) said each of the running averages, and (ii) the corresponding one of the angular widths calculated for said each rotation of the wheel.

    [0056] (A6) In either one of the systems denoted (A4) and (A5), the memory may store additional machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to (i) divide each of the running averages into a corresponding one of the time intervals to obtain an angular velocity for said one of the time intervals; and (ii) output the angular velocity.

    [0057] (A7) In any one of the systems denoted (A1) through (A6), the memory may store additional machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to (i) fit the plurality of time intervals to a model to determine an acceleration of the wheel during the full rotation; and (ii) correct the plurality of time intervals, based on the model, to remove the effects of the acceleration. The machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to calculate the plurality of angular widths may include machine-readable instructions that, when executed by the processor, control the angular velocity measurement system to calculate the plurality of angular widths based on the corrected time intervals.

    [0058] (A8) In any one of the systems denoted (A1) through (A7), the spoke sensing device may include a light source configured to emit a light beam, and a photodetector configured to detect the light beam. Each of the plurality of spokes may then be detected when said each of the plurality of spokes blocks the light beam from the photodetector.

    [0059] (A9) In the system denoted (A8), the light source and the photodetector may be configured for mounting to a bicycle frame such that the light beam passes through a rotational plane of the wheel and into the photodetector.

    [0060] (A10) In the system denoted (A8), the light source and the photodetector may be configured for mounting to a stationary bicycle trainer such that the light beam passes through a rotational plane of the wheel and into the photodetector.

    [0061] (B1) A method for measuring angular velocity of a wheel may include processing a signal outputted by a spoke sensing device to determine, for a full rotation of the wheel, a spoke time at which each of a plurality of spokes of the wheel is detected. The method may also include subtracting from each spoke time a previous spoke time to generate a plurality of time intervals, each of the plurality of time intervals indicating a time that has elapsed between detection of each pair of neighboring spokes of the plurality of spokes. The method may also include measuring a rotation time for the wheel to complete the full rotation. The method may also include calculating, based on the time intervals and the measured rotation time, a plurality of angular widths that identify a pattern of the plurality of spokes.

    [0062] (B2) In the method denoted (B1), said measuring may include measuring the rotation time as the time between subsequent detections of a reference spoke of the plurality of spokes.

    [0063] (B3) In either one of the methods denoted (B1) and (B2), said calculating the plurality of angular widths may include dividing each of the plurality of time intervals by the measured rotation time such that each of the plurality of angular widths represents a fraction of a single rotation subtended by a corresponding pair of neighboring spokes.

    [0064] (B4) In any one of the methods denoted (B1) through (B3), the method may further include storing, in a memory, a plurality of running averages corresponding to the plurality of angular widths. The memory may also include updating, for each rotation of the wheel, the running averages with the plurality of angular widths calculated for said each rotation of the wheel.

    [0065] (B5) In the method denoted (B4), said updating may include replacing each of the running averages with a weighted sum of (i) said each of the running averages, and (ii) the corresponding one of the angular widths calculated for said each rotation of the wheel.

    [0066] (B6) In either one of the methods denoted (B4) and (B5), the method may further include dividing each of the running averages into a corresponding one of the time intervals to obtain an angular velocity for said one of the time intervals, and outputting the angular velocity.

    [0067] (B7) In any one of the methods denoted (B1) through (B6), the method may further include fitting the plurality of time intervals to a model to determine an acceleration of the wheel during the full rotation, and correcting the plurality of time intervals, based on the model, to remove the effects of the acceleration. Said calculating the plurality of angular widths is based on the corrected time intervals.

    [0068] (B8) In any one of the methods denoted (B1) through (B7), the spoke sensing device may include a light source configured to emit a light beam and a photodetector configured to detect the light beam. The method may further include positioning the light source and the photodetector on opposite sides of the wheel such that the light beam passes through a rotational plane of the wheel and into the photodetector.

    [0069] (B9) In the method denoted (B8), the wheel may be connected to a bicycle frame. Said positioning may include mounting the light source and the photodetector to the bicycle frame.

    [0070] (B10) In the method denoted (B8), the wheel may be connected to a bicycle mounted to a stationary bicycle trainer. Said positioning may include mounting the light source and the photodetector to the stationary bicycle trainer.

    [0071] While various exemplary embodiments of the eddy current braking mechanism and control logic are shown in the drawings with reference to a bicycle, it should be understood that certain adaptations and modifications of the described exemplary embodiments may be made as construed within the scope of the present disclosure. Although the term bicycle is used, the invention relates equally to use in human-powered vehicles or cycles having one or more wheels. Therefore, the embodiments described above are considered to be illustrative and not restrictive.