WO2024105452A1 - A method for switching between accelerometer and gyroscope to sense cadence on a bicycle - Google Patents

A method for switching between accelerometer and gyroscope to sense cadence on a bicycle Download PDF

Info

Publication number
WO2024105452A1
WO2024105452A1 PCT/IB2023/000785 IB2023000785W WO2024105452A1 WO 2024105452 A1 WO2024105452 A1 WO 2024105452A1 IB 2023000785 W IB2023000785 W IB 2023000785W WO 2024105452 A1 WO2024105452 A1 WO 2024105452A1
Authority
WO
WIPO (PCT)
Prior art keywords
cadence
determining
gyroscope
accelerometer
condition
Prior art date
Application number
PCT/IB2023/000785
Other languages
French (fr)
Inventor
Arthur William HARE
Michael Donald MERCER
Jorgen Vilhelm KRAUSE
Original Assignee
4Iiii Innovations Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 4Iiii Innovations Inc. filed Critical 4Iiii Innovations Inc.
Publication of WO2024105452A1 publication Critical patent/WO2024105452A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L3/00Measuring torque, work, mechanical power, or mechanical efficiency, in general
    • G01L3/24Devices for determining the value of power, e.g. by measuring and simultaneously multiplying the values of torque and revolutions per unit of time, by multiplying the values of tractive or propulsive force and velocity
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P7/00Measuring speed by integrating acceleration

Definitions

  • Processing sensor data from a gyroscope to determine cadence of pedaling a bicycle is more reliable that processing sensor data from an accelerometer.
  • the gyroscope uses more power than the accelerometer, and thus use of the gyroscope reduces the operating time from a battery.
  • One aspect of the present embodiments includes the realization that there is a tradeoff between battery life and data quality when measuring cadence on a bicycle or any human-powered, pedal-driven vehicle.
  • long battery life is achieved by sensing cadence using a low power accelerometer.
  • the accelerometer is not robust under certain conditions, such as certain level of bumps from a road/path surface, other unpredictable forces applied to the bike, and high cadence rates, that cause confusion in the collected accelerometer data.
  • a gyroscope sensor since it directly measures rotation, provides more reliable cadence data than the accelerometer but requires significantly more power (e.g., twice as much) to operate as compared to the accelerometer.
  • a cadence measuring device that uses the accelerometer for detecting cadence has a long battery life but less reliable data
  • a cadence measuring device that uses the gyroscope has more reliable data but reduced battery life.
  • the present embodiments solve this problem by automatically switching between using the accelerometer and using the gyroscope for detecting cadence when the cadence determined from the accelerometer is of poor quality.
  • the accelerometer is used when conditions are suitable for the accelerometer, and the gyroscope is activated only when conditions are not suitable for the accelerometer.
  • the gyroscope is not used continuously, and therefore the drain on the battery is less than for devices that continuously use the gyroscope to detect cadence.
  • the techniques described herein relate to a method for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter, including: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope based on the first condition; and determining the cadence using rotational data from the gyroscope.
  • the techniques described herein relate to a power-meter for use with a pedal-driven vehicle, including: an accelerometer; a gyroscope; a processor; and memory storing machine readable instructions that when executed by the processor cause the power-meter to: determine a cadence of pedaling using acceleration data from the accelerometer; determine a first condition indicative that quality of the cadence is below a desired level; activate the gyroscope; and determine the cadence using rotational data from the gyroscope.
  • the techniques described herein relate to a software product for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter including instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a controller, cause the controller to: when the gyroscope is inactive: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope in response to the first condition; when the gyroscope is active: determining the cadence using rotational data from the gyroscope; determining a second condition indicative that quality of the cadence is above the desired level; and deactivating the gyroscope.
  • FIG. 1 is a schematic diagram showing one example power-meter coupled to a crank arm, in embodiments.
  • FIG. 2 is a block diagram showing the power-meter of FIG. 1 in further example detail, in embodiments.
  • FIG. 3A is a graph illustrating example switching between the accelerometer and the gyroscope of FIG. 2 by a mode-switch algorithm during a ninety-second period of a ride on the bicycle, in embodiments.
  • FIG. 3B is a graph illustrating the different quality in signals from accelerometer and gyroscope, in embodiments.
  • FIG. 4 is a data flow diagram illustrating example operation of the mode-switch algorithm, FIG. 2, for automatically switching between use of accelerometer and use of gyroscope to determine cadence, in embodiments.
  • FIG. 5 is a graph illustrating one example comparison between a switched cadence signal of the power-meter of FIG. 1 as generated by the mode-switch algorithm and the cadence algorithm of FIG. 2, and a prior-art cadence signal derived from only accelerometerbased sensor data, in embodiments.
  • prior art bicycle meters may include both accelerometers and gyroscopes, these prior art bicycle meters do not autonomously switch between using an accelerometer and a gyroscope to save battery power while maintaining quality of detected cadence.
  • FIG. 1 is a schematic diagram showing one example power-meter 101 coupled to a crank arm 100 driving, from a pedal (not shown) that attaches at an aperture 108 at a distal end of crank arm 100, a circular chain ring 106 around a crank bearing 110, and thereby drive at least one wheel of a pedal driven vehicle (e.g., a bicycle).
  • a housing 102 of power-meter 101 adhesively attaches to crank arm 100.
  • power-meter 101 is built into crank arm 100.
  • Housing 102 may include a battery door 104 to allow changing of a battery of power-meter 101.
  • At least one function of power-meter 101 is to measure cadence applied to crank arm 100 by a cyclist using the bicycle.
  • a second power- meter may attach to a second crank arm coupled to crank bearing 110 and positioned at the opposite side of the pedal driven vehicle.
  • FIG. 2 is a block diagram showing power-meter 101 of FIG. 1 in further example detail.
  • Power-meter 101 includes a battery 202 (optionally rechargeable), a controller 204 (e.g., a microprocessor or microcontroller having at least one processor 250 and memory 252 storing marching-readable instructions - software, firmware, etc. - that implement functionality of power-meter 101 as described herein), at least one accelerometer 206 (using X and Y axes), a gyroscope 208, and a wireless interface 210.
  • accelerometer 206 and gyroscope 208 are implemented within a single package, such as LSM6DS0 Inertial Measurement Unit (IMU) manufactured by STMicroelectronics.
  • Power-meter 101 may include other sensors and components without departing from the scope hereof.
  • powermeter 101 may include one or more strain gauges for sensing force applied to crank arm 100.
  • Controller 204 may include at least one analog to digital converter for digitizing analog signals that may be stored and/or processed using a cadence algorithm 207 that determines cadence 209 based on inputs from either accelerometer 206 or gyroscope 208.
  • Controller 204 may control wireless interface 210 to communicate with one or more of a smartphone 220, a bike computer 230, and another computer 240.
  • Cadence is an important metric for cyclists, and may be used in other metrics, such as when determining power or work performed by the cyclist. Accordingly, an accurate determination of cadence should be determined.
  • Controller 204 includes a mode-switch algorithm 205 that characterizes data from accelerometers 206 and detects situations when accelerometer 206 performs poorly (e.g., bumpy roads, high cadences) and automatically switches between using data from accelerometer 206 and using data from gyroscope 208.
  • controller 204 processes sensor data (e.g., acceleration data) from accelerometer 206 to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer 206.
  • controller 204 activates (e.g., applies power to) gyroscope 208 only in situations where accelerometer 206 performs poorly. Controller 204 may also modify a sample rate of accelerometer 206 in these situations. Since these situations (when accelerometer 206 performs poorly) occur only a certain percentage of the operation time of power-meter 101 during general riding of the bicycle, battery- life targets may still be met while the chance of exposing the user to poor quality cadence and power data is reduced, and the cyclist is not required to adjust setting of power-meter 101 while riding.
  • controller 204 uses mode-switch algorithm 205 to activate gyroscope 208 only when needed to maintain quality of cadence 209, thereby avoiding excessive use of battery power by using gyroscope 208 when not needed.
  • Mode-switch algorithm 205 uses a vibrational metric to determine when to switch between use of accelerometer 206 and gyroscope 208.
  • vibration vibrationalMetric + SIMPLE WE IGHT * sqrt ( ( accelX - lastAccelX) / '2 + (accelY - lastAccelY) A 2 ) if (gyro is on)
  • vibrationalMetric vibrationalMetric;
  • the vibrational metric is calculated and compared to a threshold value (e.g., a high-vibration threshold above which cadence calculation from accelerometer data is known to be of poor quality) to determine when to activate gyroscope 208 to improve quality of cadence 209, and to deactivate gyroscope 208 when no longer needed.
  • the vibrational metric is determined by processing the sensor data from accelerometer 206 and determining an amount of vibration (e.g., road noise) being sensed by accelerometer 206. For example, the vibrational metric would be low where the bicycle is travelling over a smooth road surface, whereas the vibrational metric would be high when the bicycle is travelling over a rough surface.
  • mode-switch algorithm 205 further illustrates other conditions that may cause mode-switch algorithm 205 to switch between using accelerometer 206 and gyroscope 208 to determine cadence 209.
  • mode-switch algorithm 205 deactivates gyroscope 208 when any of the following occurs: (a) the rider has stopped pedaling; (b) the calculated vibration metric is below the high-vibration threshold; (c) the panic flag is cancelled; and (d) a timer associated with the panic flag has expired.
  • mode-switch algorithm 205 activates gyroscope 208 when any one (or more) of the following occurs: (a) when a panic flag is set; (b) the calculated vibration metric is above the high- vibration threshold; and (c) when the cadence is above the high-cadence threshold.
  • Other parts of the software within controller 204 may set a panic flag when an anomaly is detected.
  • cadence algorithm 207 may set the panic flag when an error is detected during calculation of cadence 209. Where the cyclist is pedaling with a cadence above the high-cadence threshold (e.g., one- hundred and ten revolutions per minute), it has been learned that sensor data from accelerometer 206 results in calculation of cadence with poor quality.
  • mode-switch algorithm 205 activates gyroscope 208 when any of the above conditions occur, and deactivates gyroscope 208 when none of the conditions remain or persist. That is, only when none of the conditions causing activation of gyroscope 208 remain, does mode-switch algorithm 205 deactivate gyroscope 208. For example, where cadence increases above the high-cadence threshold and gyroscope 208 is activated, when cadence drops below the high-cadence threshold, gyroscope 208 is deactivated only when other conditions (e.g., vibration metric above the high-vibration threshold or the panic flag is set) are also not occurring. However, when cadence is zero (e.g., the rider has stopped pedaling), mode-switch algorithm 205 deactivates gyroscope 208 even if other conditions remain.
  • cadence is zero (e.g., the rider has stopped pedaling)
  • FIG. 3A is a graph 300 illustrating example switching between accelerometer 206 and gyroscope 208 of FIG. 2 by mode-switch algorithm 205 during an approximately one -minute period of a ride on the bicycle.
  • Graph 300 shows a true cadence signal 302 (e.g., a reference signal derived by post processing of gyroscope data to determine true cadence as accurately as possible), one example cadence signal 304 (e.g., cadence 209) determined by cadence algorithm 207, and a switch line 306 output from mode-switch algorithm 205 that indicates when cadence algorithm 207 switches between using data sensed by accelerometer 206 and data sensed by gyroscope 208.
  • a true cadence signal 302 e.g., a reference signal derived by post processing of gyroscope data to determine true cadence as accurately as possible
  • cadence signal 304 e.g., cadence 209
  • switch line 306 output
  • cadence algorithm 207 determines cadence signal 304 from data sensed by accelerometer 206. Although cadence signal 304 is not perfect during first period 310 (e.g., it wavers around true cadence signal 302), cadence signal 304 stays within an acceptable tolerance threshold (e.g., one revolution per minute) of true cadence signal 302.
  • mode-switch algorithm 205 transitions switch line 306 to non-zero, indicating that cadence algorithm 207 should determine cadence signal 304 from data sensed by gyroscope 208 because the cyclist has increased cadence above an accelerometer cadence threshold (e.g., one-hundred and ten revolutions per minute, a condition above which sensor data from accelerometer 206 is less reliable) and gyroscope 208 is activated.
  • an accelerometer cadence threshold e.g., one-hundred and ten revolutions per minute, a condition above which sensor data from accelerometer 206 is less reliable
  • gyroscope 208 is activated.
  • a short period e.g., a quarter of a second
  • cadence signal 304 improved to exactly follow true cadence signal 302.
  • cadence 209 is derived from gyroscope 208.
  • mode-switch algorithm 205 transitions switch line 306 to zero, indicating that cadence algorithm 207 should determine cadence signal 304 from data sensed by accelerometer 206 and gyroscope 208 is deactivated.
  • cadence signal 304 wanders from true cadence signal 302.
  • FIG. 3B is a graph 350 illustrating the different quality in signals from accelerometer 206 and gyroscope 208.
  • Graph 350 represent the same period as graph 300 of FIG. 3A and shows true cadence signal 302 and switch line 306 for reference.
  • a line 352 represents an accelerometer-based estimate of cadence 209 (e.g., a frame-by-frame estimate) based on calculating a fraction of a circle that accelerometer 206 has completed in the last update period (e.g., the interval between successive reading of sensor data from the accelerometer, such as l/26th of a second).
  • a line 354 represents an instantaneous reading from sensor data of gyroscope 208.
  • line 352 has an extreme periodic high- low cycle. Though the primary signal retains the 1g of gravity going in a circle, the oscillations are believed due to the crank/bike/rider actually accelerating/decelerating. Line 354 reliably sticks close to true cadence signal 302 throughout the sample period, thereby demonstrating the qualitative superiority of gyroscope 208 over accelerometer 206.
  • Sensor data from accelerometer 206 may be processed in other ways to determine cadence 209.
  • cadence algorithm 207 may measure timespans between peaks, zeroes, and troughs in the sensor data from accelerometer 206 to determine cadence 209.
  • cadence algorithm 207 measures a slope of atan2 (e.g., 2-argument arctangent function) of an x-axis sensor data and a y-axis sensor data from accelerometer 206 over time, where the slope is defined in radians/sec and may be multiplied to give cadence 209 (e.g., revolutions per minute).
  • cadence algorithm 207 uses a frequencydomain transform of the sensor data from accelerometer 206.
  • cadence algorithm 207 implements a trained neural network that determines cadence 209 using the sensor data from accelerometer 206. In another embodiment, cadence algorithm 207 uses curve-fitting of a sine or cosine wave to the sensor data from accelerometer 206 to determine cadence 209.
  • FIG. 4 is a data flow diagram 400 illustrating example operation of mode-switch algorithm 205, FIG. 2, for automatically switching between use of accelerometer 206 and use of gyroscope 208 of FIG. 2 to determine cadence 209.
  • accelerometer 206 is active and sends acceleration data 402 to cadence algorithm 207 continuously during operation of power-meter 101, FIG. 1.
  • Gyroscope 208 is activated only as needed, and, when activated, sends rotational data 404 to cadence algorithm 207.
  • Cadence algorithm 207 includes software that sends acceleration data 402 and rotational data 404, when available, to mode-switch algorithm 205, and applies acceleration data 402 to an accelerometer algorithm 410 and applies rotational data 404 to a gyroscope algorithm 412, which only operates when gyroscope 208 is active.
  • panic modeswitch panic ( ) return this .
  • the above pseudocode detects a zero crossing in the sensor data from accelerometer 206 to determine a period of a previous cycle in the sensor data, and then calculates cadence 209 from the last period.
  • accelerometer algorithm 410 detects an anomaly, such as when the time of the last zero crossing is in the future, a panic is initiated to cause mode-switch algorithm 205 to activate the gyroscope 208 and thereby ensure quality of cadence 209.
  • sensor data e.g., rotational data
  • gyroscope 208 is already in radians per second, and therefore can be used directly to calculate cadence 209.
  • Accelerometer algorithm 410 generates at least one filtered estimate of the cyclist’s current cadence from acceleration data 402. However, when gyroscope 208 is activated, gyroscope algorithm 412 determines a precise cadence value from rotational data 404 and may provide precise cadence value 414 to update or replace the cadence value determined by accelerometer algorithm 410. Accelerometer algorithm 410 also includes software that detects when acceleration data 402 generates poor quality cadence 209. For example, accelerometer algorithm 410 may determine when a generated cadence 209 requires an unrealistic acceleration, includes rapid oscillations, and/or when acceleration data 402 includes excessive noise.
  • accelerometer algorithm 410 determines that cadence 209 is of poor quality
  • accelerometer algorithm 410 sends a “panic” notification 416 to mode-switch algorithm 205, which generates a gyroscope activation signal 420 that activates gyroscope 208.
  • Mode-switch algorithm 205 may also determines when acceleration data 402 is of poor quality to generate gyroscope activation signal 420. Further, mode-switch algorithm 205 also determines when quality of acceleration data 402 improves and deactivates gyroscope activation signal 420, such that gyroscope 208 powers down to save battery power.
  • Cadence 209 and/or precise cadence value 414 are input to a power algorithm 430 that also receives a torque sensor data 432 from a power sensor 434.
  • power sensor 434 includes at least one strain gauge applied to crank arm 100 to measure torque applied to crank arm 100 by the cyclist.
  • Power algorithm 430 calculates the cyclist’s power in watts based on the measured torque indicated by torque sensor data 432 and cadence 209 or precise cadence value 414, when available.
  • the following pseudocode illustrates one example of power algorithm 430: function calculatePower ( )
  • torque applied by the cyclist to the crank is measured (e.g., using strain gauges applied to the crank) and used with cadence 209 to calculate a power value.
  • Other methods of calculating power may be used without departing from the scope hereof.
  • FIG. 5 is a graph 500 illustrating one example comparison between a switched cadence signal 502 of power-meter 101 of FIG. 1 as generated by mode-switch algorithm 205 and cadence algorithm 207 of FIG. 2, and a prior-art cadence signal 504 derived from only accelerometer-based sensor data.
  • Both power-meter 101 and a prior-art cadence meter are simultaneously mounted on a mountain bike, and cadence 209 of power-meter 101, shown as switched cadence signal 502, and the prior art cadence, shown as prior-art cadence signal 504, from the prior-art cadence meter are captured over a period of about one minute duration.
  • the prior-art cadence signal 504 shows extreme cadence oscillations at area 506 (e.g., near the middle of the displayed period), and also consistently shows more noise compared to switched cadence signal 502.
  • a maximum GyroOnTimeFraction may be determined. For example, a measured gyroOffCurrent of 180uA and a measured GyroOnCurrent of 540uA results in a maximum gyroscope on time of 20%. The collected logs indicate, as expected, that the gyro on- time increases as rides get bumpier, as shown in Table 1 Gyro On Time.
  • a method for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter includes: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope based on the first condition; and determining the cadence using rotational data from the gyroscope.
  • the determining the first condition including processing the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer, wherein the first condition occurs when the vibrational metric is above a vibrational threshold.
  • the determining the first condition further including determining a panic flag is set, wherein the panic flag is set by software when an anomaly is detected.
  • the determining the first condition further including determining when the cadence is above a high cadence threshold.
  • the determining that the first condition does not remain including processing the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer, wherein the first condition does not remain when the vibrational metric is below a vibrational threshold.
  • the determining that the first condition does not remain including determining that a panic flag is not set, wherein the panic flag is set by software when an anomaly is detected has expired.
  • the determining that the first condition does not remain including determining when a rider has stopped pedaling.
  • the determining that the first condition does not remain including determining when the cadence is below a high-cadence threshold.
  • the determining the cadence using acceleration data further including calculating, using the acceleration data, a fraction of a circle that the accelerometer has completed in an update period between successive readings of the acceleration data.
  • the determining the cadence using acceleration data further including calculating a timespan between peaks, zeroes, and troughs in the acceleration data.
  • the determining the cadence using acceleration data further including calculating a slope of an output of an atan2 function for x-axis and y-axis components of the acceleration data over time.
  • the determining the cadence using acceleration data further including using a frequency-domain transform of the acceleration data.
  • the determining the cadence using acceleration data further including using a trained neural network to process the acceleration data.
  • the determining the cadence using acceleration data further including curve-fitting a sine or cosine wave to the acceleration data.
  • a power-meter for use with a pedal-driven vehicle including: an accelerometer; a gyroscope; a processor; and memory storing machine readable instructions that when executed by the processor cause the power-meter to: determine a cadence of pedaling using acceleration data from the accelerometer; determine a first condition indicative that quality of the cadence is below a desired level; activate the gyroscope; and determine the cadence using rotational data from the gyroscope.
  • the memory further including machine readable instructions that when executed by the processor cause the power-meter to: determine the first condition does not remain; deactivate the gyroscope; and determine the cadence using the acceleration data from the accelerometer.
  • the memory further including machine readable instructions that when executed by the processor cause the power-meter to: process the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer; and compare the vibrational metric to a high-vibration threshold to determine the first condition.
  • the memory further including machine readable instructions that when executed by the processor cause the power-meter to: determine the first condition exists when a panic flag is set, wherein the panic flag is set by software when an anomaly is detected; and determine the first condition exists when the cadence is above a high-cadence threshold.
  • a software product for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter including instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a controller, cause the controller to: when the gyroscope is inactive: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope in response to the first condition; when the gyroscope is active: determining the cadence using rotational data from the gyroscope; determining the first condition does not remain; and deactivating the gyroscope.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Gyroscopes (AREA)

Abstract

A power meter may determine pedaling cadence using acceleration data from the accelerometer. When the power meter determines a first condition indicative that quality of the cadence is below a desired level, the power meter activates the gyroscope and determines the cadence using rotational data from the gyroscope. When the power meter subsequently determines that the first condition no longer remains, the power meter deactivates the gyroscope and determines the cadence using the acceleration data from the accelerometer.

Description

A METHOD FOR SWITCHING BETWEEN ACCELEROMETER AND GYROSCOPE
TO SENSE CADENCE ON A BICYCLE
RELATED APPLICATION
[0001] This application claim priority to US Patent Application Number 63/426,640, titled “A Method for Switching Between Accelerometer and Gyroscope to Sense Cadence on a Bicycle,” filed November 18, 2022, which is incorporated by reference herein in its entirety.
BACKGROUND
[0002] Processing sensor data from a gyroscope to determine cadence of pedaling a bicycle is more reliable that processing sensor data from an accelerometer. However, the gyroscope uses more power than the accelerometer, and thus use of the gyroscope reduces the operating time from a battery.
SUMMARY
[0003] One aspect of the present embodiments includes the realization that there is a tradeoff between battery life and data quality when measuring cadence on a bicycle or any human-powered, pedal-driven vehicle. On one hand, long battery life is achieved by sensing cadence using a low power accelerometer. However, the accelerometer is not robust under certain conditions, such as certain level of bumps from a road/path surface, other unpredictable forces applied to the bike, and high cadence rates, that cause confusion in the collected accelerometer data. On the other hand, a gyroscope sensor, since it directly measures rotation, provides more reliable cadence data than the accelerometer but requires significantly more power (e.g., twice as much) to operate as compared to the accelerometer. Accordingly, a cadence measuring device that uses the accelerometer for detecting cadence has a long battery life but less reliable data, and a cadence measuring device that uses the gyroscope has more reliable data but reduced battery life. The present embodiments solve this problem by automatically switching between using the accelerometer and using the gyroscope for detecting cadence when the cadence determined from the accelerometer is of poor quality. For example, in a cadence measuring device that includes both an accelerometer and a gyroscope, the accelerometer is used when conditions are suitable for the accelerometer, and the gyroscope is activated only when conditions are not suitable for the accelerometer. Advantageously, the gyroscope is not used continuously, and therefore the drain on the battery is less than for devices that continuously use the gyroscope to detect cadence.
[0004] In certain embodiments, the techniques described herein relate to a method for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter, including: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope based on the first condition; and determining the cadence using rotational data from the gyroscope.
[0005] In certain embodiments, the techniques described herein relate to a power-meter for use with a pedal-driven vehicle, including: an accelerometer; a gyroscope; a processor; and memory storing machine readable instructions that when executed by the processor cause the power-meter to: determine a cadence of pedaling using acceleration data from the accelerometer; determine a first condition indicative that quality of the cadence is below a desired level; activate the gyroscope; and determine the cadence using rotational data from the gyroscope.
[0006] In certain embodiments, the techniques described herein relate to a software product for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter including instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a controller, cause the controller to: when the gyroscope is inactive: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope in response to the first condition; when the gyroscope is active: determining the cadence using rotational data from the gyroscope; determining a second condition indicative that quality of the cadence is above the desired level; and deactivating the gyroscope.
BRIEF DESCRIPTION OF THE FIGURES
[0007] FIG. 1 is a schematic diagram showing one example power-meter coupled to a crank arm, in embodiments.
[0008] FIG. 2 is a block diagram showing the power-meter of FIG. 1 in further example detail, in embodiments. [0009] FIG. 3A is a graph illustrating example switching between the accelerometer and the gyroscope of FIG. 2 by a mode-switch algorithm during a ninety-second period of a ride on the bicycle, in embodiments.
[0010] FIG. 3B is a graph illustrating the different quality in signals from accelerometer and gyroscope, in embodiments.
[0011] FIG. 4 is a data flow diagram illustrating example operation of the mode-switch algorithm, FIG. 2, for automatically switching between use of accelerometer and use of gyroscope to determine cadence, in embodiments.
[0012] FIG. 5 is a graph illustrating one example comparison between a switched cadence signal of the power-meter of FIG. 1 as generated by the mode-switch algorithm and the cadence algorithm of FIG. 2, and a prior-art cadence signal derived from only accelerometerbased sensor data, in embodiments.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0013] US Patent Number 10,060,738 and US patent Number 11,033,217, each incorporated herein by reference in its entirety, disclose power and cadence meters for a bicycle. Cadence, also referred to as pedaling rate, is a measurement of the number of revolutions of a crank per minute. It is a measure of angular speed that is proportional to but not the same as wheel speed.
[0014] Although prior art bicycle meters may include both accelerometers and gyroscopes, these prior art bicycle meters do not autonomously switch between using an accelerometer and a gyroscope to save battery power while maintaining quality of detected cadence.
[0015] FIG. 1 is a schematic diagram showing one example power-meter 101 coupled to a crank arm 100 driving, from a pedal (not shown) that attaches at an aperture 108 at a distal end of crank arm 100, a circular chain ring 106 around a crank bearing 110, and thereby drive at least one wheel of a pedal driven vehicle (e.g., a bicycle). In certain embodiments, a housing 102 of power-meter 101 adhesively attaches to crank arm 100. In other embodiments, power-meter 101 is built into crank arm 100. Housing 102 may include a battery door 104 to allow changing of a battery of power-meter 101. At least one function of power-meter 101 is to measure cadence applied to crank arm 100 by a cyclist using the bicycle. Although not shown, a second power- meter may attach to a second crank arm coupled to crank bearing 110 and positioned at the opposite side of the pedal driven vehicle.
[0016] FIG. 2 is a block diagram showing power-meter 101 of FIG. 1 in further example detail. Power-meter 101 includes a battery 202 (optionally rechargeable), a controller 204 (e.g., a microprocessor or microcontroller having at least one processor 250 and memory 252 storing marching-readable instructions - software, firmware, etc. - that implement functionality of power-meter 101 as described herein), at least one accelerometer 206 (using X and Y axes), a gyroscope 208, and a wireless interface 210. In certain embodiments, accelerometer 206 and gyroscope 208 are implemented within a single package, such as LSM6DS0 Inertial Measurement Unit (IMU) manufactured by STMicroelectronics. Power-meter 101 may include other sensors and components without departing from the scope hereof. For example, powermeter 101 may include one or more strain gauges for sensing force applied to crank arm 100. Controller 204 may include at least one analog to digital converter for digitizing analog signals that may be stored and/or processed using a cadence algorithm 207 that determines cadence 209 based on inputs from either accelerometer 206 or gyroscope 208. Controller 204 may control wireless interface 210 to communicate with one or more of a smartphone 220, a bike computer 230, and another computer 240. Cadence is an important metric for cyclists, and may be used in other metrics, such as when determining power or work performed by the cyclist. Accordingly, an accurate determination of cadence should be determined.
[0017] As discussed above, gyroscope 208 detects cadence with greater accuracy than accelerometer 206, particularly in certain circumstances. However, gyroscope 208 uses more power than accelerometer 206. Controller 204 includes a mode-switch algorithm 205 that characterizes data from accelerometers 206 and detects situations when accelerometer 206 performs poorly (e.g., bumpy roads, high cadences) and automatically switches between using data from accelerometer 206 and using data from gyroscope 208. In certain embodiments, controller 204 processes sensor data (e.g., acceleration data) from accelerometer 206 to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer 206. When the vibrational metric is above a high-vibration threshold, the vibrational metric indicates that quality of cadence 209 calculated using sensor data from accelerometer 206 is poor. Accordingly, controller 204 activates (e.g., applies power to) gyroscope 208 only in situations where accelerometer 206 performs poorly. Controller 204 may also modify a sample rate of accelerometer 206 in these situations. Since these situations (when accelerometer 206 performs poorly) occur only a certain percentage of the operation time of power-meter 101 during general riding of the bicycle, battery- life targets may still be met while the chance of exposing the user to poor quality cadence and power data is reduced, and the cyclist is not required to adjust setting of power-meter 101 while riding. Particularly, the cyclist is unaware of the switch between using accelerometer 206 and gyroscope 208. Advantageously, controller 204 uses mode-switch algorithm 205 to activate gyroscope 208 only when needed to maintain quality of cadence 209, thereby avoiding excessive use of battery power by using gyroscope 208 when not needed.
[0018] Mode-switch algorithm 205 uses a vibrational metric to determine when to switch between use of accelerometer 206 and gyroscope 208. The following pseudocode provides one example algorithm for calculating the vibrational metric: function calculateVibrationalMetric (accelX, accelY, lastAccelX, lastAccelY, cadence , lastCadence , gyroCadence , accelCadence ) let vibrationalMetric = this . lastVibrationalMetric;
/ / we could use a kalman filter to see if accelerometer data is getting too noisy to predict vibrationalMetric += KALMAN WE IGHT * kalmanFilterError (predictedAccelX, predictedAccelY, accelX, accelY)
/ / we could use s imple sample-to-sample noise to measure vibration vibrationalMetric += SIMPLE WE IGHT * sqrt ( ( accelX - lastAccelX) /'2 + (accelY - lastAccelY) A2 ) if (gyro is on)
# we could compare the accelerometer output to the gyro output . More error means a higher vibrational metric vibrationalMetric += ACCEL COMPARE WEIGHT * | gyroCadence - accelCadence |
# we may increase our metric during periods of rapid cadence change vibrationalMetric += CADENCECHANGE WEIGHT * | cadence - lastCadence | # we may apply a 0..1 continuous decay to the vibrational metric so that it requires constant stimulation to stay in gyro mode vibrationalMetric *= VIBRATIONAL_ DECAY this . lastVibrationalMetric = vibrationalMetric;
# now that we've blended together all our sensor inputs, return our vibrationalMetric return vibrationalMetric;
[0019] The following pseudocode illustrates one example of mode-switch algorithm 205: function modeswitch step() vibrationalMetric = calculateVibrationalMetric (... sensor inputs...) if (in gyro mode)
# look for reasons to exit gyro mode and save battery if (panicTimeout > 0) panicTimeout-- if (rider has stopped) enterAccelerometerMode () else if (vibrationalMetric < THRESHOLD BUMPY)
# low-vibration road, go to accelerometer enterAccelerometerMode () else if (was panicking and panicTimeout <= 0)
# we engaged the gyro to escape an algorithm issue, but have had it on long enough and can turn it off enterAccelerometerMode () else if (gyroCadence <= THRESHOLD SLOW)
# rider is going very slowly, we can switch to the accelerometer enterAccelerometerMode () else
# couldn't find a reason to exit gyro mode, so just continue in it else (not in gyro mode )
# we ' re not in gyro mode , so look for reasons to enter gyro mode if (recent algorithm panic)
# something has told us it would be wise to use the gyro enterGyroMode ( ) else if (vibrationalMetric >= THRESHOLD BUMPY)
# the road is bumpy, go to gyro enterGyroMode ( ) else if ( currentCadence >= THRESHOLD FAST )
# the user is spinning really fast, go to gyro enterGyroMode ( ) else
# no reason to enter gyro mode
[0020] As illustrated in the above pseudocode, the vibrational metric is calculated and compared to a threshold value (e.g., a high-vibration threshold above which cadence calculation from accelerometer data is known to be of poor quality) to determine when to activate gyroscope 208 to improve quality of cadence 209, and to deactivate gyroscope 208 when no longer needed. The vibrational metric is determined by processing the sensor data from accelerometer 206 and determining an amount of vibration (e.g., road noise) being sensed by accelerometer 206. For example, the vibrational metric would be low where the bicycle is travelling over a smooth road surface, whereas the vibrational metric would be high when the bicycle is travelling over a rough surface.
[0021] The pseudocode of mode-switch algorithm 205 further illustrates other conditions that may cause mode-switch algorithm 205 to switch between using accelerometer 206 and gyroscope 208 to determine cadence 209. For example, mode-switch algorithm 205 deactivates gyroscope 208 when any of the following occurs: (a) the rider has stopped pedaling; (b) the calculated vibration metric is below the high-vibration threshold; (c) the panic flag is cancelled; and (d) a timer associated with the panic flag has expired. In another example, mode-switch algorithm 205 activates gyroscope 208 when any one (or more) of the following occurs: (a) when a panic flag is set; (b) the calculated vibration metric is above the high- vibration threshold; and (c) when the cadence is above the high-cadence threshold. Other parts of the software within controller 204 may set a panic flag when an anomaly is detected. For example, cadence algorithm 207 may set the panic flag when an error is detected during calculation of cadence 209. Where the cyclist is pedaling with a cadence above the high-cadence threshold (e.g., one- hundred and ten revolutions per minute), it has been learned that sensor data from accelerometer 206 results in calculation of cadence with poor quality. In summary, mode-switch algorithm 205 activates gyroscope 208 when any of the above conditions occur, and deactivates gyroscope 208 when none of the conditions remain or persist. That is, only when none of the conditions causing activation of gyroscope 208 remain, does mode-switch algorithm 205 deactivate gyroscope 208. For example, where cadence increases above the high-cadence threshold and gyroscope 208 is activated, when cadence drops below the high-cadence threshold, gyroscope 208 is deactivated only when other conditions (e.g., vibration metric above the high-vibration threshold or the panic flag is set) are also not occurring. However, when cadence is zero (e.g., the rider has stopped pedaling), mode-switch algorithm 205 deactivates gyroscope 208 even if other conditions remain.
[0022] FIG. 3A is a graph 300 illustrating example switching between accelerometer 206 and gyroscope 208 of FIG. 2 by mode-switch algorithm 205 during an approximately one -minute period of a ride on the bicycle. Graph 300 shows a true cadence signal 302 (e.g., a reference signal derived by post processing of gyroscope data to determine true cadence as accurately as possible), one example cadence signal 304 (e.g., cadence 209) determined by cadence algorithm 207, and a switch line 306 output from mode-switch algorithm 205 that indicates when cadence algorithm 207 switches between using data sensed by accelerometer 206 and data sensed by gyroscope 208.
[0023] During a first period 310, switch line 306 is low and cadence algorithm 207 determines cadence signal 304 from data sensed by accelerometer 206. Although cadence signal 304 is not perfect during first period 310 (e.g., it wavers around true cadence signal 302), cadence signal 304 stays within an acceptable tolerance threshold (e.g., one revolution per minute) of true cadence signal 302. At time 312, mode-switch algorithm 205 transitions switch line 306 to non-zero, indicating that cadence algorithm 207 should determine cadence signal 304 from data sensed by gyroscope 208 because the cyclist has increased cadence above an accelerometer cadence threshold (e.g., one-hundred and ten revolutions per minute, a condition above which sensor data from accelerometer 206 is less reliable) and gyroscope 208 is activated. A short period (e.g., a quarter of a second) later, after cadence algorithm 207 started using data sensed by gyroscope 208, cadence signal 304 improved to exactly follow true cadence signal 302. Accordingly, within a period 314, cadence 209 is derived from gyroscope 208. At time 316, mode-switch algorithm 205 transitions switch line 306 to zero, indicating that cadence algorithm 207 should determine cadence signal 304 from data sensed by accelerometer 206 and gyroscope 208 is deactivated. During a period 318 after time 316, cadence signal 304 wanders from true cadence signal 302.
[0024] FIG. 3B is a graph 350 illustrating the different quality in signals from accelerometer 206 and gyroscope 208. Graph 350 represent the same period as graph 300 of FIG. 3A and shows true cadence signal 302 and switch line 306 for reference. A line 352 represents an accelerometer-based estimate of cadence 209 (e.g., a frame-by-frame estimate) based on calculating a fraction of a circle that accelerometer 206 has completed in the last update period (e.g., the interval between successive reading of sensor data from the accelerometer, such as l/26th of a second). A line 354 represents an instantaneous reading from sensor data of gyroscope 208. As seen, line 352 has an extreme periodic high- low cycle. Though the primary signal retains the 1g of gravity going in a circle, the oscillations are believed due to the crank/bike/rider actually accelerating/decelerating. Line 354 reliably sticks close to true cadence signal 302 throughout the sample period, thereby demonstrating the qualitative superiority of gyroscope 208 over accelerometer 206.
[0025] Sensor data from accelerometer 206 may be processed in other ways to determine cadence 209. In one embodiment, cadence algorithm 207 may measure timespans between peaks, zeroes, and troughs in the sensor data from accelerometer 206 to determine cadence 209. In another embodiment, cadence algorithm 207 measures a slope of atan2 (e.g., 2-argument arctangent function) of an x-axis sensor data and a y-axis sensor data from accelerometer 206 over time, where the slope is defined in radians/sec and may be multiplied to give cadence 209 (e.g., revolutions per minute). In another embodiment, cadence algorithm 207 uses a frequencydomain transform of the sensor data from accelerometer 206. In another embodiment, cadence algorithm 207 implements a trained neural network that determines cadence 209 using the sensor data from accelerometer 206. In another embodiment, cadence algorithm 207 uses curve-fitting of a sine or cosine wave to the sensor data from accelerometer 206 to determine cadence 209.
[0026] FIG. 4 is a data flow diagram 400 illustrating example operation of mode-switch algorithm 205, FIG. 2, for automatically switching between use of accelerometer 206 and use of gyroscope 208 of FIG. 2 to determine cadence 209. During operation of power-meter 101, accelerometer 206 is active and sends acceleration data 402 to cadence algorithm 207 continuously during operation of power-meter 101, FIG. 1. Gyroscope 208 is activated only as needed, and, when activated, sends rotational data 404 to cadence algorithm 207. Cadence algorithm 207 includes software that sends acceleration data 402 and rotational data 404, when available, to mode-switch algorithm 205, and applies acceleration data 402 to an accelerometer algorithm 410 and applies rotational data 404 to a gyroscope algorithm 412, which only operates when gyroscope 208 is active. The following pseudocode illustrates one example of accelerometer algorithm 410: function calculateAccelerometerCadence (thisAccelX, lastAccelX, this Seconds , las tZeroCros s Seconds ) if (thisAccelX * lastAccelX <= 0 )
# zero-cross detected this . lastPeriod = (thisSeconds - lastZeroCrossSeconds )
# calculate RPM this . lastCadence = 60 / this . lastPeriod if (thisSeconds < this . lastZeroCros sSeconds )
# last zero was in the future ? this is weird, panic modeswitch panic ( ) this . lastZeroCross Seconds = thisSeconds if (this . lastCadence >= 300 )
# something has gone wrong with this calculation, panic modeswitch panic ( ) return this . lastCadence
[0027] The above pseudocode detects a zero crossing in the sensor data from accelerometer 206 to determine a period of a previous cycle in the sensor data, and then calculates cadence 209 from the last period. Where accelerometer algorithm 410 detects an anomaly, such as when the time of the last zero crossing is in the future, a panic is initiated to cause mode-switch algorithm 205 to activate the gyroscope 208 and thereby ensure quality of cadence 209.
[0028] The following pseudocode illustrates one example of gyroscope algorithm 412: function calculateGyroCadence ( sensorReadingRadiansPerSecond)
# convert raw sensor reading to RPM return 60 * sensorReadingRadians PerSecond / (2 *PI )
[0029] As shown in the above pseudocode, sensor data (e.g., rotational data) from gyroscope 208 is already in radians per second, and therefore can be used directly to calculate cadence 209.
[0030] Accelerometer algorithm 410 generates at least one filtered estimate of the cyclist’s current cadence from acceleration data 402. However, when gyroscope 208 is activated, gyroscope algorithm 412 determines a precise cadence value from rotational data 404 and may provide precise cadence value 414 to update or replace the cadence value determined by accelerometer algorithm 410. Accelerometer algorithm 410 also includes software that detects when acceleration data 402 generates poor quality cadence 209. For example, accelerometer algorithm 410 may determine when a generated cadence 209 requires an unrealistic acceleration, includes rapid oscillations, and/or when acceleration data 402 includes excessive noise. When accelerometer algorithm 410 determines that cadence 209 is of poor quality, accelerometer algorithm 410 sends a “panic” notification 416 to mode-switch algorithm 205, which generates a gyroscope activation signal 420 that activates gyroscope 208.
[0031] Mode-switch algorithm 205 may also determines when acceleration data 402 is of poor quality to generate gyroscope activation signal 420. Further, mode-switch algorithm 205 also determines when quality of acceleration data 402 improves and deactivates gyroscope activation signal 420, such that gyroscope 208 powers down to save battery power.
[0032] Cadence 209 and/or precise cadence value 414 are input to a power algorithm 430 that also receives a torque sensor data 432 from a power sensor 434. In certain embodiments, power sensor 434 includes at least one strain gauge applied to crank arm 100 to measure torque applied to crank arm 100 by the cyclist. Power algorithm 430 calculates the cyclist’s power in watts based on the measured torque indicated by torque sensor data 432 and cadence 209 or precise cadence value 414, when available. [0033] The following pseudocode illustrates one example of power algorithm 430: function calculatePower ( )
# see other algorithms recentCadenceRpm = modeswitch getCadenceFromAppropriateSensor ( )
# see past 4iiii patents for torque determination recentTorqueNm = getRecentTorqueFrom3dPower ( )
# convert to radians per second recentCadenceRads PerSec = 2 *PI * (recentCadenceRpm / 60 )
# power = torque * angular velocity return recentCadenceRadsPerSec * recentTorqueNm;
[0034] As shown in the above pseudocode, torque applied by the cyclist to the crank is measured (e.g., using strain gauges applied to the crank) and used with cadence 209 to calculate a power value. Other methods of calculating power may be used without departing from the scope hereof.
Real-world Comparison
[0035] FIG. 5 is a graph 500 illustrating one example comparison between a switched cadence signal 502 of power-meter 101 of FIG. 1 as generated by mode-switch algorithm 205 and cadence algorithm 207 of FIG. 2, and a prior-art cadence signal 504 derived from only accelerometer-based sensor data. Both power-meter 101 and a prior-art cadence meter are simultaneously mounted on a mountain bike, and cadence 209 of power-meter 101, shown as switched cadence signal 502, and the prior art cadence, shown as prior-art cadence signal 504, from the prior-art cadence meter are captured over a period of about one minute duration.
[0036] Of note, the prior-art cadence signal 504 shows extreme cadence oscillations at area 506 (e.g., near the middle of the displayed period), and also consistently shows more noise compared to switched cadence signal 502.
Gyro On-Time Data
[0037] Detailed logs representative of real-world riding conditions captured by internal and external testers of power-meter 101, FIG. 1, are used to determine the effects of mode-switch algorithm 205 of FIG. 2 on battery life. These data sets are then used to tune mode-switch algorithm 205 to balance the need for improved quality in cadence 209 against the battery life of power-meter 101. That is, this test data is used to tune parameters of mode-switch algorithm 205 to maximize cadence accuracy while keeping power consumption below budget battery life goal.
[0038] For example, with an assumed 200mAh CR2032 battery and a desired 800-hour battery life, average current draw should not exceed 250uA. The following equation determines the average power consumption:
(GyroOnTimeFraction) * (GyroOnCurrent) + (GyroOffTimeFraction) *(GyroOffCurrent) [0039] Accordingly, by measuring both the GyroOnCurrent and the GyroOffCurrent of power-meter 101, a maximum GyroOnTimeFraction may be determined. For example, a measured gyroOffCurrent of 180uA and a measured GyroOnCurrent of 540uA results in a maximum gyroscope on time of 20%. The collected logs indicate, as expected, that the gyro on- time increases as rides get bumpier, as shown in Table 1 Gyro On Time. Of the data set, 32.6% of the time corresponded to smooth riding conditions, such as on a cycle trainer or stationary bike, 45.8% of the ride time corresponded to riding on a road type surface, and 21.5% of the ride time corresponded to riding on a gravel or mountain bike trail type surface. Riding on the smooth surface resulted in a minimal activation (0.02%) of gyroscope 208. Riding on the road type surface resulted in a gyro on time of 32.5%. Riding on the gravel surface or mountain bike trail resulted in a gyro on time of 48.3%.
Table 1 Gyro On Time
Figure imgf000015_0001
[0040] Changes may be made in the above methods and systems without departing from the scope hereof. It should thus be noted that the matter contained in the above description or shown in the accompanying drawings should be interpreted as illustrative and not in a limiting sense. The following claims are intended to cover all generic and specific features described herein, as well as all statements of the scope of the present method and system, which, as a matter of language, might be said to fall therebetween.
Combination of Features
[0041] Features described above as well as those claimed below may be combined in various ways without departing from the scope hereof. The following enumerated examples illustrate some possible, non-limiting combinations:
[0042] (Al) A method for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter, includes: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope based on the first condition; and determining the cadence using rotational data from the gyroscope.
[0043] (A2) In embodiments of (Al), the determining the first condition including processing the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer, wherein the first condition occurs when the vibrational metric is above a vibrational threshold.
[0044] (A3) In either of embodiments (Al) and (A2), the determining the first condition further including determining a panic flag is set, wherein the panic flag is set by software when an anomaly is detected.
[0045] (A4) In any of embodiments (Al) - (A3), the determining the first condition further including determining when the cadence is above a high cadence threshold.
[0046] (A5) Any of embodiments (Al) - (A4), further including: determining that the first condition does not remain; deactivating the gyroscope based on the first condition; and determining the cadence using the acceleration data from the accelerometer.
[0047] (A6) In any of embodiments (Al) - (A5), the determining that the first condition does not remain including processing the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer, wherein the first condition does not remain when the vibrational metric is below a vibrational threshold.
[0048] (A7) In any of embodiments (Al) - (A6), the determining that the first condition does not remain including determining that a panic flag is not set, wherein the panic flag is set by software when an anomaly is detected has expired. [0049] (A8) In any of embodiments (Al) - (A7), the determining that the first condition does not remain including determining when a rider has stopped pedaling.
[0050] (A9) In any of embodiments (Al) - (A8), the determining that the first condition does not remain including determining when the cadence is below a high-cadence threshold.
[0051] (A10) In any of embodiments (Al) - (A9), the determining the cadence using acceleration data further including calculating, using the acceleration data, a fraction of a circle that the accelerometer has completed in an update period between successive readings of the acceleration data.
[0052] (Al 1) In any of embodiments (Al) - (Al 0), the determining the cadence using acceleration data further including calculating a timespan between peaks, zeroes, and troughs in the acceleration data.
[0053] (A 12) In any of embodiments (Al) - (Al 1), the determining the cadence using acceleration data further including calculating a slope of an output of an atan2 function for x-axis and y-axis components of the acceleration data over time.
[0054] (Al 3) In any of embodiments (Al) - (A12), the determining the cadence using acceleration data further including using a frequency-domain transform of the acceleration data.
[0055] (A14) In any of embodiments (Al) - (A13), the determining the cadence using acceleration data further including using a trained neural network to process the acceleration data.
[0056] (A15) In any of embodiments (Al) - (A14), the determining the cadence using acceleration data further including curve-fitting a sine or cosine wave to the acceleration data.
[0057] (Bl) A power-meter for use with a pedal-driven vehicle, including: an accelerometer; a gyroscope; a processor; and memory storing machine readable instructions that when executed by the processor cause the power-meter to: determine a cadence of pedaling using acceleration data from the accelerometer; determine a first condition indicative that quality of the cadence is below a desired level; activate the gyroscope; and determine the cadence using rotational data from the gyroscope.
[0058] (B2) In embodiments of (Bl), the memory further including machine readable instructions that when executed by the processor cause the power-meter to: determine the first condition does not remain; deactivate the gyroscope; and determine the cadence using the acceleration data from the accelerometer. [0059] (B3) In either the embodiments of (Bl) and (B2), the memory further including machine readable instructions that when executed by the processor cause the power-meter to: process the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer; and compare the vibrational metric to a high-vibration threshold to determine the first condition.
[0060] (B4) In any of the embodiments of (Bl) - (B3), the memory further including machine readable instructions that when executed by the processor cause the power-meter to: determine the first condition exists when a panic flag is set, wherein the panic flag is set by software when an anomaly is detected; and determine the first condition exists when the cadence is above a high-cadence threshold.
[0061] (Cl) A software product for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter including instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a controller, cause the controller to: when the gyroscope is inactive: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope in response to the first condition; when the gyroscope is active: determining the cadence using rotational data from the gyroscope; determining the first condition does not remain; and deactivating the gyroscope.

Claims

CLAIMS What is claimed is:
1. A method for switching between an accelerometer and a gyroscope to measure a cadence in a cycling power meter, comprising: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope based on the first condition; and determining the cadence using rotational data from the gyroscope.
2. The method of claim 1, the determining the first condition comprising processing the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer, wherein the first condition occurs when the vibrational metric is above a vibrational threshold.
3. The method of claim 1, the determining the first condition further comprising determining that a panic flag is set, wherein the panic flag is set by software when an anomaly is detected.
4. The method of claim 1, the determining the first condition further comprising determining when the cadence is above a high cadence threshold.
5. The method of claim 1, further comprising: determining that the first condition does not remain; deactivating the gyroscope based on the first condition; and determining the cadence using the acceleration data from the accelerometer. The method of claim 5, the determining that the first condition does not remain comprising processing the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer, wherein the first condition does not remain when the vibrational metric is below a vibrational threshold. The method of claim 5, the determining that the first condition does not remain comprising determining that a panic flag is not set, wherein the panic flag is set by software when an anomaly is detected has expired. The method of claim 5, the determining that the first condition does not remain comprising determining when a rider has stopped pedaling. The method of claim 5, the determining that the first condition does not remain comprising determining when the cadence is below a high-cadence threshold. The method of claim 1, the determining the cadence using acceleration data further comprising calculating, using the acceleration data, a fraction of a circle that the accelerometer has completed in an update period between successive readings of the acceleration data. The method of claim 1, the determining the cadence using acceleration data further comprising calculating a timespan between peaks, zeroes, and troughs in the acceleration data. The method of claim 1, the determining the cadence using acceleration data further comprising calculating a slope of an output of an atan2 function for x-axis and y-axis components of the acceleration data over time. The method of claim 1, the determining the cadence using acceleration data further comprising using a frequency-domain transform of the acceleration data. The method of claim 1, the determining the cadence using acceleration data further comprising using a trained neural network to process the acceleration data. The method of claim 1, the determining the cadence using acceleration data further comprising curve-fitting a sine or cosine wave to the acceleration data. A power-meter for use with a pedal-driven vehicle, comprising: an accelerometer; a gyroscope; a processor; and memory storing machine readable instructions that when executed by the processor cause the power-meter to: determine a cadence of pedaling using acceleration data from the accelerometer; determine a first condition indicative that quality of the cadence is below a desired level; activate the gyroscope; and determine the cadence using rotational data from the gyroscope. The power-meter of claim 16, the memory further comprising machine readable instructions that when executed by the processor cause the power-meter to: determine the first condition does not remain; deactivate the gyroscope; and determine the cadence using the acceleration data from the accelerometer. The power-meter of claim 16, the memory further comprising machine readable instructions that when executed by the processor cause the power-meter to: process the acceleration data to determine a vibrational metric indicative of an amount of vibration being sensed by accelerometer; and compare the vibrational metric to a high-vibration threshold to determine the first condition. The power-meter of claim 16, the memory further comprising machine readable instructions that when executed by the processor cause the power-meter to: determine the first condition exists when a panic flag is set, wherein the panic flag is set by software when an anomaly is detected; and determine the first condition exists when the cadence is above a high-cadence threshold. A software product for switching between an accelerometer and a gyroscope to measure cadence in a cycling power meter comprising instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a controller, cause the controller to: when the gyroscope is inactive: determining the cadence using acceleration data from the accelerometer; determining a first condition indicative that quality of the cadence is below a desired level; activating the gyroscope in response to the first condition; when the gyroscope is active: determining the cadence using rotational data from the gyroscope; determining the first condition does not remain; and deactivating the gyroscope.
PCT/IB2023/000785 2022-11-18 2023-11-17 A method for switching between accelerometer and gyroscope to sense cadence on a bicycle WO2024105452A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263426640P 2022-11-18 2022-11-18
US63/426,640 2022-11-18

Publications (1)

Publication Number Publication Date
WO2024105452A1 true WO2024105452A1 (en) 2024-05-23

Family

ID=91083880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2023/000785 WO2024105452A1 (en) 2022-11-18 2023-11-17 A method for switching between accelerometer and gyroscope to sense cadence on a bicycle

Country Status (1)

Country Link
WO (1) WO2024105452A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170007166A1 (en) * 2014-02-26 2017-01-12 Koninklijke Philips N.V. Device for measuring a cycling cadence
US10060738B2 (en) * 2014-08-26 2018-08-28 4Iiii Innovations Inc. Adhesively coupled power-meter for measurement of force, torque, and power and associated methods
US10744371B2 (en) * 2014-09-21 2020-08-18 Stryd, Inc. Methods and apparatus for power expenditure and technique determination during bipedal motion
US20200397384A1 (en) * 2019-06-20 2020-12-24 The Hong Kong Polytechnic University Predictive knee joint loading system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170007166A1 (en) * 2014-02-26 2017-01-12 Koninklijke Philips N.V. Device for measuring a cycling cadence
US10060738B2 (en) * 2014-08-26 2018-08-28 4Iiii Innovations Inc. Adhesively coupled power-meter for measurement of force, torque, and power and associated methods
US10744371B2 (en) * 2014-09-21 2020-08-18 Stryd, Inc. Methods and apparatus for power expenditure and technique determination during bipedal motion
US20200397384A1 (en) * 2019-06-20 2020-12-24 The Hong Kong Polytechnic University Predictive knee joint loading system

Similar Documents

Publication Publication Date Title
US20190315433A1 (en) Electric assist system and electric assist vehicle
US9075076B2 (en) Sensor apparatus and method for determining pedalling cadence and travelling speed of a bicycle
CN109387203B (en) Activity status analysis device, activity status analysis method, and recording medium
CN107757813B (en) The control method of bicycle control and bicycle
JP6745017B2 (en) Pedestrian dead reckoning technology
CN105109490B (en) Method for judging sharp turn of vehicle based on three-axis acceleration sensor
US10633055B2 (en) Method and a system for estimation of a useful effort provided by an individual during a physical activity consisting in executing an alternating pedalling movement on a pedal device
TW201800301A (en) Electric power-assisted bicycle, drive system and control method therefor
JP2014008789A (en) Pedalling state measurement device
US20210068712A1 (en) Detecting the end of cycling activities on a wearable device
JP2005038018A (en) Number of step arithmetic device
US20210093917A1 (en) Detecting outdoor walking workouts on a wearable device
JP5729538B2 (en) Operation analysis device
JP5478334B2 (en) Driver state determination device and program
WO2024105452A1 (en) A method for switching between accelerometer and gyroscope to sense cadence on a bicycle
CN106873612A (en) Electrodynamic balance car attitude method for quick
JP3165045B2 (en) Angular velocity data correction device
JP2016179718A (en) Kinetic motion measuring apparatus, kinetic motion measuring method and program
US11851133B2 (en) Electric motor-assisted bicycle and motor control apparatus
JP2002131077A (en) Method and device for judging stop of moving body and storage medium recording stop judgment program
CN113562107A (en) Bicycle component provided with an electronic device
WO2016009539A1 (en) Measurement timing detection device
Dhinesh et al. Ride Profiling for a Single Speed Bicycle Using an Inertial Sensor
JP6727901B2 (en) Information processing apparatus, information processing method, and program
JP2006123756A (en) Cancelling method and device for turn indicator of motorcycle etc.