The present disclosure relates generally to electronic pedometers and in particular to using one electronic pedometer device to calibrate another electronic pedometer device.
Medical science has established that regular physical activity is important to maintaining good health. Regrettably, however, the advancement of technology has generally coincided with a reduction of physical activity. Instead of having to earn a living through physically demanding labor, many people today find that their daily routine consists largely of sitting in front of a computer or television screen, punctuated by intervals of sitting in a car in traffic. Physical activity has, for many, become another chore to be scheduled and carried out or, as is often the case, forgotten entirely.
Among those who do seek out exercise, there is often a desire to quantify their performance. Runners and walkers, for instance, want to know how far they go and/or how many steps they take while exercising. Pedometers, devices that detect and measure step count and/or distance traveled, can be a useful tool for such individuals.
One challenge faced by any pedometer is that of determining distance traveled. Many electronic pedometers require the user to measure and enter a stride length or step length (in general usage, a “stride” refers to two consecutive steps), which the pedometer can use to convert a measured step count to distance. Other electronic pedometers may collect other personal data (e.g., the user's height, weight, and gender) from which a stride length can be inferred. Such pedometers, even if they are accurate as to step count, can be quite inaccurate as to distance covered. For example, measuring stride length can be difficult, and the user's stride length can change over time. Inferences from other personal data are generally even less reliable than a direct measurement. In addition, depending on where on the user's body a pedometer is worn, the step count can be subject to varying degrees of inaccuracy, making performance data less reliable.
Certain embodiments of the present invention relate to electronic pedometer devices that can be calibrated transparently to the user using other pedometer devices that the user happens to be wearing. For example, a first pedometer can be incorporated into a wearable device (e.g., a wrist-worn device or other device attached to the user's person) while a second pedometer is incorporated into another device (e.g., a smart phone or other mobile electronic device) that the user might carry in a pocket or wear on a belt or the like during a workout. The pedometer devices can communicate with each other to initiate a calibration period, during which data regarding acceleration (or motion), step count and/or user location is gathered. After the calibration period, one or both of the devices can use the data to compute calibration parameters, such as a correction to a step count, a conversion factor for converting step count to distance traveled, and or a set of calibration parameters to convert accelerometer or other motion-sensor data to distance traveled.
Some aspects of the invention relate to calibration methods. For example, a first pedometer device that is wearable on a first portion of a user's body (e.g., the wrist) can collect a calibration set of accelerometer data indicative of the user's motion during a calibration period. The device can receive distance data and/or step-count data from a second pedometer device that is wearable on a second portion of the user's body (e.g., the hip, waist, foot, arm, or elsewhere). Distance data from the second pedometer device can indicate a distance traveled during the calibration period, and step-count data from the second pedometer device can indicate a number of steps counted by the second pedometer device during the calibration period. Based on the calibration set of accelerometer data and the received data, the first pedometer device can determine one or more calibration parameters, such as a parameter usable to convert step-count to distance, a parameter usable to adjust the first pedometer devices's step count to correct for inaccuracy in step-counting in the first pedometer device, and/or a set of calibration parameters usable to convert a set of accelerometer data collected over an arbitrary time interval to a distance value. For example, the first pedometer device can count steps by operating an internal accelerometer to detect an acceleration of the first portion of the user's body and analyzing the accelerometer data to detect a motion characteristic indicative of the user taking a step. Depending on where the first pedometer device is worn (e.g., on the wrist), the motion characteristic of a step can be obscured by other motions of the user's arms or wrists; accordingly, calibration of step count as well as (or instead of) distance can be desirable.
In some embodiments, the devices can determine whether and when to calibrate. For example, the first pedometer device (the one being calibrated) can detect that the user is engaged in a locomotion activity and that the second pedometer device is present and moving with the user. Or, the second pedometer device can detect that the user is engaged in a locomotion activity and that the first pedometer device is present and moving with the user and can notify the first device to begin the calibration period. A calibration period can end, e.g., after a minimum distance has been traveled or after a minimum period of time has elapsed while the user continues to perform the activity.
In some embodiments, the devices can also determine which device is to be calibrated and which device is to provide calibration data. For example, either device can receive reliability information (e.g., a device-type identifier or a reliability rating assigned by a manufacturer) from the other. Based on this information, the devices can determine which is more reliable, and the more reliable device can be used to calibrate the less reliable device.
Some aspects relate to an electronic device that can calibrate one or more external pedometer devices that are wearable on different portions of the user's body (e.g., wrist, upper arm, hip or waist, foot, etc.). For example, an electronic device can include a communication module to communicate with one or more external pedometer devices and in some instances an internal pedometer module. A calibration module coupled to the communication module can receive accelerometer and/or step count data for a time interval corresponding to a calibration period from each of the external pedometer devices (and the internal pedometer module, if present). Based on the received data, the calibration module can determine a set of calibration parameters for each of the one or more external pedometer devices (and the internal pedometer module, if present) based on the received data. The calibration parameters can include correction parameters to adjust the step count of each pedometer, a distance parameter usable to convert the pedometer's step count to a distance, and/or calibration parameters usable to convert accelerometer data to distance. For example, an average of step counts from different pedometer devices can be computed. In some embodiments, the average can be weighted based on a quality factor associated with each pedometer device, so that more reliable step-count data is given greater weight. A distance parameter can be determined based on information about the distance traveled during the calibration period, which can be obtained using an internal or external location determining system (e.g., a UPS receiver or the like). The calibration parameters can be communicated back to the external pedometer devices (and the internal pedometer module, if present).
The external pedometer devices can communicate wirelessly with the master device and can have internal motion sensors (e.g., accelerometers) to detect their own motion and processing subsystems to determine a step count and/or distance based on the detected motion, e.g., by analyzing the motion-sensor data to detect patterns consistent with user locomotion activity. The external pedometer devices can send their data to the master device and can receive calibration parameters from the master device. Thereafter, the external pedometer devices can use the calibration parameters, e.g., to adjust subsequently-determined step counts and/or to convert step count or accelerometer data to distance traveled, regardless of whether the master device is present.
In some embodiments, a pedometer device can be calibrated separately for multiple different activities (e.g., walking, jogging, running, swimming, wheelchair racing, rowing, or any other user locomotion activity). For example, the pedometer device can distinguish among activities based on data received from its internal motion sensors and can store separate sets of calibration parameters, each set associated with a different activity. During calibration, the identified activity can be used to select which set of calibration parameter should be updated, and at other times, the identified activity can be used to select which set of calibration parameters should be applied.
The following detailed description together with the accompanying drawings will provide a better understanding of the nature and advantages of the present invention.
Certain embodiments of the present invention relate to electronic pedometer devices that can be calibrated transparently to the user using other pedometer devices that the user happens to be wearing. For example, a first pedometer can be incorporated into a wearable device (e.g., a wrist-worn device or other device attached to the user's person) while a second pedometer is incorporated into another device (e.g., a smart phone or other mobile electronic device) that the user might carry in a pocket or wear on a belt or the like during a workout. The pedometer devices can communicate with each other to initiate a calibration period, during which data regarding step count and/or user location is gathered. After the calibration period, one or both of the devices can use the data to compute calibration parameters, such as a correction to a step count and/or a conversion factor for converting step count to distance traveled.
In some embodiments, pedometers can be implemented in wearable and/or portable electronic devices.
Wearable device 100 can be, for example, a necklace, a wristband, a bracelet, a watch, eyeglasses or other eyewear, a headband, a ring, etc. Wearable device 100 can include an active component 110 and an attachment member 112. Active component 110 can include various physiological sensors, motion sensors, and/or other environmental sensors; user input devices (e.g., control buttons, knobs, and/or dials; touch sensor or touch screen; microphone); and/or user output devices (e.g., display, speakers, haptic devices). In addition, active component 110 can include a communication interface, such as a wireless communication interface, that supports exchange of information between wearable device 100 and host device 102.
Attachment member 112 can allow the user to wear device 100 attached to the user's person or clothing. For example, attachment member 112 can include a strap or chain to allow attachment to the user's wrist or wearing around the user's neck, an car piece to support wearing of device 100 on the user's head, a clip or pin to support attachment of device 100 to an article of clothing that the user wears, and so on. In some embodiments, attachment member 112 can also incorporate active electronic components such as sensors, user interface components, data communication interfaces, and the like.
In some embodiments, active component 110 can determine whether wearable device 100 is being worn at any given time, e.g., based on sensor data and/or signals from attachment member 112. Wearable device 100 can operate differently depending on whether it is currently being worn or not. For example, wearable device 100 can inactivate various user interface and/or RF interface components when it is not being worn. In addition, in some embodiments, wearable device 100 can notify host device 102 when a user puts on or takes off wearable device 100.
Host device 102 can be any device that communicates with wearable device 100. In
In some embodiments, wearable device 100 and host device 102 can interoperate to enhance functionality available on host device 102. For example, wearable device 100 and host device 102 can establish a pairing using a wireless communication technology such as Bluetooth. While the devices are paired, host device 102 can send notifications of selected events (e.g., receiving a phone call, text message, or email message) to wearable device 100, and wearable device 100 can present corresponding alerts to the user. Wearable device 100 can also provide an input interface via which a user can respond to an alert (e.g., to answer a phone call or reply to a text message). In some embodiments, wearable device 100 can also provide a user interface that allows a user to initiate an action on host device 102, such as placing a phone call, sending a text message, or controlling media playback operations of host device 102. As another example, wearable device 100 and host device 102 can each incorporate a pedometer, which can be any component(s) that enable measurement of a user's locomotion activity (e.g., step count, stroke count, distance traveled). For instance, in some embodiments described below, a pedometer can include one or more accelerometers and/or other motion sensors operating in combination with processing circuitry that implements algorithms to identify steps or arm strokes based on data from the sensors. In other embodiments, a pedometer can include distance-measuring circuitry, e.g. using GPS or the like to determine how far the user has traveled.
It will be appreciated that wearable device 100 and host device 102 are illustrative and that variations and modifications are possible. For example, wearable device 100 can be implemented in any wearable article, including a watch, a bracelet, a necklace, a ring, a belt, a jacket, or the like. In some instances, wearable device 100 can be a clip-on device or pin-on device that has a clip or pin portion that attaches to the user's clothing. Active component 110 can be attached to the clip or pin portion by a retractable cord, and a user can access active component 110 by pulling on it, then let go to return active component 110 to its resting location. Thus, a user can wear device 100 in any convenient location.
Wearable device 100 can incorporate various electronic components.
Storage subsystem 204 can be implemented, e.g., using magnetic storage media, flash memory, other semiconductor memory (e.g., DRAM, SRAM), or any other non-transitory storage medium, or a combination of media, and can include volatile and/or non-volatile media. In some embodiments, storage subsystem 204 can store media items such as audio files, video files, image or artwork files; information about a user's contacts (names, addresses, phone numbers, etc.); information about a user's calendar (e.g., scheduled appointments and events; notes; and/or other types of information, examples of which are described below. In some embodiments, storage subsystem 204 can also store one or more application programs to be executed by processing subsystem 210 (e.g., video game programs, personal information management programs, media playback programs, fitness and/or wellness related programs, interface programs associated with particular host devices and/or host device functionalities, etc.).
User interface 206 can include any combination of input and output devices. A user can operate input devices of user interface 206 to invoke the functionality of wearable device 200 and can view, hear, and/or otherwise experience output from wearable device 200 via output devices of user interface 206.
Examples of output devices include display 220, speakers 222, and haptic output generator 224. Display 220 can be implemented using compact display technologies, e.g., LCD (liquid crystal display), LED (light-emitting diode), OLED (organic light-emitting diode), or the like. In some embodiments, display 220 can incorporate a flexible display element or curved-glass display element, allowing wearable device 200 to conform to a desired shape. One or more speakers 222 can be provided using small-form-factor speaker technologies, including any technology capable of converting electronic signals into audible sound waves. In some embodiments, speakers 222 can be used to produce tones (e.g., beeping or ringing) and can but need not be capable of reproducing sounds such as speech or music with any particular degree of fidelity. Haptic output generator 224 can be, e.g., a device that converts electronic signals into vibrations; in some embodiments, the vibrations can be strong enough to be felt by a user wearing wearable device 200 but not so strong as to produce distinct sounds.
Examples of input devices include microphone 226, touch sensor 228, and camera 229. Microphone 226 can include any device that converts sound waves into electronic signals. In some embodiments, microphone 226 can be sufficiently sensitive to provide a representation of specific words spoken by a user; in other embodiments, microphone 226 can be usable to provide indications of general ambient sound levels without necessarily providing a high-quality electronic representation of specific sounds.
Touch sensor 228 can include, e.g., a capacitive sensor array with the ability to localize contacts to a particular point or region on the surface of the sensor and in some instances, the ability to distinguish multiple simultaneous contacts. In some embodiments, touch sensor 228 can be overlaid over display 220 to provide a touchscreen interface (e.g., touchscreen interface 105 of
Camera 229 can include, e.g., a compact digital camera that includes an image sensor such as a CMOS sensor and optical components (e.g. lenses) arranged to focus an image onto the image sensor, along with control logic operable to use the imaging components to capture and store still and/or video images. Images can be stored, e.g., in storage subsystem 204 and/or transmitted by wearable device 200 to other devices for storage. Depending on implementation, the optical components can provide fixed focal distance or variable focal distance; in the latter case, autofocus can be provided. In some embodiments, camera 229 can be disposed along an edge of face member 104 of
In some embodiments, user interface 206 can provide output to and/or receive input from an auxiliary device such as a headset. For example, audio jack 230 can connect via an audio cable (e.g., a standard 2.5-mm or 3.5-mm audio cable) to an auxiliary device. Audio jack 230 can include input and/or output paths. Accordingly, audio jack 230 can provide audio to the auxiliary device and/or receive audio from the auxiliary device. In some embodiments, a wireless connection interface can be used to communicate with an auxiliary device.
Processing subsystem 202 can be implemented as one or more integrated circuits, e.g., one or more single-core or multi-core microprocessors or microcontrollers, examples of which are known in the art. In operation, processing system 202 can control the operation of wearable device 200. In various embodiments, processing subsystem 202 can execute a variety of programs in response to program code and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can be resident in processing subsystem 210 and/or in storage media such as storage subsystem 204.
Through suitable programming, processing subsystem 202 can provide various functionality for wearable device 200. For example, in some embodiments, processing subsystem 202 can execute an operating system (OS) 232 and various applications (also referred to as apps) for interfacing with a host device, such as an activity monitoring app 234 that can incorporate pedometer operations (e.g., analyzing motion-sensor data to determine a step count and/or providing information such as a step count and/or distance traveled to the user). In some embodiments, some or all of these application programs can interact with a host device, e.g., by generating messages to be sent to the host device and/or by receiving and interpreting messages from the host device. In some embodiments, some or all of the application programs can operate locally to wearable device 200. For example, activity monitoring app 234 can collect and locally store activity-related information such as heart rate, step count, or the like, and such information can be presented to a user, e.g., via display 220. Activity monitoring app 234 can also communicate with other devices when such devices are available, e.g., for purposes of pedometer calibration and/or sharing activity data between devices. Examples of pedometer calibration processes are described below.
RF (radio frequency) interface 208 can allow wearable device 200 to communicate wirelessly with various host devices. RF interface 208 can include RF transceiver components such as an antenna and supporting circuitry to enable data communication over a wireless medium, e.g., using Wi-Fi (IEEE 802.11 family standards), Bluetooth® (a family of standards promulgated by Bluetooth SIG, Inc.), or other protocols for wireless data communication. RF interface 208 can be implemented using a combination of hardware (e.g., driver circuits, antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components. In some embodiments, RF interface 208 can provide near-field communication (“NFC”) capability, e.g., implementing the ISO/IEC 18092 standards or the like; NFC can support wireless data exchange between devices over a very short range (e.g., 20 centimeters or less). Multiple different wireless communication protocols and associated hardware can be incorporated into RF interface 208.
Connector interface 210 can allow wearable device 200 to communicate with various host devices via a wired communication path, e.g., using Universal Serial Bus (USB), universal asynchronous receiver/transmitter (UART), or other protocols for wired data communication. In some embodiments, connector interface 210 can provide a power port, allowing wearable device 200 to receive power, e.g., to charge an internal battery. For example, connector interface 210 can include a connector such as a mini-USB connector or a custom connector, as well as supporting circuitry.
In some embodiments, connector interface 210 and/or RF interface 208 can be used to support synchronization operations in which data is transferred from a host device (e.g., host device 102 of
Environmental sensors 214 can include various electronic, mechanical, electromechanical, optical, or other devices that provide information related to external conditions around wearable device 200. Sensors 214 in some embodiments can provide digital signals to processing subsystem 202, e.g., on a streaming basis or in response to polling by processing subsystem 202 as desired. Any type and combination of environmental sensors can be used; shown by way of example are accelerometer 242, a magnetometer 244, a gyroscope 246, and a GPS receiver 248.
Some environmental sensors can provide information about the location and/or motion of wearable device 200. For example, accelerometer 242 can sense acceleration (relative to freefall) along one or more axes, e.g., using piezoelectric or other components in conjunction with associated electronics to produce a signal. Magnetometer 244 can sense an ambient magnetic field (e.g., Earth's magnetic field) and generate a corresponding electrical signal, which can be interpreted as a compass direction. Gyroscopic sensor 246 can sense rotational motion in one or more directions, e.g., using one or more MEMS (micro-electro-mechanical systems) gyroscopes and related control and sensing circuitry.
Other sensors can also be included in addition to or instead of these examples. For example, a sound sensor can incorporate microphone 226 together with associated circuitry and/or program code to determine, e.g., a decibel level of ambient sound. Temperature sensors, proximity sensors, ambient light sensors, or the like can also be included.
Physiological sensors 216 can include various electronic, mechanical, electromechanical, optical, chemical or other devices that provide information about the physiological status of a user. For instance, a pulse sensor 250 can detect a user's pulse based on pressure changes against a pressure sensor, electrical impulses, or the like. In some embodiments, pulse sensor 250 can include an optical sensor and can provide pulse oximetry data (both heart rate and oxygen content of the blood). A skin conductance sensor 252 can measure changes in the user's skin conductance that may indicate sweating, stress, or the like. Other types of sensors can also be used, including temperature sensors. ECG sensors, and so on. In device 100 of
Power subsystem 212 can provide power and power management capabilities for wearable device 200. For example, power subsystem 212 can include a battery 240 (e.g., a rechargeable battery) and associated circuitry to distribute power from battery 240 to other components of wearable device 200 that require electrical power. In some embodiments, power subsystem 212 can also include circuitry operable to charge battery 240, e.g., when connector interface 210 is connected to a power source. In some embodiments, power subsystem 212 can include a “wireless” charger, such as an inductive charger, to charge battery 240 without relying on connector interface 210. In some embodiments, power subsystem 212 can also include other power sources, such as a solar cell, in addition to or instead of battery 240.
In some embodiments, power subsystem 212 can control power distribution to components within wearable device 200 to manage power consumption efficiently. For example, power subsystem 212 can automatically place device 200 into a “hibernation” state when sensors 216 or other sensors indicate that device 200 is not being worn. The hibernation state can be designed to reduce power consumption; accordingly, user interface 206 (or components thereof), RF interface 208, connector interface 210, and/or environmental sensors 214 can be powered down (e.g., to a low-power state or turned off entirely), while sensors 216 or certain other sensors are powered up (either continuously or at intervals) to detect when a user puts on wearable device 200. As another example, in some embodiments, while wearable device 200 is being worn, power subsystem 212 can turn display 220 and/or other components on or off depending on motion and/or orientation of wearable device 200 detected by environmental sensors 214. For instance, if wearable device 200 is designed to be worn on a user's wrist, power subsystem 212 can detect raising and rolling of a user's wrist, as is typically associated with looking at a wristwatch, based on information provided by accelerometer 242. In response to this detected motion, power subsystem 212 can automatically turn display 220 and/or touch sensor 228 on; similarly, power subsystem 212 can automatically turn display 220 and/or touch sensor 228 off in response to detecting that user's wrist has returned to a neutral position (e.g., hanging down).
Power subsystem 212 can also provide other power management capabilities, such as regulating power consumption of other components of wearable device 200 based on the source and amount of available power, monitoring stored power in battery 240, generating user alerts if the stored power drops below a minimum level, and so on.
In some embodiments, control functions of power subsystem 212 can be implemented using programmable or controllable circuits operating in response to control signals generated by processing subsystem 202 in response to program code executing thereon, or as a separate microprocessor or microcontroller.
It will be appreciated that wearable device 200 is illustrative and that variations and modifications are possible. For example, wearable device 200 can include a user-operable control (e.g., a button or switch) that the user can operate to indicate when wearable device 200 is being worn. Controls can also be provided, e.g., to turn on or off display 220, mute or unmute sounds from speakers 222, etc. Wearable device 200 can include any types and combination of sensors and in some instances can include multiple sensors of a given type.
In various embodiments, a user interface can include any combination of any or all of the components described above, as well as other components not expressly described. For example, in some embodiments, the user interface can include, e.g., just a touchscreen, or a touchscreen and a speaker, or a touchscreen and a haptic device. Where the wearable device has an RF interface, a connector interface can be omitted, and all communication between the wearable device and other devices can be conducted using wireless communication protocols. A wired power connection, e.g., for charging a battery of the wearable device, can be provided separately from any data connection.
Further, while the wearable device is described with reference to particular blocks, it is to be understood that these blocks are defined for convenience of description and are not intended to imply a particular physical arrangement of component parts. Further, the blocks need not correspond to physically distinct components. Blocks can be configured to perform various operations, e.g., by programming a processor or providing appropriate control circuitry, and various blocks might or might not be reconfigurable depending on how the initial configuration is obtained. Embodiments of the present invention can be realized in a variety of apparatus including electronic devices implemented using any combination of circuitry and software.
A host device such as host device 102 of
For instance, storage subsystem 304 can be generally similar to storage subsystem 204 and can include, e.g., using magnetic storage media, flash memory, other semiconductor memory (e.g., DRAM, SRAM), or any other non-transitory storage medium, or a combination of media, and can include volatile and/or non-volatile media. Like storage subsystem 204, storage subsystem 304 can be used to store data and/or program code to be executed by processing subsystem 302.
User interface 306 can include any combination of input and output devices. A user can operate input devices of user interface 306 to invoke the functionality of host device 300 and can view, hear, and/or otherwise experience output from host device 300 via output devices of user interface 306. Examples of output devices include display 320, speakers 322, and haptic output generator 324. Examples of input devices include microphone 326, touch sensor 328, and camera 329. These input and output devices can be similar to output devices described above with reference to
Processing subsystem 302 can be implemented as one or more integrated circuits, e.g., one or more single-core or multi-core microprocessors or microcontrollers, examples of which are known in the art. In operation, processing system 302 can control the operation of host device 300. In various embodiments, processing subsystem 302 can execute a variety of programs in response to program code and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can be resident in processing subsystem 302 and/or in storage media such as storage subsystem 304.
Through suitable programming, processing subsystem 302 can provide various functionality for host device 300. For example, in some embodiments, processing subsystem 302 can execute an operating system (OS) 332 and various applications 334 such as a phone-interface application, a text-message-interface application, a media interface application, a fitness application, and/or other applications. In some embodiments, some or all of these application programs can interact with a wearable device, e.g., by generating messages to be sent to the wearable device and/or by receiving and interpreting messages from the wearable device. In some embodiments, some or all of the application programs can operate locally to host device 300.
Processing subsystem 302 can also execute activity monitoring code 336 (which can be part of OS 332 or separate as desired). In some embodiments, activity monitoring code 336 can incorporate pedometer operations (e.g., analyzing motion-sensor data to determine a step count, analyzing location data to determine a distance traveled, and/or providing information such as a step count and/or distance traveled to the user). In some embodiments, activity monitoring code 3360 can communicate with other devices (e.g., wearable device 100 of
RF (radio frequency) interface 308 can allow host device 300 to communicate wirelessly with various other devices and networks. RF interface 308 can include RF transceiver components such as an antenna and supporting circuitry to enable data communication over a wireless medium, e.g., using cellular voice and/or data networks, Wi-Fi (IEEE 802.11 family standards), Bluetooth® (a family of standards promulgated by Bluetooth SIG. Inc.), or other protocols for wireless data communication. In some embodiments, RF interface 308 can implement a Bluetooth LE (Low energy) proximity sensor 309 that supports proximity detection through an estimation of signal strength and/or other protocols for determining proximity to another electronic device. In some embodiments. RF interface 308 can provide near-field communication (“NFC”) capability, e.g., implementing the ISO/IEC 18092 standards or the like; NFC can support wireless data exchange between devices over a very short range (e.g., 20 centimeters or less). RF interface 308 can be implemented using a combination of hardware (e.g., driver circuits, antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components. Multiple different wireless communication protocols and associated hardware can be incorporated into RF interface 308.
Environmental sensors 314 can include various electronic, mechanical, electromechanical, optical, or other devices that provide information related to external conditions around host device 300. Sensors 314 in some embodiments can provide digital signals to processing subsystem 302, e.g., on a streaming basis or in response to polling by processing subsystem 302 as desired. Any type and combination of environmental sensors can be used; shown by way of example are accelerometer 342, a magnetometer 344, a gyroscope 346, and a Global Positioning System (GPS) receiver 348. Accelerometer 342, magnetometer 344, and gyroscope 346 can operate similarly to corresponding sensors in wearable device 200 described above. GPS receiver 248 can determine location based on signals received from GPS satellites, e.g., using known techniques. Other sensors can also be included in addition to or instead of these examples, such as temperature sensors, proximity sensors, ambient light sensors, ambient sound (or noise) sensors, or the like.
Power subsystem 312 can provide power and power management capabilities for host device 300. For example, power subsystem 312 can include a battery 340 (e.g., a rechargeable battery) and associated circuitry to distribute power from battery 340 to other components of host device 300 that require electrical power. In some embodiments, power subsystem 312 can also include circuitry operable to charge battery 340, e.g., when an electrical connector (not shown) is connected to a power source. In some embodiments, power subsystem 312 can include a “wireless” charger, such as an inductive charger, to charge battery 340 without relying on a physical connector. In some embodiments, power subsystem 312 can also include other power sources, such as a solar cell, in addition to or instead of battery 340.
In some embodiments, power subsystem 312 can control power distribution to components within host device 300 to manage power consumption efficiently. For example, when host device 300 is in an inactive state (not interacting with a user), power subsystem 312 can place device 300 into a low-power state, e.g., by powering off various components of user interface 306, RF interface 308, and/or environmental sensors 314. Power subsystem 312 can also provide other power management capabilities, such as regulating power consumption of other components of host device 300 based on the source and amount of available power, monitoring stored power in battery 340, generating user alerts if the stored power drops below a minimum level, and so on.
In some embodiments, control functions of power subsystem 312 can be implemented using programmable or controllable circuits operating in response to control signals generated by processing subsystem 302 in response to program code executing thereon, or as a separate microprocessor or microcontroller.
It will be appreciated that host device 300 is illustrative and that variations and modifications are possible. In various embodiments, other controls or components can be provided in addition to or instead of those described above. Any device capable of interacting with a wearable device as described herein can be a host device.
Further, while the host device is described with reference to particular blocks, it is to be understood that these blocks are defined for convenience of description and are not intended to imply a particular physical arrangement of component parts. Further, the blocks need not correspond to physically distinct components. Blocks can be configured to perform various operations, e.g., by programming a processor or providing appropriate control circuitry, and various blocks might or might not be reconfigurable depending on how the initial configuration is obtained. Embodiments of the present invention can be realized in a variety of apparatus including electronic devices implemented using any combination of circuitry and software. It is also not required that every block in
Communication between a host device and a wearable device can be implemented according to any communication protocol (or combination of protocols) that both devices are programmed or otherwise configured to use. In some instances, standard protocols such as Bluetooth protocols can be used. In some instances, a custom message format and syntax (including. e.g., a set of rules for interpreting particular bytes or sequences of bytes in a digital data transmission) can be defined, and messages can be transmitted using standard serial protocols such as a virtual serial port defined in certain Bluetooth standards. Embodiments of the invention are not limited to particular protocols, and those skilled in the art with access to the present teachings will recognize that numerous protocols can be used.
In accordance with certain embodiments of the present invention, wearable device 100 can provide electronic pedometer functionality and can monitor a user's activity, e.g., the number of steps taken while the user is exercising or going about daily activity. For example, in the implementation shown in
Wearable device 402 can be subject to inaccuracy. For instance, during a run, user 400 might occasionally interrupt or alter her arm movement, e.g., to look at a display of wearable device 402, which can show heart rate, duration of the run, step count, distance, or other information. In addition, the user's arm motions might not correlate exactly with leg motions. Consequently, the number of steps counted by wearable device 402 might not always match the actual number of steps taken. In addition, many users are interested in the distance they cover during a workout, not just a step count. For such reasons, it can be desirable to calibrate the pedometer provided by wearable device 402.
Accordingly, in certain embodiments of the present invention, mobile device 404 (which can be any device that the user can wear or carry during a workout while also wearing wearable device 402) can provide calibration information for wearable device 402. For example, auxiliary pedometer device 404 can be a mobile device, such as a mobile phone, that user 400 can carry during a workout. Auxiliary pedometer device 404 can be carried by the user, e.g., by being placed in the user's pocket, clipped to a belt, or the like.
Mobile device 404 can provide data usable to calibrate the pedometer function of wearable device 402. For example, mobile device 404 can include its own motion sensors (e.g., accelerometers and/or gyroscopes as shown in
In some embodiments, calibration data from mobile device 404 can be used to improve the accuracy of a step count or distance determined by wearable device 402. For example, the forces associated with the impact of taking a step travel up the user's leg 408. The user's arms 406 can add additional degrees of freedom that may mask the effect of impact forces from the accelerometers of wearable device 404. If mobile device 404 is worn on the user's leg or hip (e.g., in a pocket or attached to a belt) or waist or torso, mobile device 404 can experience these forces more directly than wearable device 402 and consequently can provide a more reliable step count. In addition or instead, if mobile device 404 has location-determining capability (e.g., a GPS receiver), mobile device 404 can determine a distance traveled. During a calibration process, the user can wear or carry both device 402 and device 404. As described below, devices 402 and 404 can communicate to allow wearable device 402 to determine calibration parameters, such as a correction factor to correct its step count, a conversion factor to convert step count to distance traveled, or other parameters to convert measured acceleration data to distance traveled and/or step count.
In some embodiments, calibration can only occur when both devices are on the user's person during an activity. However, calibration need not require any other user action beyond the simple fact of wearing or carrying both devices. As described below, the devices themselves can determine when to calibrate and can perform the calibration transparently to the user.
It is also not required that the user always wear or carry both devices when doing an activity. For example, once wearable device 402 has been calibrated during a first instance of doing an activity, device 402 can use its calibration parameters to convert measured accelerations to a step count and/or distance traveled during any subsequent instance of doing the same activity, regardless of whether mobile device 404 is present. Similarly, if wearable device 402 is not present during an instance of doing an activity, mobile device 404 can operate to measure acceleration and determine step count and/or distance traveled using its own sensors. In some embodiments, calibration can occur during any instance of doing an activity when both devices are present; when only one device is present, that device can independently determine a step count and/or distance traveled (e.g., based on the most recent calibration data).
Examples of calibration processes will now be described.
At block 510, primary pedometer device 502 and secondary pedometer device 504 can begin a calibration period in response to an initiation event. A calibration period can be initiated in various ways. In some embodiments, the user can expressly request calibration, e.g., by interacting with the user interface of one or the other of devices 502, 504, and the request can be communicated from the device that receives the user request to the other device. As another example, one of the devices can automatically detect that the user is engaged in an activity for which pedometer calibration is relevant and can signal the other device (assuming the other device is present) to begin calibration. Further examples of initiating a calibration period are described below, and any of these examples can be implemented at block 510. Beginning a calibration period at block 510 can include synchronizing the start of the calibration period such that both devices gather the data to be used in the calibration operation (e.g., step counts and/or location information) during the same time interval. Synchronization need not be exact; an accuracy of a few milliseconds can be sufficient.
During the calibration period, at block 512, primary pedometer device 502 can count the steps taken by the user. For example, primary pedometer device 502 can include an accelerometer or other motion sensor (e.g., as shown in
At block 514, secondary pedometer device 504 can measure the distance traveled during the calibration period. For example, device 504 can include a GPS receiver (e.g., as shown in
In some embodiments, calibration can be canceled by either pedometer device, at blocks 518 and 520. For example, if primary pedometer device 502 (or secondary pedometer device 504) detects that the user has stopped doing the activity, primary pedometer device 502 can send a signal to secondary pedometer device 504 (or vice versa) indicating that the activity has stopped. As another example, if secondary pedometer device 504 becomes unable to reliably determine location or distance, device 504 can cancel the calibration operation. If either device determines that calibration should be canceled, it can send a cancellation signal to the other device, and both devices can end the calibration operation at block 522.
Assuming the calibration operation is not canceled, at block 524, secondary pedometer device 504 can determine whether a sufficient distance has been traveled, e.g., based on the distance measurements at block 514. A “sufficient distance” can be any distance that is long enough to provide a reliable calibration, based on assumptions about the effect of inaccuracy or statistical fluctuations in distance measurements and/or step counts within secondary pedometer device 504 and/or primary pedometer device 502. For example, in some embodiments, a sufficient distance can be 0.25 miles, 0.5 kilometers, or the like. A calibration period initiated at block 510 can continue until canceled (blocks 518, 520) or until a sufficient distance is traveled at block 524.
Once a sufficient distance has been traveled, at block 526, secondary pedometer device 504 can send an end-calibration signal to primary pedometer device 502, and primary pedometer device 502 can receive the end-calibration signal at block 528. Communication of the end-calibration signal can result in both devices ceasing to update the calibration data being collected. For example, each of devices 502, 504 can save its current step count as a final calibration step count, and secondary pedometer device 504 can save the current distance traveled as a final calibration distance traveled. As with the start of calibration, the end of calibration can be synchronized such that both devices cease gathering data to be used in the calibration operation (e.g., step counts and/or location information) at the same time. This synchronization need not be exact; an accuracy of a few milliseconds can be sufficient. The user can be, but need not be, alerted that the calibration interval has ended. If the user continues the activity beyond the calibration interval, either or both devices can continue counting steps, measuring distance, and/or gathering other data, but any such subsequent data can be ignored for purposes of calibration process 500. Thus, the beginning and ending of a calibration interval can be transparent to the user.
At block 530, secondary pedometer device 504 can send calibration data to primary pedometer device 502, and primary pedometer device 502 can receive the calibration data at block 532. In various embodiments, the calibration data can include a number of steps (SC2) counted during the calibration interval by second pedometer device 504 and/or a distance traveled (DC2) during the calibration interval as measured by second pedometer device 504.
At block 534, primary pedometer device 502 can compute calibration parameters using the data received at block 530 and its own calibration data, such as the number of steps (SC1) counted during the calibration period by primary pedometer device 502. At block 536, primary pedometer device 502 can store the calibration parameters for subsequent use.
Various calibration parameters can be computed and stored. For example, a calibration parameter can be used to compute distance traveled based on step count. In some embodiments, a distance calibration factor δ can be computed as δ=DC2/SC1.
Once computed, distance calibration factor δ can be stored by primary pedometer device 502 and subsequently used to determine the distance traveled during user activity outside a calibration period. For instance, if device 502 determines a step count (S0) for a workout, then the distance traveled (D0) during the workout can be computed as D0=S0*δ.
As another example, in some embodiments, primary pedometer device 502 can be wearable on a user's wrist, where the correlation of accelerations or other detected motions with a user's steps may not be as exact as it is for a pedometer located on a user's torso, waist, or leg. More generally, secondary pedometer device 504 may provide a more accurate or reliable step count than primary pedometer device 502. Accordingly, a calibration parameter can be used to correct the step count measured by primary pedometer device 502. For example, a step-count calibration factor σ can be computed as σ=SC2/SC1.
Once computed, step-count calibration factor σ can subsequently be used to correct step counts measured during user activity outside a calibration period. For instance, if device 502 determines a step count (S0) for a workout, then the corrected step count (C0) can be computed as C0=S0*σ.
In some embodiments, a step-count calibration factor σ can be computed first, and the distance calibration factor δ can be computed based on the corrected step count. Other calibration parameters can also be defined.
It will be appreciated that calibration process 500 is illustrative and that variations and modifications are possible. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified, combined, added or omitted. Either device can initiate or end a calibration process. In some embodiments, primary pedometer device 502 can provide its calibration data to secondary pedometer device 504, and secondary pedometer device 504 can compute calibration parameters for primary device 502. The particular calibration parameters and definitions can be different from those described above. Further, in some embodiments, a calibration interval can be defined by reference to time rather than distance traveled (e.g., the calibration interval can have a fixed duration such as 1 minute, 2 minutes, 5 minutes, or any other duration).
Additional procedures and algorithms can be used to determine whether to accept calibration parameters computed at block 534. For instance, the distance calibration factor δ defined above generally reflects a user's step length or stride length, and consequently the value of δ can be expected to be within a certain range (e.g., about 0.3 to 2 meters for a single step, or about 0.5 to 4 meters for a stride) based on human anatomy and the nature of the activity (e.g., walking versus running).
In some embodiments, rather than assigning a constant or average step or stride length, a calibration process can correlate characteristics of accelerometer data with step or stride length and determine, e.g., a stride length for each stride based on the accelerometer data. That is, a stride length for a particular stride can be defined as L=ƒ(A), where A denotes a set of accelerometer data collected during that stride. Calibration can include adjusting various parameters defining the function ƒ( ).
By way of illustration, accelerometer data can be sampled as a function of time, and a set of accelerometer data samples over some sampling period (e.g., 3 seconds, 5 seconds) can be used to define a per-stride stride length L. For example, the following characteristics can be defined over the sampling period:
c1=fourth root of acceleration range;
c2=RMS acceleration;
c3=mean absolute differential value;
c4=average cross threshold;
c5=cadence;
c6=average dominant frequency:
c7=total signal energy; and
c8=frequency domain entropy.
Characteristics C1-c4 can be determined in the time domain, while characteristics c5-c8 can be determined in the frequency domain (e.g., by performing a Fast Fourier Transform or the like on the accelerometer samples).
A linear combination of characteristics c1-c8 can be defined as a stride length for each stride in the sampling period t:
L(t)=w0+Σi=18wici(t), (1)
where w0-w8 are weights that can be calibrated. With weights w0-w8 held constant, L(t) will vary due to stride-to-stride variations in the user's motion. The total distance covered in a series of sampling periods from r=0 to t=T can be defined as:
D=Σ
t=0
T
L(t)S(t), (2)
where S(t) is the number of strides detected during time period t.
Calibration can be performed by determining values for the weights w0-w8 over a known time period during which the user travels a known distance (e.g., DC2 as measured by secondary pedometer 504) and using the accelerometer data measured over that time period. For example, at block 512 of process 500, primary pedometer 502 can collect and save accelerometer data (or a representation thereof, such as characteristics c1-c8) during the calibration period, in addition to counting steps. At block 532, primary pedometer 502 can receive the total distance traveled as measured by secondary pedometer 504. Using Equations (1) and (2) and linear regression algorithms, primary pedometer 502 can determine values for weights w0-w8. The linear regression can be initialized or constrained based on various biometric assumptions. For example, based on cadence and/or other properties of the accelerometer data, primary pedometer 502 can determine the user's gait (e.g., walking or running), and default assumptions about stride length for a particular gait can be used to initialize or constrain the linear regression (e.g., assuming a default stride length of about 0.75 meters, and a maximum stride length of 1.0 meters for walking and 2.0 meters for running). These assumptions can be further tailored based on specific biometric characteristics of the user such as height, weight, and/or gender if such characteristics are provided to primary pedometer 502. Once weights w0-w8 have been calibrated, Equations (1) and (2) can be used to determine distance traveled during any period of time when primary pedometer 502 is operating.
As another example, it is contemplated that process 500 can be performed multiple times during the same workout or during different workouts that may be separated by days or weeks. Calibration parameter values determined from different instances of executing process 500 can be used to validate new parameter values (e.g., rejecting new parameter values with implausibly large deviations from previous values). In some embodiments, parameter values determined from different instances of executing process 500 can be averaged to determine the parameter values to be used. If desired, the average can be weighted in favor of more recent instances.
In some embodiments, when process 500 is performed multiple times, each calibration period can be assigned a reliability score. For instance, secondary pedometer 504 can determine a reliability score based on factors such as straightness of the path traveled during the calibration period (straighter path correlates with higher score), variance in the user's pace during the calibration period (less variance correlates with higher score), and total distance traveled during the calibration period (longer distance correlates with higher score), and the reliability score can be provided to primary pedometer 502 along with the distance data. Calibration parameters determined from different calibration periods can be averaged using weights based on the reliability scores.
In some embodiments, a user can engage in multiple different activities for which use of a pedometer may be desirable. For instance, the user may walk sometimes and jog or run sometimes. Process 500 or similar processes can be used to calibrate the same pedometer device 502 separately for different activities, and a set of calibration parameters can be associated with a specific activity. Accordingly, a pedometer device such as device 502 (or any of the devices shown in
The activity can be manually indicated by the user or automatically inferred by one or both of the pedometer devices. For example, a pattern of accelerations associated with walking can be distinguished from a pattern associated with running, e.g., based on stronger impacts and/or stronger pushoff forces that generally occur when a user is running, step rate or stride rate (which are typically higher for running than for walking), and so on.
Calibration can occur under various conditions. In some embodiments, the user can manually instruct either pedometer device to initiate calibration. Additionally or alternatively, the devices themselves can determine when to initiate calibration, e.g., based on their own motion sensor data (which can indicate when the user is engaged in an activity appropriate for pedometry) in combination with the presence of another pedometer device. Some embodiments can also take into account additional information such as when calibration most recently occurred, whether the current time coincides with a regular or scheduled workout or activity period of the user, and so on.
At block 602, secondary pedometer device 504 can detect motion, e.g., using its onboard accelerometers and/or other motion sensors. At block 604, secondary pedometer device 504 can analyze the motion-sensor data to determine whether a workout or other activity appropriate for pedometry is in progress. For example, heuristic analysis algorithms known in the art can be used to determine whether a user is walking, running, jogging, or the like. Device 504 can further determine whether the activity is progressing at a fairly steady pace over some period of time such as two minutes or the like. For example, a user might sprint across a street, then slow down; this variation in pace can indicate that calibration at the present time is not suitable. A burst of activity can be distinguished from a user who is running or jogging for exercise, who will tend to take steps at an approximately constant rate for a more sustained period.
At block 606, which can be reached when an activity is in progress at a fairly steady pace, secondary pedometer device 504 can determine whether another pedometer device in need of calibration (e.g., primary pedometer device 502) is present. For example, secondary pedometer device 504 can determine whether it is currently paired with and able to communicate with another device that has pedometer capability (e.g., primary pedometer device 502). If not, then at block 608, secondary pedometer device 504 can monitor the user's activity using its local sensors (e.g., accelerometer, location sensor) to track the user's performance. For instance, device 504 can determine a step count and/or distance traveled during the workout. It is to be understood that either primary pedometer device 502 or secondary pedometer device 504 can be used as a standalone pedometer if the other device is not present during an activity.
If primary pedometer device 502 is present, then at block 610, secondary pedometer device 504 can obtain motion data from primary pedometer device 502 (e.g., by sending a request). In some embodiments, primary pedometer device 502 can send a representation of the motion sensor data (e.g., digitally-sampled sensor data) to secondary pedometer device 504. In other embodiments, primary pedometer device 502 can send data representing an analysis of the motion sensor data. For example, similarly to secondary pedometer device 504, primary pedometer device 502 can use heuristic algorithms to determine the user's current activity; at block 610, primary pedometer device 502 can provide data indicating the current activity (e.g., walking at 100 steps per minute).
At block 612, secondary pedometer device 504 can determine whether primary pedometer device 502 is also moving with the user. For example, secondary pedometer device 504 can its own motion-sensor data (raw or analyzed) to data received at block 610. As another example, if primary pedometer device 502 and/or secondary pedometer device 504 implements a proximity-detecting technology (e.g., Bluetooth LE proximity detection), either device can determine whether the distance between the two devices is increasing, decreasing or remaining constant over a suitable time interval (e.g., a few seconds, long enough to average out relative movement of different body parts). If primary pedometer device 502 is not moving with secondary pedometer device 504, then calibration at the present time is not appropriate, and secondary pedometer device 504 can monitor the user's activity using its local sensors at block 608.
At block 614, if primary pedometer device 502 is present and moving along with secondary pedometer device 504, then secondary pedometer device 504 can determine whether to perform a calibration option. For example, secondary pedometer device 504 can determine when calibration was last performed (e.g., based on its own stored information or on information provided by primary pedometer device 502). If a calibration was performed recently (e.g., within the last day or last week) for the current type of activity, then a new calibration may not be particularly useful, and calibration can be deferred to another occasion. If no calibration has been performed recently, or if recent calibrations had a low reliability score, then calibration may be desirable. In various embodiments, other conditions can also be considered. For instance, calibration can be desirable if the user's pattern of activity has changed (e.g., becoming more active or less active), or if the user's gait has changed (e.g., longer or shorter strides, uneven strides indicative of injury), or if other changes occur. As another example, if the user works out at a regular time, calibration can be performed during the regular workout time. In some embodiments, a regular workout time can be determined, e.g., based on monitoring the user's activity over time (e.g., detecting a pattern such as the user running for 30 minutes on Mondays, Wednesdays, and Saturdays), based on the user's calendar (e.g., the user regularly schedules a workout), and/or any other information about the user's schedule and habits. In some embodiments, the determination whether to calibrate can be based on any data available to secondary pedometer device 504, including data obtained from primary pedometer device 502, and in some embodiments, calibration can be performed whenever the user is engaged in an appropriate activity and primary pedometer device 502 and secondary pedometer device 504 are present and moving together.
In some embodiments, if block 614 results in determining that calibration is not to be performed, secondary pedometer device 504 can still monitor the user's activity using its local sensors at block 608. In other embodiments, secondary pedometer device 504 does not monitor activity if primary pedometer device 502 is present unless a calibration is to be performed. (This can reduce power consumption by secondary pedometer device 502.)
If, at block 614, a calibration is to be performed, then at block 616, secondary pedometer device 504 can send a start calibration signal to primary pedometer device 502. Sending and receiving of this signal can correspond to the begin calibration event at block 510 of process 500 described above. Thereafter, at block 618, calibration operations (e.g., according to process 500) can be performed.
It will be appreciated that process 600 described herein is illustrative and that variations and modifications are possible. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified, combined, added or omitted. Process 600 can be performed at any time. In some embodiments, process 600 can be performed repeatedly while the user is engaged in an activity; thus, calibration can occur at any time during an activity. For example, it may be desirable to calibrate once during a warm-up period when the user is beginning the activity and again at a later point when the user may be exerting a higher level of effort. Or it may be desirable to defer calibrate until after the user has warmed up. Further, although process 600) is described as being performed by a secondary pedometer device, it is to be understood that some or all portions of the process can be performed by a primary pedometer device (i.e., a device that is to be calibrated). As described above, calibration can be performed separately for different activities, and the decision whether to calibrate (e.g., at block 6140) can depend in part on the activity currently being performed.
In some embodiments, two (or more) pedometer devices can dynamically negotiate which will be the primary device (i.e., the device being calibrated) and which will be the secondary device (i.e., a source of calibration data). For instance, in embodiments where only one device has location-sensing (or distance-sensing) technology (e.g., GPS), the device that has location-sensing can be the secondary device to calibrate distance for a primary device that does not have built-in location-sensing technology. As another example, some devices may be more or less accurate than others in their measurements. For instance, a device worn on the user's wrist may be less accurate as to step count than a device worn in the user's pocket or attached to a belt. Accordingly, in some embodiments, selection of the primary device can be based on the device types, with the less reliable device type being the primary device. As another example, each device can be assigned a reliability rating (e.g., by the manufacturer), and the device having lower reliability rating can be the primary device. In some embodiments, the reliability rating can be activity dependent, for example, a wrist-worn device may be less reliable than a hip-worn device for running but more reliable for wheelchair racing. Devices can communicate to determine the device type or reliability rating of another device and compare to their own device type or reliability rating; the more reliable device can act as the secondary pedometer to calibrate the less reliable device.
Process 600 can be transparent to the user. Calibration can occur at any time when the user is performing an activity and both devices are present and able to collect data related to the activity. Consequently, the user need not know whether or when the pedometer devices perform calibration operations. In some cases, the user's lack of awareness can result in a more accurate calibration, as the user may be more likely to perform the activity normally rather than making special efforts to obtain a “good” calibration. When both devices are present and calibration is not in progress, one of the pedometers can enter a reduced-power state. For instance, in embodiments where the secondary pedometer includes a GPS receiver, the receiver can be powered off or operated at lower resolution (which reduces accuracy); distance traveled can be determined by the primary pedometer based on the step count and previously determined calibration parameters. Further, when both devices are present, either of the devices can provide its measurement data to the other, and the device that receives the measurement data can combine the data from both sources to produce a more accurate estimate of the activity (e.g., step count and/or distance).
In embodiments described herein, calibration occurs only when at least two pedometer devices are present and able to collect data related to the user's activity. In some embodiments, one pedometer device can suggest to the user to take another pedometer device along. For instance, if calibration has never been performed or has not been performed recently, primary pedometer device 502 can display a message recommending that the user take secondary pedometer device 504 along the next time the user does the activity. It should be noted that this may make the user aware that calibration is going to occur; however, if the devices determine when to initiate calibration (e.g., based on process 600), the user need not know exactly when the calibration period occurs.
Calibrating distance using a GPS receiver assumes that the user is actually changing location during the activity. This might not be true in all circumstances. For instance, if the user is running on a treadmill (or using other stationary workout equipment), the GPS position will likely stay constant (within errors). Where this occurs, calibration can still be performed as to step count or other parameters related to body movement, but calibration of distance might not be available. In some embodiments, one of the pedometer devices can be capable of communicating with the treadmill (or other workout equipment) to obtain a distance measurement, and this measurement can be used to determine a calibration parameter to convert step count to distance. Where a user works out in different environments at different times (e.g., sometimes by running on a treadmill or and sometimes by running on a road or path), calibration can be performed separately for the different environments.
Workout data, including computed step counts and/or distances, can be presented in real time during the workout by either pedometer device, e.g., on a display or via audio feedback cues. Workout data can also be stored by either pedometer (or both pedometers) for later review. For example, the user can interact with the pedometer's user interface to review a workout, or the user can transfer the workout data from the pedometer to another device (e.g., the user's computer or a cloud storage service) and use other interface devices to review the data. In embodiments where one or both of the pedometer devices include physiological sensors (e.g., as shown in
Embodiments described above make use of two pedometer devices, with one device providing information usable to calibrate the other device. Other embodiments can incorporate data from more than two pedometers. For example,
Each of pedometers 702, 704, 706, 708 can operate independently to gather data (e.g., step count). In some embodiments, one or more of pedometers 702, 704, 706, 708 can have a location sensor (e.g., a GPS receiver) and can determine the user's location at any given time. Any of pedometers 702, 704, 706, 708 can be used to calibrate any other pedometer. For example, each pedometer can have a reliability rating based on the type of sensors used and/or the location on the body where it is likely to be worn). By communicating with each other, pedometers 702, 704, 706, 708 can determine a most-reliable pedometer to provide calibration data to the others. As another example, if one of the pedometers (e.g., pedometer 704) has built-in location-determining capability (e.g., a GPS receiver), that pedometer can be used to determine distance calibration parameters for any or all pedometers that do not have built-in location-determining capability.
In some embodiments, when multiple pedometers are available, data from the various pedometers can be combined to more accurately determine a step count and/or distance and to provide calibration across the devices.
Master device 800 can include a calibration processing module 810 (e.g., a processor executing calibration program code) and a transceiver module (e.g., including an RF antenna and associated circuitry) capable of communicating with external pedometers 802, 806, 808. In addition, master device 800 can include a GPS receiver 812.
In operation, while a user is performing an activity, master device 800 can receive pedometer data from external pedometers 802, 806, 808. For example, wrist pedometer 802 can provide a step count (SW) and a quality parameter (QW). Step count SW can be determined from accelerometer or other motion sensor data, e.g., as described above. Quality parameter QW can include a measure of the “noise” in the detected movement (e.g., how much the detected acceleration deviates from an expected motion pattern of a user's wrist during the activity) or any other parameter indicative of the reliability of the step count SW. Similarly, arm pedometer 806 can provide a step count (SA) and a quality parameter (QA), and foot pedometer 808 can provide a set count (SF) and a quality parameter (QF). Internal pedometer 804 can also provide a step count (SI) and a quality parameter (QI). GPS receiver 812 can provide a distance measurement (dist) or coordinates or other measurements usable to determine a distance traveled.
Calibration processing module 810 can use the data obtained from pedometers 802, 804, 806, 808 and GPS receiver 812 to determine calibration factors for each pedometer. For example, the “correct” step count (S0) can be a weighted average of the step counts SW, SA, SF, and SI, with the weights being assigned based on the quality parameters QW, QA, QF, QI such that more reliable (or less noisy) step counts are given greater weight. A separate step-count calibration factor σW, σA, σF, σI can be determined for each of pedometers 802, 804, 806, 808 based on correcting each pedometer's step count to the correct value S0. A separate distance calibration factor δW, δA, δF, δI can be determined for each of pedometers 802, 804, 806, 808 based on the distance measured by GPS receiver 812 and either the uncorrected or corrected step count for each pedometer. These computations can be similar to computations described above with reference to
Master device 800 can transmit the computed calibration parameters to each pedometer, e.g., transmitting parameters σW and σW to wrist pedometer 802, parameters σA and δA to arm pedometer 806, parameters σF and δF to foot pedometer 808, and parameters σI and δI to internal pedometer 804. Subsequently to calibration, each pedometer device can function independently as a pedometer using the calibration parameters obtained during the calibration.
In some embodiments, calibration can occur in a feedback loop over a number of cycles. In each cycle, each pedometer 802, 804, 806, 808 can use its current calibration parameters to adjust its step count and/or distance and can send the adjusted values to master device 800. Based on discrepancies, master device 800 can modify the calibration parameters so that the various pedometers yield consistent measurements after adjustment using the calibration parameters. The feedback and adjustment cycles can continue until the calibration parameter values stabilize.
It will be appreciated that the system of
The particular calibration algorithms can also be modified. For example, in some embodiments, per-stride calibration (e.g., using Equations (1) and (2) described above) can be performed for any or all of the pedometer devices. For example, instead of just providing a step count, any of pedometers 802, 804, 806, 808 can provide accelerometer data, and master device 800 can compute weights w0-w8 for use in Equation (1) or other per-stride calibration parameters. In addition, calibration can be performed over a number of different calibration paths, and calibration parameters for different paths can be combined, e.g., as a weighted average based on reliability scores of the various calibration (similar to the weighted averaging described above with reference to
In embodiments described herein, each pedometer device can operate independently and can determine step count and/or distance traveled using any calibration parameters it currently has stored. When the user is wearing or carrying two or more pedometer devices while performing an activity, the devices can communicate for purposes of calibration (e.g., as described above), and calibration can improve the reliability of any subsequent measurements made by a pedometer operating in standalone mode. Calibration can occur serendipitously (e.g., whenever the user happens to be wearing multiple pedometers) and transparently to the user. For example, processes similar to process 600 can be used between or among any two or more pedometer devices (including a master device as shown in
While the invention has been described with respect to specific embodiments, one skilled in the art will recognize that numerous modifications are possible. For example, in some embodiments, a primary pedometer (which is being calibrated) can be wrist-worn while a secondary pedometer (which provides data to facilitate calibration of the primary pedometer) can be a mobile device such as a phone that is carried or worn on the user's clothing during a workout. In other embodiments, the roles can be reversed, and a wearable pedometer device can be used to calibrate a pedometer device that is carried. Further, the primary and secondary pedometers can be any two discrete electronic devices that have the ability to measure or otherwise determine activity data such as step count and/or distance traveled.
As noted above, calibration can occur at any time when the user is wearing or carrying two (or more) pedometer devices during an activity. In some embodiments, when the user acquires a new pedometer device, instructions can be provided indicating that for best results, the user should take another pedometer device at least once while doing an activity in order to enable calibration of the new pedometer device.
Embodiments described above may make reference to specific activities such as walking or jogging or running, which are examples of locomotion activities appropriate for pedometry. Those skilled in the art with access to the present disclosure will recognize that similar techniques can be applied to a variety of other locomotion activities, which can include any activity by which users can propel themselves through space or simulate propelling themselves through space using stationary workout equipment. For instance, a user might be roller skating or ice skating, rather than walking, jogging, or running. As another example, the user can be cycling, and pedometers can be worn or carried at a location on the user's body where the rotational motion of pedaling can be detected. In this example, converting rotations to distance can include obtaining information pertaining to the cycle, such as gear ratios and current gear selection, wheel diameter, or the like.
In other examples, users can use their arms to propel themselves in activities such as rowing, swimming, wheelchair racing, or the like. In the case of swimming or other water-based activities, any electronic device carried or worn by the user during the activity can be made waterproof, either by design or by encasing the device in a removable waterproof protector. Where arms are used for propulsion, arm strokes can be treated as steps; the primary pedometer can use motion-sensor data to determine arm strokes as a “step count” and can be calibrated to convert accelerometer data and/or a step count based on arm strokes to distance using techniques similar to those described above. In such activities, a wrist-worn device may be more reliable as to detecting steps than a device worn on the user's hip or foot.
The foregoing description may make reference to specific examples of a wearable device (e.g., a wrist-worn device) and/or a host device (e.g., a mobile phone). It is to be understood that these examples are illustrative and not limiting; other devices can be substituted and can implement similar functional blocks and/or algorithms to perform operations described herein and/or other operations.
Embodiments of the present invention, e.g., in methods, apparatus, computer-readable media and the like, can be realized using any combination of dedicated components and/or programmable processors and/or other programmable devices. The various processes described herein can be implemented on the same processor or different processors in any combination. Where components are described as being configured to perform certain operations, such configuration can be accomplished. e.g., by designing electronic circuits to perform the operation, by programming programmable electronic circuits (such as microprocessors) to perform the operation, or any combination thereof. Further, while the embodiments described above may make reference to specific hardware and software components, those skilled in the art will appreciate that different combinations of hardware and/or software components may also be used and that particular operations described as being implemented in hardware might also be implemented in software or vice versa.
Computer programs incorporating various features of the present invention may be encoded and stored on various computer readable storage media; suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and other non-transitory media. Computer readable media encoded with the program code may be packaged with a compatible electronic device, or the program code may be provided separately from electronic devices (e.g., via Internet download or as a separately packaged computer-readable storage medium).
Thus, although the invention has been described with respect to specific embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2014/032805 | 4/3/2014 | WO | 00 |