US20150081062A1 - Location-Based Athlete Pacing With Biofeedback Systems And Methods - Google Patents
Location-Based Athlete Pacing With Biofeedback Systems And Methods Download PDFInfo
- Publication number
- US20150081062A1 US20150081062A1 US14/488,208 US201414488208A US2015081062A1 US 20150081062 A1 US20150081062 A1 US 20150081062A1 US 201414488208 A US201414488208 A US 201414488208A US 2015081062 A1 US2015081062 A1 US 2015081062A1
- Authority
- US
- United States
- Prior art keywords
- segment
- user
- athlete
- activity
- determining
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/48—Other medical applications
- A61B5/486—Bio-feedback
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
- A63B71/0686—Timers, rhythm indicators or pacing apparatus using electric or electronic means
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/30—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2503/00—Evaluating a particular growth phase or type of persons or animals
- A61B2503/10—Athletes
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/0002—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
- A61B5/0015—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system
- A61B5/0022—Monitoring a patient using a global network, e.g. telephone networks, internet
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/0205—Simultaneously evaluating both cardiovascular conditions and different types of body conditions, e.g. heart and respiratory condition
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/02—Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
- A61B5/024—Detecting, measuring or recording pulse rate or heart rate
- A61B5/02438—Detecting, measuring or recording pulse rate or heart rate with portable devices, e.g. worn by the patient
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1112—Global tracking of patients, e.g. by using GPS
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1118—Determining activity level
Definitions
- athletes may compete against a previous activity record from themselves or others, attain immediate feedback on their performance, learn from others by mimicking their approach to completing an activity, and receive mentoring and coaching based upon recorded activities of others.
- a system and series of methods provide location-based athlete pacing with biofeedback to provide status updates and coaching cues including auditory, visual, haptic, vibrational, and shock.
- the system compares the athlete's current performance to a goal pace profile stemming from one or more other historical or theoretical activity records.
- the system may consist of a display or a series of indicator lamps, and/or audio channel with a speaker placed near the person or in the ear.
- Historical activity records are drawn from the individual athlete's history, or from the records of other athletes.
- Theoretical activity records are calculated either onboard or cloud-based by performing numerical analysis on historical activity records of the individual athlete and/or of other athletes under similar conditions.
- theoretical activity records may be defined by the user specifying a route and entering one or more goals (e.g., pace, heart rate, and cadence) for the route.
- goals e.g., pace, heart rate, and cadence
- the goal pace profile may be one and the same as a theoretical activity record.
- the theoretical activity record is based upon processing of historical activity records but may become the goal pace profile for the user, or may be tweaked by the user to become the goal pace profile.
- the system mentors and/or coaches them based upon the previous work of others. So rather than a competitive athlete trying to beat someone else's result, the same system can help a non-competitive athlete identify a new personal goal by considering what results have been realized by other similar athletes.
- a method provides location-based athlete pacing with biofeedback.
- a goal pace profile defining a performance goal of a user for a route segment is determined.
- a performance of the user is determined within a mobile computing device, and the performance is compared to the goal pace profile to generate real-time status and coaching cues during the performance.
- a software product has instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a digital processor, perform steps for location-based athlete pacing with biofeedback.
- the software product includes instructions for determining a goal pace profile defining a performance goal of a user for a route segment; instructions for determining a performance of the user; instructions for determining a segment time indicative of a period for the route segment; instructions for determining a segment distance indicative of a distance traveled by the user in the route segment; instructions for determining a target time based upon the goal pace profile and the segment distance; and instructions for comparing the target time to the segment time to generate real-time status and coaching cues.
- a system provides location-based athlete pacing with biofeedback.
- the system includes a processor, a location device for determining a location of the system, and a non-transitory memory.
- the non-transitory memory stores machine readable instructions that when executed by the processor perform the steps of: determining a goal pace profile based upon a historical activity record of an athlete, the goal pace profile defining a performance goal of a user of the system; determining a performance of the user based upon the location; and comparing the performance to the goal pace profile to generate real-time status and coaching cues for the user during the performance.
- FIG. 1 shows one exemplary system for location-based athlete pacing with biofeedback, in an embodiment.
- FIGS. 2A and 2B show exemplary social media screen shots illustrating information shared by a sharing interface of the mobile device of FIG. 1 , in an embodiment.
- FIG. 3 is a flowchart illustrating one exemplary method for location-based pacing with biofeedback, in an embodiment.
- FIG. 4 is a map illustrating route segments of an exemplary route taken by a user of the system of FIG. 1 , in an embodiment.
- FIG. 5 shows the pacing engine of FIG. 1 in further exemplary detail, illustrating modules for pacing each selected route segment, in an embodiment.
- FIG. 6 is a flowchart illustrating one exemplary method for segment based pacing with biofeedback, in an embodiment.
- Route A data set that describes the geographic (latitude, longitude, altitude) starting, and ending point, and possibly also waypoints of a given activity, or a set of fitness equipment settings and duration in order to simulate such waypoints.
- a route might describe the path taken to run or walk North across the East sidewalk of the Golden Gate Bridge.
- a route may contain any number of cyclical segments, with potential for each cyclical segment to be travelled for multiple laps.
- a route may also have associated with it a “toughness factor” that describes the impact of the route's terrain on the athlete's ability to traverse it.
- Route Segment A data set that describes the geographic starting, ending, and waypoints of any subset of a route, or a set of fitness equipment settings and duration in order to simulate such waypoints.
- a route segment might describe a portion of the Golden Gate Bridge route above beginning at the middle point of the bridge and extending to the observation point at the North end.
- a route segment may also have associated with it a “toughness factor” that describes the impact of the route's terrain on the athlete's ability to traverse it.
- Route or Route Segment Toughness Factor An indicator that represents the difficulty posed to the athlete in traversing a given route or route segment.
- the toughness factor may be calculated by examining the performance of a population of athletes on the particular route or route segment versus other routes or route segments with similar elevation profiles. The toughness factor quantifies the impact of irregular terrain, obstacles such as brush, etc. on the athlete's ability to traverse.
- Activity Record A data set that describes any of the route position epochs (latitude, longitude, and altitude), conditions (temperature, humidity, barometric pressure, wind speed, precipitation, visibility, etc.), execution, and biofeedback response (pace, cadence, power output, heart rate, breathing rate, fatigue, sweat, blood glucose Heart Rate Variability (HRV), R wave to R wave interval (R-R interval), fitness equipment data, etc.), of a given activity.
- an activity record might describe the epoch-by-epoch progress of a 36 year old, 145 lb. female running North across the East sidewalk of the Golden Gate Bridge on Sep.
- An activity consists of one or more activity types that include but are not limited to the following: running, cycling, walking, hiking, rowing, kayaking, motocross racing, Nordic skiing, downhill skiing, and swimming.
- an activity record may capture lap-to-lap variation of that segment due to athlete body fatigue or possible deterioration of the route.
- An activity may not have any route associated with it, for example playing field or rink sports, aerobic or anaerobic training, fitness dance, etc.
- Activity Record Segment A data set that describes any of the route position epochs, conditions, execution, and biofeedback response of a route segment, or a contiguous portion of an activity record having no associated route.
- an activity record segment might describe a portion of the Golden Gate Bridge activity record (above) beginning at the middle point of the bridge and extending to the observation point at the North end.
- Activity Quotient A number that represents the overall capability level of an athlete, determined empirically by examining the performance of the athlete across a significant number of routes or route segments versus other athletes on those same routes or route segments.
- Pace Profile A function or data set that describes the realized athlete's pace over time and/or distance for a given route or segment thereof.
- Goal Pace Profile A function or data set that describes the athlete's desired pace over time and/or distance for a given route or segment thereof.
- Lap Profile A discrete function or data set that describes the athlete's realized pace of each lap across all laps traversed for a route.
- FIG. 1 shows one exemplary system 100 for location-based athlete pacing with biofeedback.
- System 100 includes a mobile device 102 that has a non-transitory memory 104 and a processor 106 .
- Mobile device 102 is for example one of a smart phone, a multimedia device, a smart watch, or any other similar mobile computing device.
- mobile device 102 is a device dedicated to operation within system 100 .
- mobile device 102 is a self-contained computing device that may be carried by a person or attached to a vehicle operated by a person.
- mobile device 102 includes other functionality for use by external to system 100 .
- mobile device 102 is a smart phone carried or worn by a person.
- Memory 104 is shown storing software 108 that comprises machine-readable instructions that when executed by processor 106 control mobile device 102 to provide functionality described herein.
- Software 108 includes a credibility auditor 110 , a pacing engine 112 , a monitoring engine 114 , a goal selection interface 116 , an activity record generator 118 , an activity manager 120 , a user interface 122 , and a sharing interface 124 .
- Memory 104 also stores an activity record database 130 that includes at least one activity record 132 .
- Mobile device 102 also includes a locator 140 that operates to determine a location and/or position of mobile device 102 .
- Location device 140 determines accurate instantaneous position of itself, based upon steady or intermittent measurements from one or more of a Global Positioning System (GPS), cellular beacon identifiers, cellular beacon signal strength, GPS pseudolites, WiFi received signal strength indication (RSSI), any wireless network of surveyed nodes, pool turnaround, radio-frequency identification (RFID) sensors (e.g. ChampionChip), stride or wheel rotation sensors, altimeter, compass, or any combination of one or more of the above approaches.
- GPS Global Positioning System
- RSSI WiFi received signal strength indication
- RFID radio-frequency identification
- locator 140 is external to mobile device 102 and sends location information to mobile device 102 via wireless interface 150 .
- locator 140 may represent a body-worn GPS pod.
- Mobile device 102 also includes a wireless interface 150 that communicates with one or more of an interface device 160 (e.g., a control, notification and cueing human interface device such as the Sportiiiis by 4iiii Innovations Inc.).
- Wireless interface 150 may implement one or more of Bluetooth, Ant+, NFC, and other wireless protocols that enable communication between mobile device 102 and interface device 160 and optionally with one or more biofeedback sensors 170 .
- Interface device 160 may represent one or both of: a heads-up display and a wrist watch.
- Interface device 160 may be integral with mobile device 102 and include a display, an audio system (headphones/speaker/Bluetooth audio/Airplay), and vibrator.
- mobile device 102 and interface device 160 are configured as one of a wrist watch and a heads-up display.
- Device 102 may also communicate with other devices, such as BLE/Bluetooth headset to provide audio indications.
- interface device 160 is implemented within a bike computer and/or a rowing cox display.
- Biofeedback sensors 170 may include discrete and/or integrated sensors that provide biofeedback monitoring including but not limited to pace, cadence, power output, heart rate, breathing rate, fatigue, sweat, blood glucose, etc.
- biofeedback sensors 170 may represent bridging devices such as the Viiiiva dual heart rate monitor from 4iiii Innovations Inc. that operates to bridge sensor data across multiple communication protocols.
- Activity manager 120 when executed by processor 106 , operates to manage access to activity record database 130 , storing activity records for an athlete (i.e., a user of mobile device 102 ) or of other people or organizations.
- activity record database 130 may store activity records 132 from friends, club or group members, and celebrities.
- Activity manager 120 allows the user to select activity record 132 from external sources (e.g., via wireless interface 150 and/or a wired interface such as USB—not shown) and store activity record 132 within activity record database 130 for use within mobile device 102 .
- activity manager 120 allows activity record 132 to be selected and downloaded from an activity record database 184 of a server 182 located within the cloud 180 .
- Activity manager 120 may for example allow the user to search for activity records 132 based upon one or more of a particular route segment, a particular athlete, a friend, and so on.
- Activity manager 120 may also calculate, maintain, and publish (e.g., in cooperation with sharing interface 124 ) within activity record database 130 , athlete activity quotient 135 that is a number representing an overall capability level of the user of mobile device 102 or of some other athlete.
- server 182 calculates, maintains, and publishes activity quotients for athletes who are not users of mobile device 102 .
- Activity quotient 135 may be calculated in other modules without departing from the scope hereof.
- Activity manager 120 determines or adjusts activity quotient 135 empirically by examining the performance of the athlete across a significant number of routes or route segments in comparison to other athletes performing, or who have performed, on those same routes and/or route segments, and may publish activity quotient 135 to one or more databases (e.g., database 184 ).
- Activity manager 120 may also calculate and maintain, within activity record database 130 , a route toughness factor that is a number representing an overall difficulty level of a given route or route segment.
- the route toughness factor may be calculated in other modules without departing from the scope hereof.
- Activity manager 120 determines or adjusts toughness factor empirically by examining the performance of a significant number of athletes on the route or route segment in comparison those same athletes' performances on different routes and/or route segments, and may publish toughness factor to one or more databases (e.g., database 184 ).
- activity manager 120 is queried by the user for competitors on a given route segment, whereupon activity manager 120 takes the following actions: (a) searches for activity records of different database formats (e.g. FIT, GPS, TCX, etc.) to locate relevant records, and (b) isolates the activity record segments of interest by discarding unwanted portions of the activity record.
- a first athlete records a FIT file of activity while running across the Golden Gate Bridge, starting from the Presidio, making his way up to the South end of the bridge and then across to the North end.
- a second athlete records a TCX format record of a run starting at the South end of the Golden Gate bridge and running across the bridge into the town of Sausalito.
- Each of the segments from the first, and second athletes, respectively, may be stored within activity record database 184 .
- a third athlete may operate activity manager 120 to select an activity record of only a segment on the Golden Gate bridge, wherein activity manager 120 truncates the pre- and post-segment activities from each of the FIT file and the TCX format (from the first and second athletes) record to create at least one activity record that contains only the portion recorded while on the Golden Gate bridge.
- Credibility auditor 110 assigns a credibility score to each activity record 132 stored within activity record database 130 by evaluating the activity record against a number of credibility criteria.
- Exemplary credibility criteria that increase the score include: the current route has a high percentage agreement of the position epochs to the published records, there is correlating heart rate data included, there is power meter data included, there are additional biometric measurements included (e.g. sweat, breathing rate, hydration, blood glucose, etc.), the activity record was encrypted by a known trusted source (list of trusted sources would need to be maintained), and the accuracy circle of the location data is small (e.g. within the race line for some minimum percentage of the segment).
- Exemplary credibility criteria that decrease the score include: there is evidence that the file has been edited or there is data missing, there is evidence that the file has been changed after the data was posted, and the accuracy circle of the location data is large. For example, a person who attached a speed sensor to their motorbike and then rode across the Golden Gate Bridge in record time would have an impressive pace, but low credibility. An athlete who was able to match the pace of the clever motorcyclist and also show bike power measurements and heart rate fluctuations that matched the physical exertion of the body would have a much higher credibility score.
- Goal selection interface 116 allows a user of mobile device 102 to select a route segment and one or more goals for an activity.
- goal selection interface 116 allows the user to define a segment by drawing a series of curves on a map, possibly with automatic “snap to grid” like functionality to coerce the curves to align with a known street, sidewalk, pathway, trail, etc.
- Goal selection interface 116 also allows the user to choose from a list of existing segments from published records within a certain geographic region of interest. The interface allows the user to specify goals using any number of different methods, including referring to a number of published records from other athletes, private or published records from the same athlete, or any method of producing a theoretical activity record for comparison using methods outlined below.
- Activity manager 120 includes an activity record search engine that searches among multiple data sources for historical activity records matching one or more specified criteria including but not limited to: activity quotient 135 , activity type, geographic location, elevation changes, minimum credibility score, refereed or sanctioned event (e.g. Banff Triathlon), day of the year, time of day, age of athlete, weight of athlete, sex of athlete, club or group affiliation (specific club membership, league division, school/grade, etc.), average heart rate, average pace, average cadence, ambient temperature, body mass index (BMI), average activity frequency, activity duration, activity intensity, distance traveled, and heart rate variability (HRV).
- activity quotient 135 e.g. Banff Triathlon
- day of the year time of day
- age of athlete e.g., weight of athlete, sex of athlete
- club or group affiliation e.g., sport or sport, etc.
- average heart rate e.g., average pace, average cadence, ambient temperature, body mass index (BMI), average activity frequency, activity
- activity manager 120 suggests search criteria to the user to help identify suitable mentors.
- Activity record generator 118 cooperates with activity manager 120 to agglomerate and correlate historical activity records that meet certain criteria, and produce a goal pace profile 138 usable for comparison/pacing within mobile device 102 .
- activity record generator 118 and activity manager 120 are combined as a single module.
- Activity record generator 118 may employ any number of data processing methods to produce goal pace profile 138 . An example of this would be to take the activity records that came as a result of a query and build a pace goal by averaging the pace of query results. Activity record processing methods are described in further detail below.
- Pacing engine 112 operates to monitor the user's position/performance in real-time and compares that performance to goal pace profile 138 to generate status and coaching cues 136 . Pacing engine 112 may also compare the user's performance against partial activity records, to produce status and coaching cues 136 . For example if the athlete is competing against the performance of his previous run of the same segment, pacing engine 112 compares his position versus time into the activity against the previous activity record to determine if the athlete is ahead of or behind his or her previous performance. Pacing engine 112 may also examine current exertion levels within the context of the route, to check for sustainability issues.
- pacing engine 112 identifies the potential issue by looking at exertion data (pace, elevation, grade, wind speed) from recent historical activity records versus heart rate, HRV, and other biofeedback to determine if continuing the current level of exertion on the route is likely to be sustainable across the entire route, and generates status and coaching cues 136 to indicate that effort should be reduced.
- exertion data pace, elevation, grade, wind speed
- User interface 122 operates to provide information within status and coaching cues 136 to the user.
- user interface 122 communicates with interface device 160 via wireless interface 150 .
- user interface 122 uses an interface (e.g., touch screen) built into mobile device 102 , where for example mobile device 102 is a smart phone.
- Information within status and coaching cues 136 includes biofeedback, audio, visual, and other, as for example generated by pacing engine 112 during operation of mobile device 102 .
- Interface device 160 may comprise one or more indicator lamps or other display elements, and/or one or more audio channels, and/or other biofeedback components that are responsive to control by user interface 122 .
- Interface device 160 may represent one of a wrist watch display, a bicycle computer, and a heads-up/heads-down display.
- Information within status and coaching cues 136 for presentation to the user via user interface device 160 may include: approaching segment start/end (e.g., “Approaching segment start in 30 seconds”), segment start (e.g., “Segment started”), segment end (e.g., “Segment completed.
- segment progress elapsed time & distance (e.g., “You are two thirds of the way through the segment”), instantaneous & average heart rate, cadence, pace, and/or other biometrics, segment time remaining (e.g., “45 seconds remain in the segment”), leaderboard status: “You are eight seconds ahead of the current third place finisher, and four seconds behind the current second place finisher”), off-route (e.g., “You have strayed from the segment route”), and unsustainable exertion (e.g., “Your pace may be too high to maintain throughout the segment”).
- elapsed time & distance e.g., “You are two thirds of the way through the segment”
- instantaneous & average heart rate e.g., “45 seconds remain in the segment”
- leaderboard status e.g., “You are eight seconds ahead of the current third place finisher, and four seconds behind the current second place finisher”
- off-route e.g., “You have stra
- Interface device 160 may also allow input from the user to user interface 122 , via wireless interface 150 , thereby allowing the user to control operation of mobile device 102 for example to start, stop, and/or pause the current activity.
- interface device 160 may include one or more of capacitive touch button, a tactile button, a touch screen, and a tap detector (e.g., an accelerometer).
- user interface 122 communicates with an application running on a separate mobile computation platform to display and receive control information via wireless interface 150 .
- interface device 160 is part of mobile device 102 , such as when mobile device 102 is a smart phone or similar device.
- Monitoring engine 114 operates in conjunction with biofeedback sensors 170 to monitor user biofeedback metrics such as one or more of speed, heart rate, fatigue, sweat, hydration, blood glucose, breathing rate, body temperature, as well as external conditions such as one or both of ambient temperature, and humidity. Monitoring engine 114 generates warnings (e.g., stored within status and coaching cues 136 ) for indicating apparent health or safety risks to the user based upon the length and difficulty of the selected route for example.
- warnings e.g., stored within status and coaching cues 136
- monitoring engine 114 may indicate one or more of: safety risk from excessive speed on a downhill grade, health risk from other factors such as elevated or erratic heart rate, extreme high/low body temperature, inadequate hydration level, and erratic or extreme breathing rate, and lack of movement (e.g., if the user has fallen or not moved for some prescribed time). Monitoring engine 114 may additionally cooperate with pacing engine 112 to generate pacing cues as discussed above.
- Sharing interface 124 operates to publish one or more of recorded activity records 132 , activity quotient 135 , status updates, notes, challenges, photos, and friend lists to one or more of social media 190 , blogs, circles, forums, text messages, e-mail messages, and so on. Thus, sharing interface 124 shares information on the user's participation and progress during an event, and may also invite others to join. In one example of operation, sharing interface 124 publishes changes to activity quotient 135 to social media 190 and/or a server 182 .
- sharing interface 124 may post activity record 132 , a record of the user's activity, and/or activity quotient 135 , to server 182 located within cloud 180 for example, such that the user's information may be automatically and immediately updated on a published leaderboard. For example, an athlete might use this to notify their friends via social media of how they are doing in running a marathon, so their friends may cheer them on. Sharing interface 124 may then receive information from the social media such as a comment from a friend of the user and automatically relay this information in real-time to the user while the user is performing the activity.
- Notification data includes: social media login credentials, an activity record database identifier and route segment identifier, the athlete's current position, real-time or average metrics, time of day, day of year, measured conditions, personal comments, photos, audio clips, motion video content, etc.
- Sharing interface 124 may also cooperate with activity manager 120 to search one or more of the athlete's social networks to identify members of the social network that also have completed one or more segments similar to the athlete. If any are found, the athlete can send a notification (public of private) to share their result on the segment.
- sharing interface 124 may share this and other information of the user with first responders 192 via wireless interface 150 . In one example of operation, sharing interface 124 notifies first responders 192 of an emergency situation detected by monitoring engine 114 .
- activity record generator 118 implements a method for generating goal pace profile 138 based upon a plurality of activity records 132 returned by activity manager 120 as a result of a search based upon a particular route segment for example.
- Activity record generator 118 generates an epoch-by-epoch goal pace profile within goal pace profile 138 by averaging, for each segment, information of each returned activity record.
- goal pace profile 138 contains an epoch-by-epoch average of the measured pace across all search results, interpolated where helpful, and normalized by dividing by the calculated average overall pace across all results. This normalized pace profile may then be used to build a goal pace profile by multiplying the normalized epoch-by-epoch goal pace by the overall goal pace.
- activity record generator 118 implements a method for generating goal pace profile 138 by identifying the waypoints of each segment and then determining a goal pace for each portion of the segment from one waypoint to the next.
- activity record generator 118 implements a method for producing a lap-by-lap goal pace profile by examining the actual pace profiles from a query of historical activity records 132 returned by activity manager 120 for the selected route. For every matching activity record showing multiple laps of the same path loop, activity record generator 118 generates a lap-by-lap average of the measured pace across all returned results, then normalizes by dividing by the calculated average overall pace across all results.
- This normalized lap-by-lap pace profile may be used to build goal pace profile 138 by multiplying the normalized lap-by-lap goal pace by the overall goal pace.
- This lap profiling helps account for various ways a multiple lap route can elicit different performance levels from the competing athlete over the numerous laps due to body fatigue, route deterioration, or the final-lap sprint for example.
- activity record generator 118 implements a method for generating goal pace profile 138 by averaging returned best historical activity records of all members of a group (e.g., a club) for the same route.
- Goal pace profile 138 from an average of a defined group or club of athletes may additionally be altered such that the goal pace profile is better or worse than the average.
- activity record generator 118 implements a method for producing goal pace profile 138 by searching for historical activity records 132 of athletes similar to the user in terms of certain search criteria such as one or more of activity quotient 135 , sex, age, weight, body mass index (BMI), HRV, and activity intensity/duration/frequency, for the same route, and then generating goal pace profile 138 based upon the pace profiles and average pace of search results.
- search criteria such as one or more of activity quotient 135 , sex, age, weight, body mass index (BMI), HRV, and activity intensity/duration/frequency
- activity record generator 118 implements a method for generating goal pace profile 138 by searching for recent partial historical activity records from the same athlete on different routes, piecewise-matching elevation changes in the segments of the route, determining anticipated biofeedback responses using filtering techniques, and then summing the response data from the various matched or transformed pieces and adjusting by the toughness factors for the route segments.
- the resulting goal pace profile 138 estimates impact of the route on the pace and/or other biofeedback metric of the user.
- activity record generator 118 implements a method for generating goal pace profile 138 by searching for recent partial historical activity records from athletes similar to the user in terms of certain search criteria (e.g. activity quotient 135 , sex, age, weight, BMI, HRV, activity frequency) on different routes.
- Activity record generator 118 then piecewise-matches elevation changes in the segments of the route and estimates the anticipated biofeedback responses using filtering techniques and then sums the matched segments or transformed pieces and adjusting by the toughness factors for the route segments.
- the toughness factor for each segment and/or route is based upon the relative performance of a plurality of athletes that have traversed that segment and/or route.
- the resulting goal pace profile 138 includes an expected impact of the route on pace and/or other biofeedback of the user.
- the toughness factor, or an adjustment thereto, for each segment and/or route may be published to one or more servers (e.g., server 182 ) and/or databases (e.g., database 184 ).
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records from the same athlete on the same route.
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records provided by another person from the same route.
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records (e.g., activity records 132 ) by another person from the same route, through performing a search of published activity records using any number of criteria as described above.
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records (e.g., activity records 132 ) by a random person from the same route, without disclosing any details of the random person chosen.
- activity records 132 e.g., activity records 132
- the pacer might possibly share with the user some details of the person chosen, like a celebrity. The random nature of the pacer allows for a more fun and playful interaction with system 100 .
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon the historical activity record (e.g., activity record 132 ) of the currently published records for that same route based on a real-time search of a given set of activity record databases based on the athlete's current location.
- pacing engine 112 generates audible and/or visual indicators of relative position of a king of the mountain (KOM) ghost pacer (e.g., ahead or behind audibly announced in seconds and visually displayed using pace LEDs of interface device 160 and optionally color).
- KOM mountain
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon real-time sharing and updates to the partial activity records of other group members following the same route at about the same time (allowing for staggered start times) based on real-time sharing and updates to the partial activity records of the group members.
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon the historical activity record of the currently published leader for a given lap of that same route based on a real-time search of a given set of activity record databases based on the athlete's chosen route.
- pacing engine 112 compares the current lap against the same lap of a historical activity record, or compares against a previous lap of the current activity record.
- pacing engine 112 and/or monitoring engine 114 generates status and coaching cues 136 based upon an expected theoretical activity record for a given athlete on a given route, based upon a filtered or predicted activity record file of similar athletes' prior activities (similar or slightly better activity quotient 135 ) on similar terrain (e.g., similar toughness factor).
- activity record generator 118 generates theoretical activity record 134 based upon flat and/or average time from activity records 132 returned by a search then and adjusts (e.g., extrapolates) these times based upon one or more of a detected gradient at during the actual activity, the time into the current activity, length of the current hill, and so on to generate goal pace profile 138 .
- activity record generator 118 generates goal pace profile 138 by extrapolating from recorded similar activity of the user, and from other activities from other athletes.
- pacing engine 112 compares the current activity of the user to one or more activity records 132 of others. In another embodiment, pacing engine 112 compares the current activity of the user to activity records 132 received in real-time from server 182 . In another embodiment, pacing engine 112 compares the current activity of the user to activity records 132 received in real-time from multiple servers.
- pacing engine 112 automatically (e.g., periodically and without prompting from the user) identifies a challenge (e.g., a hill) within a current proximity of the user and automatically generates (e.g., by searching for similar activities within other activity records 132 ) goal pace profile 138 based upon that activity such that the user receives status and coaching cues. For example, if the user runs a route that includes three published segments, system 100 presents each segment to the athlete in real-time as the user nears the start point. The user may choose to compete or be coached from each of those three segments, and/or post his/her activity record for each segment upon completion. In this example, the user may not have planned to run any published segments, but changed their route in response to prompting from the system in order to include three published segments.
- a challenge e.g., a hill
- goal pace profile 138 e.g., by searching for similar activities within other activity records 132
- goal pace profile 138 e.g., by searching for similar activities
- pacing engine 112 compares the current activity of the user to one or more activity records 132 representative of a repeating track, or specified track.
- System 100 allows the user to race against anybody that has one or more activity records 132 stored within activity record database 130 and/or activity record database 184 .
- activity record database 184 stores activity records 132 recorded by members of a club
- the user may select and load one or more of these activity records into activity record database 130 within mobile device 102 such that pacing engine 112 may compare the user activity against these recorded activities.
- the user may interact with interface device 160 to generate goal pace profile 138 containing a challenge, and then share (e.g., using sharing interface 124 ) that challenge with other people (such as people that the user is currently running or cycling with).
- FIGS. 2A and 2B show exemplary social media screen shots 200 , 250 illustrating information shared by sharing interface 124 of mobile device 102 of FIG. 1 .
- sharing interface 124 sends one or more of social media login credentials, an activity record database identifier (e.g., “Strava”, “MapMyRun”), a segment identifier for indexing within activity record database 184 , a current position of the user, current real-time and/or averaged biofeedback metrics, current goal pace and/or current rank and/or relative position against chosen pacers, time of day, day of year, any data on measured conditions such as ambient temperature, and personal comments, photographs, audio clips, motion video content, etc., provided by the user.
- Screen shot 200 is displayed from information received from sharing interface 124 when a segment is completed.
- Screen shot 250 is displayed from information received from sharing interface 124 while a segment is in-progress, illustrating a current position 252 of the user.
- FIG. 3 is a flowchart illustrating one exemplary method 300 for location-based pacing with biofeedback.
- Method 300 is for example implemented within one or more of activity record generator 118 , activity manager 120 , user interface 122 , pacing engine 112 , and goal selection interface 116 of mobile device 102 , FIG. 1 .
- step 302 method 300 determines a goal pace profile based upon historical activity records of one or more athletes and/or a theoretical activity record, the goal pace profile defining a goal of a user.
- activity manager 120 searches for one or more activity records 132 corresponding to one or more athletes and activity record generator 118 generates goal pace profile 138 based upon the one or more activity records 132 and/or theoretical activity record 134 .
- step 304 method 300 determines a current activity of the user.
- locator 140 and one or more biofeedback sensors 170 determine a current activity of a user of mobile device 102 .
- step 306 method 300 compares the current activity to the goal pace profile to generate status and coaching cues.
- pacing engine 114 compares activity of the user of mobile device 102 to goal pace profile 138 and generates status and coaching cues 136 .
- step 308 method 300 sends the status and coaching cues to a notification and cueing human interface device that is visible to the user.
- user interface 122 sends status and coaching cues 136 to interface device 160 via wireless interface 150 .
- Steps 310 through 314 are optional. If included, in step 310 , method 300 publishes the status. In one example of step 310 , sharing interface 124 publishes the status of step 306 to social media 190 . If included, in step 312 , method 300 receives a response to the publication of step 310 . In one example of step 312 , sharing interface 124 receives “likes” and/or comments from social media 190 . If included, in step 314 , method 300 indicates the responses to the user. In one example of step 314 , sharing interface 124 cooperates with user interface 122 to indicate the “likes” and/or comments with the user of mobile device 102 .
- Steps 304 through 314 repeat, as indicated by dashed outline 320 , to provide status, coaching cues, and optional encouragement, to the user of mobile device 102 until the activity is stopped.
- step 316 method 300 posts the completed activity record to the server.
- activity manager 120 posts activity record 132 to activity record database 184 of server 182 .
- Steps 302 through 316 may repeat for additional segments. Steps of method 300 may be reordered without departing from the scope hereof.
- FIG. 4 is a map 400 illustrating route segments 402 of an exemplary route 401 to be taken by a user of system 100 of FIG. 1 .
- Route 401 has three route segments 402 ( 1 )-( 3 ), but may have more or fewer without departing from the scope hereof.
- segment 402 ( 1 ) starts at a location 404 (A) and ends at a location 404 (B);
- segment 402 ( 2 ) starts at location 404 (B) and ends at a location 404 (C);
- segment 402 ( 3 ) starts at location 404 (C) and ends a location 404 (A).
- segments 402 are contiguous and completely cover route 401 , route segments 402 may form only part of a route 401 and need not be contiguous. That is, each segment 402 may be individually selected to be a part of route 401 and may or may not adjoin and/or overlap with other route segments.
- Each segment 402 may also have an associated start direction 406 that indicates an expected movement direction of device 102 when starting that segment. In the example of FIG. 4 , movement directions are indicated by arrows, wherein segment 402 ( 1 ) has a direction 406 ( 1 ), segment 402 ( 2 ) has a direction 406 ( 2 ), and segment 402 ( 3 ) has a direction 406 ( 3 ).
- FIG. 5 shows pacing engine 112 of FIG. 1 in further exemplary detail, illustrating modules for pacing each selected route segment.
- Pacing engine 112 is shown with a segment start detector 502 , a segment distance tracker 504 , a relative position calculator 506 , a segment end detector 508 , and optionally a segment path tracker 510 .
- Segment start detector 502 operates to detect when device 102 passes through a segment starting point (e.g., location 404 (A) for segment 402 ( 1 )). In one example of operation, segment start detector 502 first locates a nearest segment starting location within goal pace profile 138 , and then determined when device 102 passes through the segment starting location.
- Segment start detector 502 may be configured with a configurable trigger zone area that defines an area proximate the segment start location within which device 102 is considered at the start of the segment.
- the trigger zone area is defined as a circle having a radius of 100 yards and centered at the coordinates provided for the segment start location.
- the trigger zone area is defined as a rectangle of 15 yards by 30 yards, centered at the coordinates provided for the segment start location, and orthogonally aligned with start direction 406 . Other sizes, shapes, and orientations may be used without departing from the scope hereof.
- a user defines the trigger zone interactively when defining segment 402 using a map, wherein the trigger zone is indicated on that map.
- Segment start detector 502 may also determine a direction of movement of device 102 (e.g., calculated from latitude and longitude values of last two coordinates determined for device 102 ) and compare that determined direction to start direction 406 for segment 402 , wherein segment start detector 502 may generate a notification to the user if device 102 is heading in a wrong direction. In one embodiment, segment start detector 502 does not detect a start of segment unless the user is within the trigger zone area and with a heading corresponding to start direction 406 . Once a segment start is detected, segment start detector 502 resets a segment time 552 that is incremented in real-time to provide an indication of time into the segment.
- Segment distance tracker 504 determines a segment distance 554 as the distance travelled by device 102 since segment start was indicated by segment start detector 502 .
- Segment distance 554 is an accumulated distance determined from coordinates periodically obtained by locator 140 as device 102 travels along segment 402 .
- relative position calculator 506 determines a target time 558 of the “ghost pacer” to reach segment distance 554 based upon activity records 132 and/or goal pace profile 138 .
- Pacing engine 112 may then indicate (e.g., visually and/or audibly) the time difference between the user of device 102 and the ghost pacer, such as “three seconds behind” for example.
- relative position calculator 506 determines a target distance 556 within segment 402 based upon goal pace profile 138 and a segment time 552 . For example, where goal pace profile 138 is based upon one or more activity records 132 , relative position calculator 506 uses activity records 132 and segment time 552 to calculate target distance 556 representing a distance travelled into segment 402 by the “ghost pacer” corresponding to goal pace profile 138 . Calculator 506 then compares segment distance 554 to target distance 556 to determine a relative distance between the user of device 102 and the athlete associated with goal pace profile 138 . Pacing engine 112 may then indicate (e.g., visually and/or audibly) the relative distance to the user of device 102 .
- Segment end detector 508 operates to detect when a current segment 402 is completed. In one embodiment, detector 508 determines the end of the current segment when segment distance 554 is equal to and/or greater than a defined distance of segment 402 . In an alternative embodiment, detector 508 determines the end of the current segment when a current location of device 102 is within an end zone of segment 402 .
- pacing engine 112 includes optional segment path tracker 510 that determines a minimum distance between device 102 and an indicated path/track within goal pace profile 138 and/or activity records 132 .
- activity records 132 include information (e.g., coordinates and/or vectors) that defines a path/track of segment 402 .
- Tracker 510 then periodically determines a distance between device 102 and the defined path/track. Tracker 510 may generate a warning when device 102 is further than a threshold distance from the path/track of the current segment 402 . Tracker 510 may also cancel a current segment when the user diverges by more than a certain distance from the path/track of the segment. Where segments 402 overlap, device 102 may track multiple segments simultaneously.
- pacing engine 112 cancels a current segment automatically when deviation from the path of the current segment is greater than a threshold amount. Pacing engine 112 may then start looking for a subsequent segment start (e.g., using segment start detector 502 ) and may include a “de-bounce” function that prevents the same segment from automatically restarting.
- a user configures mobile device 102 to provide biometric feedback for segment 402 ( 1 ).
- Activity manager 120 automatically selects and downloads a corresponding activity record 132 from activity record database 184 , as described above.
- Pacing engine 112 detects a start of the segment (e.g., using segment start detector 502 , as described above), and provides, during the segment, feedback to the user of performance relative to a selected ghost pacer.
- pacing engine 112 provides performance feedback in the form of percentage of the segment that is complete. Thus the user receives feedback on determined progress through the segment.
- pacing engine 112 generates audio output to indicate one or more of: approaching start, relative position (e.g., ahead/behind), percentage completed milestones updates when in a segment, encouragement (e.g., “Go! Go! Go!”) when certain percentages of the segment remain (e.g., five percent of distance remaining in the segment), and when the segment completed.
- pacing engine 112 indicates one or more of heart-rate, speed, and temperature.
- pacing engine 112 and/or monitoring engine 114 operates to (a) check the user's speed, and when a certain speed has been exceeded for a certain amount of time, and (b) generate an alert to indicate to the user that certain safety conditions have been exceeded. For example, when one or more of heart-rate, breathing rate, and speed is too high, pacing engine 112 and/or monitoring engine 114 generate an audible signal indicating the user exertion levels are too high.
- a GPS receiver may be used to measure speed when the GPS signal accuracy is sufficiently high.
- monitoring engine 114 and/or pacing engine 112 may use other means (e.g., one or more of a foot-pod, a bike speed/cadence sensor, and so on, to determine when the user is operating outside of safe conditions.
- other means e.g., one or more of a foot-pod, a bike speed/cadence sensor, and so on, to determine when the user is operating outside of safe conditions.
- pacing engine 112 may also provide visual updates to displayed maps to indicate KOM ghost pacer for the current segment. For example, pacing engine 112 may display ahead/behind polylines of the user and a partner, as well as visual and/or audio indications of the KOM ghost pacer (such as ahead/behind in seconds and/or color displays). Pacing engine 112 may also display live statistics of monitored activity, with expandable large views for selected statistics to facilitate easier viewing by the user during activity.
- Device 102 may also provide a demo/debug test mode that allows the user to rewind and/or play back activity records 132 and/or .fit file activity to simulate a live activity. For example, device 102 may generate output to control interface device 160 (e.g., audio and/or visual feedback devices), and provide live map and live statistics to simulate activity in real time. Device 102 may also allow play back of activity at increased (e.g., ten-times and one-hundred-times) speed to allow the user to ‘jump’ to specific locations of the stored activity.
- control interface device 160 e.g., audio and/or visual feedback devices
- Device 102 may also allow play back of activity at increased (e.g., ten-times and one-hundred-times) speed to allow the user to ‘jump’ to specific locations of the stored activity.
- FIG. 6 is a flowchart illustrating one exemplary method 600 for segment based pacing with biofeedback.
- Method 600 is for example implemented within pacing engine 112 of device 102 .
- step 602 method 600 receives a segment selection.
- a user interacts with device 102 to select segment 402 ( 1 ).
- step 604 method 600 detects a start of segment.
- segment start detector 502 determines that device 102 is located within a start zone area of segment 402 ( 1 ) and heading in a direction corresponding to direction 406 ( 1 ), and therefore indicates start of segment 402 ( 1 ).
- step 606 method 600 resets the segment time and distance.
- segment start detector 502 sets segment time 552 and segment distance 554 to zero.
- step 608 method 600 accumulates distance into segment.
- segment distance tracker 504 determines distance moved by device 102 based upon periodically determined coordinates from locator 140 and updates segment distance 554 .
- method 600 calculates position relative to goal pacer.
- relative position calculator 506 determines target time 558 of the “ghost pacer” to reach segment distance 554 based upon activity records 132 and/or goal pace profile 138 .
- method 600 indicates the relative position to the user.
- pacing engine 112 sends audible signals to the user of device 102 to indicate that they are two seconds behind the ghost pacer for segment 402 ( 1 ).
- Steps 614 and 616 are optional. If included, in step 614 , method 600 determines encouragement indications. In one example of step 614 , pacing engine 112 determines, based upon segment distance 554 as a portion of total distance of segment 402 ( 1 ), “Go! Go! Go!” for the encouragement indication. In step 616 , method 600 provides encouragement to the user. In one example of step 616 , pacing engine 112 sends “Go! Go! Go!” to an audio interface device 160 .
- Step 618 is a decision. If, in step 618 , method 600 determines that the end of the segment is reached, method 600 continues with step 620 ; otherwise method 600 continues with step 608 . Steps 608 through 618 repeat until the end of the segment is reached. In one example of step 618 , segment end detector 508 detects when the end of the segment is reached and method 600 continues with step 620 .
- step 620 method 600 indicates the end of the segment.
- pacing engine 112 generates and sends an audio message saying “Great job! Segment complete!” to the user of device 102 .
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Biophysics (AREA)
- Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Physical Education & Sports Medicine (AREA)
- Biodiversity & Conservation Biology (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Physics & Mathematics (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- Veterinary Medicine (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
Systems and methods provide location-based athlete pacing with biofeedback. A goal pace profile based upon historical activity records of one or more athletes is determined. The goal pace profile defines a goal of a user. A mobile computing device determines a current activity of the user and compares the current activity to the goal pace profile to generate real-time status and coaching cues during the current activity.
Description
- This Application claims priority to U.S. Patent Application Ser. No. 61/878,542, filed Sep. 16, 2013, and is incorporated herein by reference.
- Some athletes love to compete, and all athletes improve through timely coaching on their performance and/or by being able to learn from and mimic the techniques of others. Competition events traditionally take place on a pre-surveyed track or route with fixed or staggered start times.
- With the availability of cost-effective networking, data storage, and positioning technology, athletes may compete against a previous activity record from themselves or others, attain immediate feedback on their performance, learn from others by mimicking their approach to completing an activity, and receive mentoring and coaching based upon recorded activities of others.
- A system and series of methods provide location-based athlete pacing with biofeedback to provide status updates and coaching cues including auditory, visual, haptic, vibrational, and shock. The system compares the athlete's current performance to a goal pace profile stemming from one or more other historical or theoretical activity records. For example the system may consist of a display or a series of indicator lamps, and/or audio channel with a speaker placed near the person or in the ear. Historical activity records are drawn from the individual athlete's history, or from the records of other athletes. Theoretical activity records are calculated either onboard or cloud-based by performing numerical analysis on historical activity records of the individual athlete and/or of other athletes under similar conditions. Optionally, theoretical activity records may be defined by the user specifying a route and entering one or more goals (e.g., pace, heart rate, and cadence) for the route. To clarify, the actual activity progress is cued against a goal pace profile. The goal pace profile may be one and the same as a theoretical activity record. However, the theoretical activity record is based upon processing of historical activity records but may become the goal pace profile for the user, or may be tweaked by the user to become the goal pace profile.
- In addition to helping athletes compete, the system mentors and/or coaches them based upon the previous work of others. So rather than a competitive athlete trying to beat someone else's result, the same system can help a non-competitive athlete identify a new personal goal by considering what results have been realized by other similar athletes.
- In one embodiment, a method provides location-based athlete pacing with biofeedback. A goal pace profile defining a performance goal of a user for a route segment is determined. A performance of the user is determined within a mobile computing device, and the performance is compared to the goal pace profile to generate real-time status and coaching cues during the performance.
- In another embodiment, a software product has instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a digital processor, perform steps for location-based athlete pacing with biofeedback. The software product includes instructions for determining a goal pace profile defining a performance goal of a user for a route segment; instructions for determining a performance of the user; instructions for determining a segment time indicative of a period for the route segment; instructions for determining a segment distance indicative of a distance traveled by the user in the route segment; instructions for determining a target time based upon the goal pace profile and the segment distance; and instructions for comparing the target time to the segment time to generate real-time status and coaching cues.
- In another embodiment, a system provides location-based athlete pacing with biofeedback. The system includes a processor, a location device for determining a location of the system, and a non-transitory memory. The non-transitory memory stores machine readable instructions that when executed by the processor perform the steps of: determining a goal pace profile based upon a historical activity record of an athlete, the goal pace profile defining a performance goal of a user of the system; determining a performance of the user based upon the location; and comparing the performance to the goal pace profile to generate real-time status and coaching cues for the user during the performance.
-
FIG. 1 shows one exemplary system for location-based athlete pacing with biofeedback, in an embodiment. -
FIGS. 2A and 2B show exemplary social media screen shots illustrating information shared by a sharing interface of the mobile device ofFIG. 1 , in an embodiment. -
FIG. 3 is a flowchart illustrating one exemplary method for location-based pacing with biofeedback, in an embodiment. -
FIG. 4 is a map illustrating route segments of an exemplary route taken by a user of the system ofFIG. 1 , in an embodiment. -
FIG. 5 shows the pacing engine ofFIG. 1 in further exemplary detail, illustrating modules for pacing each selected route segment, in an embodiment. -
FIG. 6 is a flowchart illustrating one exemplary method for segment based pacing with biofeedback, in an embodiment. - Route—A data set that describes the geographic (latitude, longitude, altitude) starting, and ending point, and possibly also waypoints of a given activity, or a set of fitness equipment settings and duration in order to simulate such waypoints. For example a route might describe the path taken to run or walk North across the East sidewalk of the Golden Gate Bridge. A route may contain any number of cyclical segments, with potential for each cyclical segment to be travelled for multiple laps. A route may also have associated with it a “toughness factor” that describes the impact of the route's terrain on the athlete's ability to traverse it.
- Route Segment—A data set that describes the geographic starting, ending, and waypoints of any subset of a route, or a set of fitness equipment settings and duration in order to simulate such waypoints. For example a route segment might describe a portion of the Golden Gate Bridge route above beginning at the middle point of the bridge and extending to the observation point at the North end. A route segment may also have associated with it a “toughness factor” that describes the impact of the route's terrain on the athlete's ability to traverse it.
- Route or Route Segment Toughness Factor—An indicator that represents the difficulty posed to the athlete in traversing a given route or route segment. The toughness factor may be calculated by examining the performance of a population of athletes on the particular route or route segment versus other routes or route segments with similar elevation profiles. The toughness factor quantifies the impact of irregular terrain, obstacles such as brush, etc. on the athlete's ability to traverse.
- Activity Record—A data set that describes any of the route position epochs (latitude, longitude, and altitude), conditions (temperature, humidity, barometric pressure, wind speed, precipitation, visibility, etc.), execution, and biofeedback response (pace, cadence, power output, heart rate, breathing rate, fatigue, sweat, blood glucose Heart Rate Variability (HRV), R wave to R wave interval (R-R interval), fitness equipment data, etc.), of a given activity. For example, an activity record might describe the epoch-by-epoch progress of a 36 year old, 145 lb. female running North across the East sidewalk of the Golden Gate Bridge on Sep. 1, 2013 beginning at 11:05 am, with an ambient temperature of 85 degrees Fahrenheit, along with the woman's heart rate record and R-R interval data throughout the activity. An activity consists of one or more activity types that include but are not limited to the following: running, cycling, walking, hiking, rowing, kayaking, motocross racing, Nordic skiing, downhill skiing, and swimming. When the route involves multiple laps of a cyclical segment, an activity record may capture lap-to-lap variation of that segment due to athlete body fatigue or possible deterioration of the route. An activity may not have any route associated with it, for example playing field or rink sports, aerobic or anaerobic training, fitness dance, etc.
- Activity Record Segment—A data set that describes any of the route position epochs, conditions, execution, and biofeedback response of a route segment, or a contiguous portion of an activity record having no associated route. For example, an activity record segment might describe a portion of the Golden Gate Bridge activity record (above) beginning at the middle point of the bridge and extending to the observation point at the North end.
- Activity Quotient—A number that represents the overall capability level of an athlete, determined empirically by examining the performance of the athlete across a significant number of routes or route segments versus other athletes on those same routes or route segments.
- Pace Profile—A function or data set that describes the realized athlete's pace over time and/or distance for a given route or segment thereof.
- Goal Pace Profile—A function or data set that describes the athlete's desired pace over time and/or distance for a given route or segment thereof.
- Lap Profile—A discrete function or data set that describes the athlete's realized pace of each lap across all laps traversed for a route.
-
FIG. 1 shows oneexemplary system 100 for location-based athlete pacing with biofeedback. The terms “user” and “athlete” may be used interchangeably herein, and the user may be an athlete.System 100 includes amobile device 102 that has anon-transitory memory 104 and aprocessor 106.Mobile device 102 is for example one of a smart phone, a multimedia device, a smart watch, or any other similar mobile computing device. On certain embodiments,mobile device 102 is a device dedicated to operation withinsystem 100. For example,mobile device 102 is a self-contained computing device that may be carried by a person or attached to a vehicle operated by a person. In an alternative embodiment,mobile device 102 includes other functionality for use by external tosystem 100. In one example,mobile device 102 is a smart phone carried or worn by a person. -
Memory 104 is shown storingsoftware 108 that comprises machine-readable instructions that when executed byprocessor 106 controlmobile device 102 to provide functionality described herein.Software 108 includes acredibility auditor 110, apacing engine 112, amonitoring engine 114, agoal selection interface 116, anactivity record generator 118, anactivity manager 120, a user interface 122, and asharing interface 124.Memory 104 also stores anactivity record database 130 that includes at least oneactivity record 132. -
Mobile device 102 also includes alocator 140 that operates to determine a location and/or position ofmobile device 102.Location device 140 determines accurate instantaneous position of itself, based upon steady or intermittent measurements from one or more of a Global Positioning System (GPS), cellular beacon identifiers, cellular beacon signal strength, GPS pseudolites, WiFi received signal strength indication (RSSI), any wireless network of surveyed nodes, pool turnaround, radio-frequency identification (RFID) sensors (e.g. ChampionChip), stride or wheel rotation sensors, altimeter, compass, or any combination of one or more of the above approaches. In one embodiment,locator 140 is external tomobile device 102 and sends location information tomobile device 102 viawireless interface 150. For example,locator 140 may represent a body-worn GPS pod. -
Mobile device 102 also includes awireless interface 150 that communicates with one or more of an interface device 160 (e.g., a control, notification and cueing human interface device such as the Sportiiiis by 4iiii Innovations Inc.).Wireless interface 150 may implement one or more of Bluetooth, Ant+, NFC, and other wireless protocols that enable communication betweenmobile device 102 andinterface device 160 and optionally with one ormore biofeedback sensors 170.Interface device 160 may represent one or both of: a heads-up display and a wrist watch.Interface device 160 may be integral withmobile device 102 and include a display, an audio system (headphones/speaker/Bluetooth audio/Airplay), and vibrator. In one embodiment,mobile device 102 andinterface device 160 are configured as one of a wrist watch and a heads-up display.Device 102 may also communicate with other devices, such as BLE/Bluetooth headset to provide audio indications. - In one embodiment,
interface device 160 is implemented within a bike computer and/or a rowing cox display. -
Biofeedback sensors 170 may include discrete and/or integrated sensors that provide biofeedback monitoring including but not limited to pace, cadence, power output, heart rate, breathing rate, fatigue, sweat, blood glucose, etc. For example,biofeedback sensors 170 may represent bridging devices such as the Viiiiva dual heart rate monitor from 4iiii Innovations Inc. that operates to bridge sensor data across multiple communication protocols. -
Activity manager 120, when executed byprocessor 106, operates to manage access toactivity record database 130, storing activity records for an athlete (i.e., a user of mobile device 102) or of other people or organizations. For example,activity record database 130 may store activity records 132 from friends, club or group members, and celebrities.Activity manager 120 allows the user to selectactivity record 132 from external sources (e.g., viawireless interface 150 and/or a wired interface such as USB—not shown) andstore activity record 132 withinactivity record database 130 for use withinmobile device 102. In one example of operation,activity manager 120 allowsactivity record 132 to be selected and downloaded from anactivity record database 184 of aserver 182 located within thecloud 180.Activity manager 120 may for example allow the user to search foractivity records 132 based upon one or more of a particular route segment, a particular athlete, a friend, and so on. -
Activity manager 120 may also calculate, maintain, and publish (e.g., in cooperation with sharing interface 124) withinactivity record database 130,athlete activity quotient 135 that is a number representing an overall capability level of the user ofmobile device 102 or of some other athlete. In one embodiment,server 182 calculates, maintains, and publishes activity quotients for athletes who are not users ofmobile device 102.Activity quotient 135 may be calculated in other modules without departing from the scope hereof.Activity manager 120 determines or adjustsactivity quotient 135 empirically by examining the performance of the athlete across a significant number of routes or route segments in comparison to other athletes performing, or who have performed, on those same routes and/or route segments, and may publishactivity quotient 135 to one or more databases (e.g., database 184). -
Activity manager 120 may also calculate and maintain, withinactivity record database 130, a route toughness factor that is a number representing an overall difficulty level of a given route or route segment. The route toughness factor may be calculated in other modules without departing from the scope hereof.Activity manager 120 determines or adjusts toughness factor empirically by examining the performance of a significant number of athletes on the route or route segment in comparison those same athletes' performances on different routes and/or route segments, and may publish toughness factor to one or more databases (e.g., database 184). - In one example of operation,
activity manager 120 is queried by the user for competitors on a given route segment, whereuponactivity manager 120 takes the following actions: (a) searches for activity records of different database formats (e.g. FIT, GPS, TCX, etc.) to locate relevant records, and (b) isolates the activity record segments of interest by discarding unwanted portions of the activity record. In another example of operation, a first athlete records a FIT file of activity while running across the Golden Gate Bridge, starting from the Presidio, making his way up to the South end of the bridge and then across to the North end. A second athlete records a TCX format record of a run starting at the South end of the Golden Gate bridge and running across the bridge into the town of Sausalito. Each of the segments from the first, and second athletes, respectively, may be stored withinactivity record database 184. A third athlete may operateactivity manager 120 to select an activity record of only a segment on the Golden Gate bridge, whereinactivity manager 120 truncates the pre- and post-segment activities from each of the FIT file and the TCX format (from the first and second athletes) record to create at least one activity record that contains only the portion recorded while on the Golden Gate bridge. -
Credibility auditor 110 assigns a credibility score to eachactivity record 132 stored withinactivity record database 130 by evaluating the activity record against a number of credibility criteria. Exemplary credibility criteria that increase the score include: the current route has a high percentage agreement of the position epochs to the published records, there is correlating heart rate data included, there is power meter data included, there are additional biometric measurements included (e.g. sweat, breathing rate, hydration, blood glucose, etc.), the activity record was encrypted by a known trusted source (list of trusted sources would need to be maintained), and the accuracy circle of the location data is small (e.g. within the race line for some minimum percentage of the segment). Exemplary credibility criteria that decrease the score include: there is evidence that the file has been edited or there is data missing, there is evidence that the file has been changed after the data was posted, and the accuracy circle of the location data is large. For example, a person who attached a speed sensor to their motorbike and then rode across the Golden Gate Bridge in record time would have an impressive pace, but low credibility. An athlete who was able to match the pace of the clever motorcyclist and also show bike power measurements and heart rate fluctuations that matched the physical exertion of the body would have a much higher credibility score. -
Goal selection interface 116 allows a user ofmobile device 102 to select a route segment and one or more goals for an activity. In one embodiment,goal selection interface 116 allows the user to define a segment by drawing a series of curves on a map, possibly with automatic “snap to grid” like functionality to coerce the curves to align with a known street, sidewalk, pathway, trail, etc.Goal selection interface 116 also allows the user to choose from a list of existing segments from published records within a certain geographic region of interest. The interface allows the user to specify goals using any number of different methods, including referring to a number of published records from other athletes, private or published records from the same athlete, or any method of producing a theoretical activity record for comparison using methods outlined below. -
Activity manager 120 includes an activity record search engine that searches among multiple data sources for historical activity records matching one or more specified criteria including but not limited to:activity quotient 135, activity type, geographic location, elevation changes, minimum credibility score, refereed or sanctioned event (e.g. Banff Triathlon), day of the year, time of day, age of athlete, weight of athlete, sex of athlete, club or group affiliation (specific club membership, league division, school/grade, etc.), average heart rate, average pace, average cadence, ambient temperature, body mass index (BMI), average activity frequency, activity duration, activity intensity, distance traveled, and heart rate variability (HRV). For example, an athlete who is a member of Cochrane High School's Junior Football Team might want to compete against other members of that team, and so would to a query against that named club/group. Or a person who is just starting their journey into wellness will want to query for others of similar activity frequency/duration/intensity and body mass index. In one embodiment,activity manager 120 suggests search criteria to the user to help identify suitable mentors. -
Activity record generator 118 cooperates withactivity manager 120 to agglomerate and correlate historical activity records that meet certain criteria, and produce agoal pace profile 138 usable for comparison/pacing withinmobile device 102. In one embodiment,activity record generator 118 andactivity manager 120 are combined as a single module.Activity record generator 118 may employ any number of data processing methods to producegoal pace profile 138. An example of this would be to take the activity records that came as a result of a query and build a pace goal by averaging the pace of query results. Activity record processing methods are described in further detail below. - Pacing
engine 112 operates to monitor the user's position/performance in real-time and compares that performance togoal pace profile 138 to generate status and coaching cues 136. Pacingengine 112 may also compare the user's performance against partial activity records, to produce status and coaching cues 136. For example if the athlete is competing against the performance of his previous run of the same segment, pacingengine 112 compares his position versus time into the activity against the previous activity record to determine if the athlete is ahead of or behind his or her previous performance. Pacingengine 112 may also examine current exertion levels within the context of the route, to check for sustainability issues. Thus, if an athlete is starting the segment at an unsustainable pace, given the overall exertion requirement of the segment, pacingengine 112 identifies the potential issue by looking at exertion data (pace, elevation, grade, wind speed) from recent historical activity records versus heart rate, HRV, and other biofeedback to determine if continuing the current level of exertion on the route is likely to be sustainable across the entire route, and generates status and coaching cues 136 to indicate that effort should be reduced. - User interface 122 operates to provide information within status and coaching cues 136 to the user. In one embodiment, user interface 122 communicates with
interface device 160 viawireless interface 150. In an alternate embodiment, user interface 122 uses an interface (e.g., touch screen) built intomobile device 102, where for examplemobile device 102 is a smart phone. Information within status and coaching cues 136 includes biofeedback, audio, visual, and other, as for example generated by pacingengine 112 during operation ofmobile device 102.Interface device 160 may comprise one or more indicator lamps or other display elements, and/or one or more audio channels, and/or other biofeedback components that are responsive to control by user interface 122.Interface device 160 may represent one of a wrist watch display, a bicycle computer, and a heads-up/heads-down display. - Information within status and coaching cues 136 for presentation to the user via
user interface device 160 may include: approaching segment start/end (e.g., “Approaching segment start in 30 seconds”), segment start (e.g., “Segment started”), segment end (e.g., “Segment completed. You finished ahead of the current first place finisher”), segment progress, elapsed time & distance (e.g., “You are two thirds of the way through the segment”), instantaneous & average heart rate, cadence, pace, and/or other biometrics, segment time remaining (e.g., “45 seconds remain in the segment”), leaderboard status: “You are eight seconds ahead of the current third place finisher, and four seconds behind the current second place finisher”), off-route (e.g., “You have strayed from the segment route”), and unsustainable exertion (e.g., “Your pace may be too high to maintain throughout the segment”). -
Interface device 160 may also allow input from the user to user interface 122, viawireless interface 150, thereby allowing the user to control operation ofmobile device 102 for example to start, stop, and/or pause the current activity. For example,interface device 160 may include one or more of capacitive touch button, a tactile button, a touch screen, and a tap detector (e.g., an accelerometer). In one embodiment, user interface 122 communicates with an application running on a separate mobile computation platform to display and receive control information viawireless interface 150. In another embodiment,interface device 160 is part ofmobile device 102, such as whenmobile device 102 is a smart phone or similar device. -
Monitoring engine 114 operates in conjunction withbiofeedback sensors 170 to monitor user biofeedback metrics such as one or more of speed, heart rate, fatigue, sweat, hydration, blood glucose, breathing rate, body temperature, as well as external conditions such as one or both of ambient temperature, and humidity.Monitoring engine 114 generates warnings (e.g., stored within status and coaching cues 136) for indicating apparent health or safety risks to the user based upon the length and difficulty of the selected route for example. For example,monitoring engine 114 may indicate one or more of: safety risk from excessive speed on a downhill grade, health risk from other factors such as elevated or erratic heart rate, extreme high/low body temperature, inadequate hydration level, and erratic or extreme breathing rate, and lack of movement (e.g., if the user has fallen or not moved for some prescribed time).Monitoring engine 114 may additionally cooperate withpacing engine 112 to generate pacing cues as discussed above. -
Sharing interface 124 operates to publish one or more of recordedactivity records 132,activity quotient 135, status updates, notes, challenges, photos, and friend lists to one or more ofsocial media 190, blogs, circles, forums, text messages, e-mail messages, and so on. Thus, sharinginterface 124 shares information on the user's participation and progress during an event, and may also invite others to join. In one example of operation, sharinginterface 124 publishes changes toactivity quotient 135 tosocial media 190 and/or aserver 182. For example, upon completion of a segment in a selected activity, sharinginterface 124 may postactivity record 132, a record of the user's activity, and/oractivity quotient 135, toserver 182 located withincloud 180 for example, such that the user's information may be automatically and immediately updated on a published leaderboard. For example, an athlete might use this to notify their friends via social media of how they are doing in running a marathon, so their friends may cheer them on.Sharing interface 124 may then receive information from the social media such as a comment from a friend of the user and automatically relay this information in real-time to the user while the user is performing the activity. In other words, a notification of a user completion or progress of a route segment may be posted on social media to solicit “likes,” comments and other responses. These responses may then be relayed to the user in real-time such that the user is encouraged during the activity. Notification data includes: social media login credentials, an activity record database identifier and route segment identifier, the athlete's current position, real-time or average metrics, time of day, day of year, measured conditions, personal comments, photos, audio clips, motion video content, etc. -
Sharing interface 124 may also cooperate withactivity manager 120 to search one or more of the athlete's social networks to identify members of the social network that also have completed one or more segments similar to the athlete. If any are found, the athlete can send a notification (public of private) to share their result on the segment. - Where monitoring
engine 114 detects a safety incident, sharinginterface 124 may share this and other information of the user withfirst responders 192 viawireless interface 150. In one example of operation, sharinginterface 124 notifiesfirst responders 192 of an emergency situation detected by monitoringengine 114. - Build a Goal Pace Profile from a Specified Overall Pace Goal
- In one embodiment,
activity record generator 118 implements a method for generatinggoal pace profile 138 based upon a plurality ofactivity records 132 returned byactivity manager 120 as a result of a search based upon a particular route segment for example.Activity record generator 118 generates an epoch-by-epoch goal pace profile withingoal pace profile 138 by averaging, for each segment, information of each returned activity record. Thus,goal pace profile 138 contains an epoch-by-epoch average of the measured pace across all search results, interpolated where helpful, and normalized by dividing by the calculated average overall pace across all results. This normalized pace profile may then be used to build a goal pace profile by multiplying the normalized epoch-by-epoch goal pace by the overall goal pace. - Build a Goal Pace Profile from a Series of Waypoint-To-Waypoint Goals
- In another embodiment,
activity record generator 118 implements a method for generatinggoal pace profile 138 by identifying the waypoints of each segment and then determining a goal pace for each portion of the segment from one waypoint to the next. - Build a Goal Pace Profile from Examining Historical Lap Profiles
- In another embodiment,
activity record generator 118 implements a method for producing a lap-by-lap goal pace profile by examining the actual pace profiles from a query of historical activity records 132 returned byactivity manager 120 for the selected route. For every matching activity record showing multiple laps of the same path loop,activity record generator 118 generates a lap-by-lap average of the measured pace across all returned results, then normalizes by dividing by the calculated average overall pace across all results. This normalized lap-by-lap pace profile may be used to buildgoal pace profile 138 by multiplying the normalized lap-by-lap goal pace by the overall goal pace. This lap profiling helps account for various ways a multiple lap route can elicit different performance levels from the competing athlete over the numerous laps due to body fatigue, route deterioration, or the final-lap sprint for example. - Build a Goal Pace Profile from an Average of a Defined Group or Club of Athletes
- In another embodiment,
activity record generator 118 implements a method for generatinggoal pace profile 138 by averaging returned best historical activity records of all members of a group (e.g., a club) for the same route.Goal pace profile 138 from an average of a defined group or club of athletes may additionally be altered such that the goal pace profile is better or worse than the average. - Build a Goal Pace Profile from an Average Pace of a Set of Similar Athletes
- In another embodiment,
activity record generator 118 implements a method for producinggoal pace profile 138 by searching for historical activity records 132 of athletes similar to the user in terms of certain search criteria such as one or more ofactivity quotient 135, sex, age, weight, body mass index (BMI), HRV, and activity intensity/duration/frequency, for the same route, and then generatinggoal pace profile 138 based upon the pace profiles and average pace of search results. - In another embodiment,
activity record generator 118 implements a method for generatinggoal pace profile 138 by searching for recent partial historical activity records from the same athlete on different routes, piecewise-matching elevation changes in the segments of the route, determining anticipated biofeedback responses using filtering techniques, and then summing the response data from the various matched or transformed pieces and adjusting by the toughness factors for the route segments. The resultinggoal pace profile 138 estimates impact of the route on the pace and/or other biofeedback metric of the user. - In another embodiment,
activity record generator 118 implements a method for generatinggoal pace profile 138 by searching for recent partial historical activity records from athletes similar to the user in terms of certain search criteria (e.g. activity quotient 135, sex, age, weight, BMI, HRV, activity frequency) on different routes.Activity record generator 118 then piecewise-matches elevation changes in the segments of the route and estimates the anticipated biofeedback responses using filtering techniques and then sums the matched segments or transformed pieces and adjusting by the toughness factors for the route segments. The toughness factor for each segment and/or route is based upon the relative performance of a plurality of athletes that have traversed that segment and/or route. The resultinggoal pace profile 138 includes an expected impact of the route on pace and/or other biofeedback of the user. The toughness factor, or an adjustment thereto, for each segment and/or route may be published to one or more servers (e.g., server 182) and/or databases (e.g., database 184). - Basic Ghost Pacer from Previous Activity
- In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records from the same athlete on the same route. - In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records provided by another person from the same route. - In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records (e.g., activity records 132) by another person from the same route, through performing a search of published activity records using any number of criteria as described above. - In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon one or more previously recorded historical activity records (e.g., activity records 132) by a random person from the same route, without disclosing any details of the random person chosen. At some later point in time, for gamification, the pacer might possibly share with the user some details of the person chosen, like a celebrity. The random nature of the pacer allows for a more fun and playful interaction withsystem 100. - “King of the Mountain” Style Ghost Pacer Drawing from a Published Leaderboard
- In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon the historical activity record (e.g., activity record 132) of the currently published records for that same route based on a real-time search of a given set of activity record databases based on the athlete's current location. For example, pacingengine 112 generates audible and/or visual indicators of relative position of a king of the mountain (KOM) ghost pacer (e.g., ahead or behind audibly announced in seconds and visually displayed using pace LEDs ofinterface device 160 and optionally color). - In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon real-time sharing and updates to the partial activity records of other group members following the same route at about the same time (allowing for staggered start times) based on real-time sharing and updates to the partial activity records of the group members. - “Lap Master” Style Pacer from a Published Leaderboard
- In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon the historical activity record of the currently published leader for a given lap of that same route based on a real-time search of a given set of activity record databases based on the athlete's chosen route. In one example of operation, pacingengine 112 compares the current lap against the same lap of a historical activity record, or compares against a previous lap of the current activity record. - In this embodiment, pacing
engine 112 and/ormonitoring engine 114 generates status and coaching cues 136 based upon an expected theoretical activity record for a given athlete on a given route, based upon a filtered or predicted activity record file of similar athletes' prior activities (similar or slightly better activity quotient 135) on similar terrain (e.g., similar toughness factor). - In one embodiment,
activity record generator 118 generatestheoretical activity record 134 based upon flat and/or average time fromactivity records 132 returned by a search then and adjusts (e.g., extrapolates) these times based upon one or more of a detected gradient at during the actual activity, the time into the current activity, length of the current hill, and so on to generategoal pace profile 138. In another embodiment,activity record generator 118 generatesgoal pace profile 138 by extrapolating from recorded similar activity of the user, and from other activities from other athletes. - In one embodiment, pacing
engine 112 compares the current activity of the user to one ormore activity records 132 of others. In another embodiment, pacingengine 112 compares the current activity of the user toactivity records 132 received in real-time fromserver 182. In another embodiment, pacingengine 112 compares the current activity of the user toactivity records 132 received in real-time from multiple servers. - In one embodiment, pacing
engine 112 automatically (e.g., periodically and without prompting from the user) identifies a challenge (e.g., a hill) within a current proximity of the user and automatically generates (e.g., by searching for similar activities within other activity records 132)goal pace profile 138 based upon that activity such that the user receives status and coaching cues. For example, if the user runs a route that includes three published segments,system 100 presents each segment to the athlete in real-time as the user nears the start point. The user may choose to compete or be coached from each of those three segments, and/or post his/her activity record for each segment upon completion. In this example, the user may not have planned to run any published segments, but changed their route in response to prompting from the system in order to include three published segments. - In another embodiment, pacing
engine 112 compares the current activity of the user to one ormore activity records 132 representative of a repeating track, or specified track. -
System 100 allows the user to race against anybody that has one ormore activity records 132 stored withinactivity record database 130 and/oractivity record database 184. For example, whereactivity record database 184 stores activity records 132 recorded by members of a club, the user may select and load one or more of these activity records intoactivity record database 130 withinmobile device 102 such thatpacing engine 112 may compare the user activity against these recorded activities. - In another embodiment, the user may interact with
interface device 160 to generategoal pace profile 138 containing a challenge, and then share (e.g., using sharing interface 124) that challenge with other people (such as people that the user is currently running or cycling with). -
FIGS. 2A and 2B show exemplary socialmedia screen shots interface 124 ofmobile device 102 ofFIG. 1 . In one embodiment, sharinginterface 124 sends one or more of social media login credentials, an activity record database identifier (e.g., “Strava”, “MapMyRun”), a segment identifier for indexing withinactivity record database 184, a current position of the user, current real-time and/or averaged biofeedback metrics, current goal pace and/or current rank and/or relative position against chosen pacers, time of day, day of year, any data on measured conditions such as ambient temperature, and personal comments, photographs, audio clips, motion video content, etc., provided by the user. Screen shot 200 is displayed from information received from sharinginterface 124 when a segment is completed. Screen shot 250 is displayed from information received from sharinginterface 124 while a segment is in-progress, illustrating acurrent position 252 of the user. -
FIG. 3 is a flowchart illustrating oneexemplary method 300 for location-based pacing with biofeedback.Method 300 is for example implemented within one or more ofactivity record generator 118,activity manager 120, user interface 122, pacingengine 112, andgoal selection interface 116 ofmobile device 102,FIG. 1 . - In
step 302,method 300 determines a goal pace profile based upon historical activity records of one or more athletes and/or a theoretical activity record, the goal pace profile defining a goal of a user. In one example ofstep 302,activity manager 120 searches for one ormore activity records 132 corresponding to one or more athletes andactivity record generator 118 generatesgoal pace profile 138 based upon the one ormore activity records 132 and/ortheoretical activity record 134. - In
step 304,method 300 determines a current activity of the user. In one example ofstep 304,locator 140 and one ormore biofeedback sensors 170 determine a current activity of a user ofmobile device 102. - In
step 306,method 300 compares the current activity to the goal pace profile to generate status and coaching cues. In one example ofstep 306, pacingengine 114 compares activity of the user ofmobile device 102 togoal pace profile 138 and generates status and coaching cues 136. Instep 308,method 300 sends the status and coaching cues to a notification and cueing human interface device that is visible to the user. In one example ofstep 308, user interface 122 sends status and coaching cues 136 tointerface device 160 viawireless interface 150. -
Steps 310 through 314 are optional. If included, instep 310,method 300 publishes the status. In one example ofstep 310, sharinginterface 124 publishes the status ofstep 306 tosocial media 190. If included, instep 312,method 300 receives a response to the publication ofstep 310. In one example ofstep 312, sharinginterface 124 receives “likes” and/or comments fromsocial media 190. If included, instep 314,method 300 indicates the responses to the user. In one example ofstep 314, sharinginterface 124 cooperates with user interface 122 to indicate the “likes” and/or comments with the user ofmobile device 102. -
Steps 304 through 314 repeat, as indicated by dashedoutline 320, to provide status, coaching cues, and optional encouragement, to the user ofmobile device 102 until the activity is stopped. - In
step 316,method 300 posts the completed activity record to the server. In one example ofstep 316,activity manager 120posts activity record 132 toactivity record database 184 ofserver 182.Steps 302 through 316 may repeat for additional segments. Steps ofmethod 300 may be reordered without departing from the scope hereof. -
FIG. 4 is amap 400 illustratingroute segments 402 of anexemplary route 401 to be taken by a user ofsystem 100 ofFIG. 1 .Route 401 has three route segments 402(1)-(3), but may have more or fewer without departing from the scope hereof. In the example ofFIG. 4 , segment 402(1) starts at a location 404(A) and ends at a location 404(B); segment 402(2) starts at location 404(B) and ends at a location 404(C); and segment 402(3) starts at location 404(C) and ends a location 404(A). Althoughsegments 402 are contiguous and completely coverroute 401,route segments 402 may form only part of aroute 401 and need not be contiguous. That is, eachsegment 402 may be individually selected to be a part ofroute 401 and may or may not adjoin and/or overlap with other route segments. Eachsegment 402 may also have an associatedstart direction 406 that indicates an expected movement direction ofdevice 102 when starting that segment. In the example ofFIG. 4 , movement directions are indicated by arrows, wherein segment 402(1) has a direction 406(1), segment 402(2) has a direction 406(2), and segment 402(3) has a direction 406(3). -
FIG. 5 shows pacing engine 112 ofFIG. 1 in further exemplary detail, illustrating modules for pacing each selected route segment. Pacingengine 112 is shown with asegment start detector 502, asegment distance tracker 504, arelative position calculator 506, asegment end detector 508, and optionally asegment path tracker 510.Segment start detector 502 operates to detect whendevice 102 passes through a segment starting point (e.g., location 404(A) for segment 402(1)). In one example of operation,segment start detector 502 first locates a nearest segment starting location withingoal pace profile 138, and then determined whendevice 102 passes through the segment starting location. -
Segment start detector 502 may be configured with a configurable trigger zone area that defines an area proximate the segment start location within whichdevice 102 is considered at the start of the segment. In one example, the trigger zone area is defined as a circle having a radius of 100 yards and centered at the coordinates provided for the segment start location. In another example, the trigger zone area is defined as a rectangle of 15 yards by 30 yards, centered at the coordinates provided for the segment start location, and orthogonally aligned withstart direction 406. Other sizes, shapes, and orientations may be used without departing from the scope hereof. In one embodiment, a user defines the trigger zone interactively when definingsegment 402 using a map, wherein the trigger zone is indicated on that map. -
Segment start detector 502 may also determine a direction of movement of device 102 (e.g., calculated from latitude and longitude values of last two coordinates determined for device 102) and compare that determined direction to startdirection 406 forsegment 402, whereinsegment start detector 502 may generate a notification to the user ifdevice 102 is heading in a wrong direction. In one embodiment,segment start detector 502 does not detect a start of segment unless the user is within the trigger zone area and with a heading corresponding to startdirection 406. Once a segment start is detected,segment start detector 502 resets asegment time 552 that is incremented in real-time to provide an indication of time into the segment. -
Segment distance tracker 504 determines asegment distance 554 as the distance travelled bydevice 102 since segment start was indicated bysegment start detector 502.Segment distance 554 is an accumulated distance determined from coordinates periodically obtained bylocator 140 asdevice 102 travels alongsegment 402. - In one embodiment,
relative position calculator 506 determines atarget time 558 of the “ghost pacer” to reachsegment distance 554 based uponactivity records 132 and/orgoal pace profile 138. Pacingengine 112 may then indicate (e.g., visually and/or audibly) the time difference between the user ofdevice 102 and the ghost pacer, such as “three seconds behind” for example. - In an alternative embodiment,
relative position calculator 506 determines atarget distance 556 withinsegment 402 based upongoal pace profile 138 and asegment time 552. For example, wheregoal pace profile 138 is based upon one ormore activity records 132,relative position calculator 506 usesactivity records 132 andsegment time 552 to calculatetarget distance 556 representing a distance travelled intosegment 402 by the “ghost pacer” corresponding togoal pace profile 138.Calculator 506 then comparessegment distance 554 to targetdistance 556 to determine a relative distance between the user ofdevice 102 and the athlete associated withgoal pace profile 138. Pacingengine 112 may then indicate (e.g., visually and/or audibly) the relative distance to the user ofdevice 102. -
Segment end detector 508 operates to detect when acurrent segment 402 is completed. In one embodiment,detector 508 determines the end of the current segment whensegment distance 554 is equal to and/or greater than a defined distance ofsegment 402. In an alternative embodiment,detector 508 determines the end of the current segment when a current location ofdevice 102 is within an end zone ofsegment 402. - In one embodiment, pacing
engine 112 includes optionalsegment path tracker 510 that determines a minimum distance betweendevice 102 and an indicated path/track withingoal pace profile 138 and/or activity records 132. For example, activity records 132 include information (e.g., coordinates and/or vectors) that defines a path/track ofsegment 402.Tracker 510 then periodically determines a distance betweendevice 102 and the defined path/track.Tracker 510 may generate a warning whendevice 102 is further than a threshold distance from the path/track of thecurrent segment 402.Tracker 510 may also cancel a current segment when the user diverges by more than a certain distance from the path/track of the segment. Wheresegments 402 overlap,device 102 may track multiple segments simultaneously. - During operation, the user may cancel a current segment, wherein segment tracking terminates and
device 102 returns to providing biometric feedback to the user without comparison togoal pace profile 138. In one embodiment, pacingengine 112 cancels a current segment automatically when deviation from the path of the current segment is greater than a threshold amount. Pacingengine 112 may then start looking for a subsequent segment start (e.g., using segment start detector 502) and may include a “de-bounce” function that prevents the same segment from automatically restarting. - In one example of operation, a user configures
mobile device 102 to provide biometric feedback for segment 402(1).Activity manager 120 automatically selects and downloads acorresponding activity record 132 fromactivity record database 184, as described above. Pacingengine 112 then detects a start of the segment (e.g., usingsegment start detector 502, as described above), and provides, during the segment, feedback to the user of performance relative to a selected ghost pacer. - Where the user of
device 102 has not selected a ghost pacer (i.e., has not identified activity records 132) for aparticular segment 402, pacingengine 112 provides performance feedback in the form of percentage of the segment that is complete. Thus the user receives feedback on determined progress through the segment. - In one embodiment, pacing
engine 112 generates audio output to indicate one or more of: approaching start, relative position (e.g., ahead/behind), percentage completed milestones updates when in a segment, encouragement (e.g., “Go! Go! Go!”) when certain percentages of the segment remain (e.g., five percent of distance remaining in the segment), and when the segment completed. When not in a segment, pacingengine 112 indicates one or more of heart-rate, speed, and temperature. - In one embodiment, pacing
engine 112 and/ormonitoring engine 114 operates to (a) check the user's speed, and when a certain speed has been exceeded for a certain amount of time, and (b) generate an alert to indicate to the user that certain safety conditions have been exceeded. For example, when one or more of heart-rate, breathing rate, and speed is too high, pacingengine 112 and/ormonitoring engine 114 generate an audible signal indicating the user exertion levels are too high. For example, a GPS receiver may be used to measure speed when the GPS signal accuracy is sufficiently high. When GPS accuracy is not sufficient,monitoring engine 114 and/orpacing engine 112 may use other means (e.g., one or more of a foot-pod, a bike speed/cadence sensor, and so on, to determine when the user is operating outside of safe conditions. - When
device 102 is implemented as a smart phone, pacingengine 112 may also provide visual updates to displayed maps to indicate KOM ghost pacer for the current segment. For example, pacingengine 112 may display ahead/behind polylines of the user and a partner, as well as visual and/or audio indications of the KOM ghost pacer (such as ahead/behind in seconds and/or color displays). Pacingengine 112 may also display live statistics of monitored activity, with expandable large views for selected statistics to facilitate easier viewing by the user during activity. -
Device 102 may also provide a demo/debug test mode that allows the user to rewind and/or play back activity records 132 and/or .fit file activity to simulate a live activity. For example,device 102 may generate output to control interface device 160 (e.g., audio and/or visual feedback devices), and provide live map and live statistics to simulate activity in real time.Device 102 may also allow play back of activity at increased (e.g., ten-times and one-hundred-times) speed to allow the user to ‘jump’ to specific locations of the stored activity. -
FIG. 6 is a flowchart illustrating oneexemplary method 600 for segment based pacing with biofeedback.Method 600 is for example implemented withinpacing engine 112 ofdevice 102. - In
step 602,method 600 receives a segment selection. In one example ofstep 602, a user interacts withdevice 102 to select segment 402(1). Instep 604,method 600 detects a start of segment. In one example ofstep 604,segment start detector 502 determines thatdevice 102 is located within a start zone area of segment 402(1) and heading in a direction corresponding to direction 406(1), and therefore indicates start of segment 402(1). Instep 606,method 600 resets the segment time and distance. In one example ofstep 606,segment start detector 502sets segment time 552 andsegment distance 554 to zero. Instep 608,method 600 accumulates distance into segment. In one example ofstep 608,segment distance tracker 504 determines distance moved bydevice 102 based upon periodically determined coordinates fromlocator 140 andupdates segment distance 554. Instep 610,method 600 calculates position relative to goal pacer. In one example ofstep 610,relative position calculator 506 determinestarget time 558 of the “ghost pacer” to reachsegment distance 554 based uponactivity records 132 and/orgoal pace profile 138. Instep 612,method 600 indicates the relative position to the user. In one example ofstep 612, pacingengine 112 sends audible signals to the user ofdevice 102 to indicate that they are two seconds behind the ghost pacer for segment 402(1). -
Steps step 614,method 600 determines encouragement indications. In one example ofstep 614, pacingengine 112 determines, based uponsegment distance 554 as a portion of total distance of segment 402(1), “Go! Go! Go!” for the encouragement indication. Instep 616,method 600 provides encouragement to the user. In one example ofstep 616, pacingengine 112 sends “Go! Go! Go!” to anaudio interface device 160. - Step 618 is a decision. If, in
step 618,method 600 determines that the end of the segment is reached,method 600 continues withstep 620; otherwisemethod 600 continues withstep 608.Steps 608 through 618 repeat until the end of the segment is reached. In one example ofstep 618,segment end detector 508 detects when the end of the segment is reached andmethod 600 continues withstep 620. - In
step 620,method 600 indicates the end of the segment. In one example ofstep 620, pacingengine 112 generates and sends an audio message saying “Great job! Segment complete!” to the user ofdevice 102. - 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.
Claims (20)
1. A method for location-based athlete pacing with biofeedback, comprising:
determining a goal pace profile defining a performance goal of a user for a route segment;
determining, within a mobile computing device, a performance of the user; and
comparing the performance to the goal pace profile to generate real-time status and coaching cues during the performance.
2. The method of claim 1 , the step of comparing comprising:
determining a segment time indicative of a period for the route segment;
determining a segment distance indicative of a distance traveled by the user in the route segment; and
determining a target time based upon the goal pace profile and the segment distance;
wherein the step of comparing comprising comparing the target time to the segment time to generate the real-time status and the coaching cues.
3. The method of claim 1 , the step of determining the goal pace profile comprising:
selecting an athlete based upon input from the user;
determining a historical activity record of the athlete and corresponding to the route segment; and
processing the historical activity record to generate the goal pace profile.
4. The method of claim 3 , the athlete comprising more than one athlete, wherein the step of processing comprising processing historical activity records of each athlete to generate the goal pace profile.
5. The method of claim 3 , wherein the athlete is the user.
6. The method of claim 3 , the athlete being suggested for selection based upon having a similar or slightly higher activity quotient as compared to an activity quotient of the user.
7. The method of claim 3 , the step of determining the goal pace profile comprising automatically selecting and retrieving the historical activity record after starting the route segment.
8. The method of claim 3 , wherein the athlete is selected using a social network and based upon the route segment.
9. The method of claim 8 , further comprising sending a notification to the social network upon completion of the route segment, the notification comprising one or both of an identifier of a new activity record created from the performance, and an identifier of the route segment.
10. The method of claim 3 , wherein the athlete is selected based upon similarity, between the user and the athlete, of one or more of activity quotient, route segment terrain, and average pace profile.
11. The method of claim 1 , the step of determining the performance of the user being based upon one or more of: a global positioning system (GPS), cellular beacon identifiers, cellular beacon signal strength, GPS pseudolites, WiFi received signal strength indication (RSSI), any wireless network of surveyed nodes, pool turnaround, radio-frequency identification (RFID) sensors (e.g. ChampionChip), stride or wheel rotation sensors, altimeter, and compass.
12. The method of claim 1 , the determined performance comprising sensed biometrics of the user.
13. The method of claim 1 , further comprising sending the status and coaching cues from the mobile computing device to an interface device observable by the user.
14. The method of claim 13 , the coaching cues comprising indication of at least one of approach of start of the route segment, approach of end of the route segment, and relative position of the user to a ghost pacer determined from the goal pace profile.
15. The method of claim 1 , the goal pace profile being generated automatically for the route segment based upon one or more of a detected gradient of the route segment, time into the route segment, and length of a hill in the route segment.
16. The method of claim 1 , further comprising:
recording the performance of the user as a new activity record;
determining a credibility score for the new activity record based upon completeness, correctness, and authenticity of the information within the new activity record.
17. The method of claim 16 , further comprising sending the credibility score to one or both of (a) a server storing the new activity record and (b) social media.
18. The method of claim 1 , further comprising generating and publishing a toughness factor indicative of a level of toughness inherent to terrain of the route segment and independent of elevation profile.
19. A software product comprising instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a digital processor, perform steps for location-based athlete pacing with biofeedback, comprising:
instructions for determining a goal pace profile defining a performance goal of a user for a route segment;
instructions for determining a performance of the user;
instructions for determining a segment time indicative of a period for the route segment;
instructions for determining a segment distance indicative of a distance traveled by the user in the rout segment;
instructions for determining a target time based upon the goal pace profile and the segment distance; and
instructions for comparing the target time to the segment time to generate real-time status and coaching cues.
20. A system for location-based athlete pacing with biofeedback, comprising:
a processor;
a location device for determining a location of the system;
a non-transitory memory for storing machine readable instructions that when executed by the processor perform the steps of:
determining a goal pace profile based upon a historical activity record of an athlete, the goal pace profile defining a performance goal of a user of the system;
determining a performance of the user based upon the location; and
comparing the performance to the goal pace profile to generate real-time status and coaching cues for the user during the performance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/488,208 US20150081062A1 (en) | 2013-09-16 | 2014-09-16 | Location-Based Athlete Pacing With Biofeedback Systems And Methods |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361878542P | 2013-09-16 | 2013-09-16 | |
US14/488,208 US20150081062A1 (en) | 2013-09-16 | 2014-09-16 | Location-Based Athlete Pacing With Biofeedback Systems And Methods |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150081062A1 true US20150081062A1 (en) | 2015-03-19 |
Family
ID=52668667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/488,208 Abandoned US20150081062A1 (en) | 2013-09-16 | 2014-09-16 | Location-Based Athlete Pacing With Biofeedback Systems And Methods |
Country Status (1)
Country | Link |
---|---|
US (1) | US20150081062A1 (en) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140200800A1 (en) * | 2011-06-22 | 2014-07-17 | Andreas Vogel | Method and device for determining a suitability of a route |
US20160001868A1 (en) * | 2014-07-01 | 2016-01-07 | John Frayn Ewans | Display instruments |
US20160107066A1 (en) * | 2014-10-17 | 2016-04-21 | Htc Corporation | Pace speed advising method, pace speed advising apparatus, and recording medium using the method |
WO2016196340A1 (en) * | 2015-05-29 | 2016-12-08 | Nike Innovate C.V. | Athletic data aggregation and display system |
US20170136338A1 (en) * | 2014-08-22 | 2017-05-18 | Omron Healthcare Co., Ltd. | Exercise information measuring apparatus, program, and control method |
WO2017099873A1 (en) * | 2015-12-07 | 2017-06-15 | Intel Corporation | Athletic feedback mechanism |
US20170266531A1 (en) * | 2016-03-15 | 2017-09-21 | Nike, Inc. | Athletic Data Aggregation for Online Communities |
US20170333754A1 (en) * | 2016-05-17 | 2017-11-23 | Kuaiwear Limited | Multi-sport biometric feedback device, system, and method for adaptive coaching |
US20180021658A1 (en) * | 2015-03-27 | 2018-01-25 | Omron Healthcare Co., Ltd. | Exercise information measurement apparatus, exercise management method, and exercise management program |
US9886871B1 (en) | 2011-12-27 | 2018-02-06 | PEAR Sports LLC | Fitness and wellness system with dynamically adjusting guidance |
US10306687B2 (en) | 2015-05-29 | 2019-05-28 | Nike, Inc. | Transmitting athletic data using non-connected state of discovery signal |
US10306410B2 (en) * | 2015-06-25 | 2019-05-28 | Razer (Asia-Pacific) Pte. Ltd. | Mobile devices, methods for controlling a mobile device, and computer readable media |
US10310836B2 (en) | 2015-05-29 | 2019-06-04 | Nike, Inc. | Athletic activity data device firmware update |
US10643483B2 (en) | 2013-07-19 | 2020-05-05 | PEAR Sports LLC | Physical activity coaching platform with dynamically changing workout content |
US10675913B2 (en) | 2016-06-24 | 2020-06-09 | Specialized Bicycle Components, Inc. | Bicycle wheel hub with power meter |
US10743784B2 (en) | 2014-12-04 | 2020-08-18 | Omron Healthcare Co., Ltd. | Action management apparatus, action management method, and action management program |
US11141092B2 (en) * | 2016-10-19 | 2021-10-12 | United States Of America As Represented By The Administrator Of Nasa | Method and system for incorporating physiological self-regulation challenge into geospatial scenario games and/or simulations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120041767A1 (en) * | 2010-08-11 | 2012-02-16 | Nike Inc. | Athletic Activity User Experience and Environment |
US20120253488A1 (en) * | 2011-03-31 | 2012-10-04 | Strava, Inc. | Providing real-time segment performance information |
US20120283855A1 (en) * | 2010-08-09 | 2012-11-08 | Nike, Inc. | Monitoring fitness using a mobile device |
-
2014
- 2014-09-16 US US14/488,208 patent/US20150081062A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120283855A1 (en) * | 2010-08-09 | 2012-11-08 | Nike, Inc. | Monitoring fitness using a mobile device |
US20120041767A1 (en) * | 2010-08-11 | 2012-02-16 | Nike Inc. | Athletic Activity User Experience and Environment |
US20120253488A1 (en) * | 2011-03-31 | 2012-10-04 | Strava, Inc. | Providing real-time segment performance information |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140200800A1 (en) * | 2011-06-22 | 2014-07-17 | Andreas Vogel | Method and device for determining a suitability of a route |
US9886871B1 (en) | 2011-12-27 | 2018-02-06 | PEAR Sports LLC | Fitness and wellness system with dynamically adjusting guidance |
US10643483B2 (en) | 2013-07-19 | 2020-05-05 | PEAR Sports LLC | Physical activity coaching platform with dynamically changing workout content |
US11270598B2 (en) | 2013-07-19 | 2022-03-08 | PEAR Sports LLC | Physical activity coaching platform with dynamically changing workout content |
US20160001868A1 (en) * | 2014-07-01 | 2016-01-07 | John Frayn Ewans | Display instruments |
US9804268B2 (en) * | 2014-07-01 | 2017-10-31 | John Frayn Ewans | Display instruments allowing display orientation adjustment |
US20170136338A1 (en) * | 2014-08-22 | 2017-05-18 | Omron Healthcare Co., Ltd. | Exercise information measuring apparatus, program, and control method |
US20160107066A1 (en) * | 2014-10-17 | 2016-04-21 | Htc Corporation | Pace speed advising method, pace speed advising apparatus, and recording medium using the method |
US10743784B2 (en) | 2014-12-04 | 2020-08-18 | Omron Healthcare Co., Ltd. | Action management apparatus, action management method, and action management program |
US20180021658A1 (en) * | 2015-03-27 | 2018-01-25 | Omron Healthcare Co., Ltd. | Exercise information measurement apparatus, exercise management method, and exercise management program |
WO2016196340A1 (en) * | 2015-05-29 | 2016-12-08 | Nike Innovate C.V. | Athletic data aggregation and display system |
US10045195B2 (en) | 2015-05-29 | 2018-08-07 | Nike, Inc. | Athletic data aggregation and display system |
US10306687B2 (en) | 2015-05-29 | 2019-05-28 | Nike, Inc. | Transmitting athletic data using non-connected state of discovery signal |
US10310836B2 (en) | 2015-05-29 | 2019-06-04 | Nike, Inc. | Athletic activity data device firmware update |
US10313868B2 (en) | 2015-05-29 | 2019-06-04 | Nike, Inc. | Athletic data aggregation and display system |
US10306410B2 (en) * | 2015-06-25 | 2019-05-28 | Razer (Asia-Pacific) Pte. Ltd. | Mobile devices, methods for controlling a mobile device, and computer readable media |
WO2017099873A1 (en) * | 2015-12-07 | 2017-06-15 | Intel Corporation | Athletic feedback mechanism |
US20170266531A1 (en) * | 2016-03-15 | 2017-09-21 | Nike, Inc. | Athletic Data Aggregation for Online Communities |
US10709955B2 (en) * | 2016-03-15 | 2020-07-14 | Nike, Inc. | Athletic data aggregation for online communities |
US20170333754A1 (en) * | 2016-05-17 | 2017-11-23 | Kuaiwear Limited | Multi-sport biometric feedback device, system, and method for adaptive coaching |
US10675913B2 (en) | 2016-06-24 | 2020-06-09 | Specialized Bicycle Components, Inc. | Bicycle wheel hub with power meter |
US11141092B2 (en) * | 2016-10-19 | 2021-10-12 | United States Of America As Represented By The Administrator Of Nasa | Method and system for incorporating physiological self-regulation challenge into geospatial scenario games and/or simulations |
US20220032174A1 (en) * | 2016-10-19 | 2022-02-03 | United States Of America As Represented By The Administrator Of Nasa | Method and system for incorporating physiological self-regulation challenge into geospatial scenario games and/or simulations |
US11903719B2 (en) * | 2016-10-19 | 2024-02-20 | United States Of America As Represented By The Administrator Of Nasa | Method and system for incorporating physiological self-regulation challenge into geospatial scenario games and/or simulations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150081062A1 (en) | Location-Based Athlete Pacing With Biofeedback Systems And Methods | |
US20200188734A1 (en) | Fitness activity monitoring systems and methods | |
US20210210186A1 (en) | Fitness Monitoring Methods, Systems, And Program Products, And Applications Thereof | |
US20200149921A1 (en) | GPS Features and Functionality in an Athletic Watch System | |
US20200108305A1 (en) | Location-Aware Fitness Monitoring Methods, Systems, and Program Products, and Applications Thereof | |
US9142141B2 (en) | Determining exercise routes based on device determined information | |
JP6114549B2 (en) | System and method for monitoring fitness activity | |
US10591302B2 (en) | Selecting routes | |
US20130246021A1 (en) | Required time calculating system, required time calculating method, and computer-readable recording medium storing required time calculating program | |
JP2018023681A (en) | Information output system, information output method, and information output program | |
JP2015504557A (en) | Method and apparatus for creating cost data for use in generating a route on an electronic map | |
JP2018025517A (en) | Information output system, information output method, and information output program | |
JP2018023680A (en) | Information output system, information output method, and information output program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: 4IIII INNOVATIONS INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FYFE, KIPLING;ZACHER, DARREN;MILNE, CAITLIN;AND OTHERS;SIGNING DATES FROM 20140925 TO 20141104;REEL/FRAME:034612/0691 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |