U.S. patent application number 14/488208 was filed with the patent office on 2015-03-19 for location-based athlete pacing with biofeedback systems and methods.
The applicant listed for this patent is 4iiii Innovations Inc.. Invention is credited to Alana Baxter, Andrea Dukeshire, Kipling Fyfe, Caitlin Milne, Darren Zacher.
Application Number | 20150081062 14/488208 |
Document ID | / |
Family ID | 52668667 |
Filed Date | 2015-03-19 |
United States Patent
Application |
20150081062 |
Kind Code |
A1 |
Fyfe; Kipling ; et
al. |
March 19, 2015 |
Location-Based Athlete Pacing With Biofeedback Systems And
Methods
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.
Inventors: |
Fyfe; Kipling; (Cochrane,
CA) ; Zacher; Darren; (Calgary, CA) ; Milne;
Caitlin; (Calgary, CA) ; Baxter; Alana;
(Cochrane, CA) ; Dukeshire; Andrea; (Calgary,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
4iiii Innovations Inc. |
Cochrane |
|
CA |
|
|
Family ID: |
52668667 |
Appl. No.: |
14/488208 |
Filed: |
September 16, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61878542 |
Sep 16, 2013 |
|
|
|
Current U.S.
Class: |
700/91 |
Current CPC
Class: |
A61B 5/1112 20130101;
A61B 2503/10 20130101; A61B 5/0022 20130101; A61B 5/486 20130101;
A61B 5/02438 20130101; A61B 5/1118 20130101; A61B 5/0205 20130101;
G16H 20/30 20180101 |
Class at
Publication: |
700/91 |
International
Class: |
A63B 71/06 20060101
A63B071/06 |
Claims
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.
Description
RELATED APPLICATIONS
[0001] This Application claims priority to U.S. Patent Application
Ser. No. 61/878,542, filed Sep. 16, 2013, and is incorporated
herein by reference.
BACKGROUND
[0002] 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.
SUMMARY OF THE INVENTION
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
BRIEF DESCRIPTION OF THE FIGURES
[0009] FIG. 1 shows one exemplary system for location-based athlete
pacing with biofeedback, in an embodiment.
[0010] 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.
[0011] FIG. 3 is a flowchart illustrating one exemplary method for
location-based pacing with biofeedback, in an embodiment.
[0012] 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.
[0013] FIG. 5 shows the pacing engine of FIG. 1 in further
exemplary detail, illustrating modules for pacing each selected
route segment, in an embodiment.
[0014] FIG. 6 is a flowchart illustrating one exemplary method for
segment based pacing with biofeedback, in an embodiment.
DETAILED DESCRIPTION OF THE EMBODIMENTS
Definitions
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] FIG. 1 shows one exemplary 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 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. On certain embodiments,
mobile device 102 is a device dedicated to operation within system
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 to system 100.
In one example, mobile device 102 is a smart phone carried or worn
by a person.
[0025] 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.
[0026] 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. In one embodiment, locator 140 is external to
mobile device 102 and sends location information to mobile device
102 via wireless interface 150. For example, locator 140 may
represent a body-worn GPS pod.
[0027] 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. In one embodiment, 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.
[0028] In one embodiment, interface device 160 is implemented
within a bike computer and/or a rowing cox display.
[0029] 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.
[0030] 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. 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 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. In one example of
operation, 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.
[0031] 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. In one embodiment,
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).
[0032] 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).
[0033] In one example of operation, 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. 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 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.
[0034] 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.
[0035] Goal selection interface 116 allows a user of mobile 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.
[0036] 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.
[0037] 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. In one
embodiment, 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.
[0038] 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. Thus, if an athlete is starting the
segment at an unsustainable pace, given the overall exertion
requirement of the segment, 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.
[0039] 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 via wireless
interface 150. In an alternate embodiment, 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.
[0040] 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").
[0041] 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. 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 via
wireless interface 150. In another embodiment, interface device 160
is part of mobile device 102, such as when mobile device 102 is a
smart phone or similar device.
[0042] 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. 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
with pacing engine 112 to generate pacing cues as discussed
above.
[0043] 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. For example, upon completion of a
segment in a selected activity, 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. 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.
[0044] 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.
[0045] Where monitoring engine 114 detects a safety incident,
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.
Exemplary Historical Activity Record Processing Methods
[0046] Build a Goal Pace Profile from a Specified Overall Pace
Goal
[0047] In one embodiment, 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. 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
[0048] In another embodiment, 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.
Build a Goal Pace Profile from Examining Historical Lap
Profiles
[0049] 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 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.
Build a Goal Pace Profile from an Average of a Defined Group or
Club of Athletes
[0050] In another embodiment, 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.
Build a Goal Pace Profile from an Average Pace of a Set of Similar
Athletes
[0051] In another embodiment, 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.
Build a Goal Pace Profile Based on the Same Athlete's Prior
Activities on Similar Terrain
[0052] In another embodiment, 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.
Build a Goal Pace Profile Based on Similar Athletes' Prior
Activities on Similar Terrain
[0053] In another embodiment, 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).
EXAMPLE EMBODIMENTS
[0054] Basic Ghost Pacer from Previous Activity
[0055] In this embodiment, 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.
Ghost Pacer Using a Friend's Historical Activity Record File
[0056] In this embodiment, 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.
Ghost Pacer Using Another Person's Historical Activity Record
File
[0057] In this embodiment, 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.
Ghost Pacer Using a Random Person's Historical Activity Record
File
[0058] In this embodiment, 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. 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 with system 100.
"King of the Mountain" Style Ghost Pacer Drawing from a Published
Leaderboard
[0059] In this embodiment, 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. For example, 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).
On-The-Fly Challenge for a Group of Athletes
[0060] In this embodiment, 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.
"Lap Master" Style Pacer from a Published Leaderboard
[0061] In this embodiment, 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. In one example of operation, 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.
"Coach Me" Style Pacer
[0062] In this embodiment, 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).
Other Embodiments
[0063] In one embodiment, 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. In another embodiment, 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.
[0064] In one embodiment, 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.
[0065] 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.
[0066] In another embodiment, 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.
[0067] 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. For example,
where 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.
[0068] In another embodiment, 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).
[0069] 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. In one embodiment, 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.
[0070] 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.
[0071] 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 of step 302, 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.
[0072] In step 304, method 300 determines a current activity of the
user. In one example of step 304, locator 140 and one or more
biofeedback sensors 170 determine a current activity of a user of
mobile device 102.
[0073] In step 306, method 300 compares the current activity to the
goal pace profile to generate status and coaching cues. In one
example of step 306, pacing engine 114 compares activity of the
user of mobile device 102 to goal pace profile 138 and generates
status and coaching cues 136. In step 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 of
step 308, user interface 122 sends status and coaching cues 136 to
interface device 160 via wireless interface 150.
[0074] 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.
[0075] 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.
[0076] In step 316, method 300 posts the completed activity record
to the server. In one example of step 316, 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.
[0077] 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. In the example of
FIG. 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). Although 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).
[0078] 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.
[0079] 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. 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 with start
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 defining segment 402
using a map, wherein the trigger zone is indicated on that map.
[0080] 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.
[0081] 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.
[0082] In one embodiment, 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.
[0083] In an alternative embodiment, 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.
[0084] 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.
[0085] In one embodiment, 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. For example, 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.
[0086] 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 to goal
pace profile 138. In one embodiment, 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.
[0087] 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 a corresponding
activity record 132 from activity record database 184, as described
above. Pacing engine 112 then 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.
[0088] Where the user of device 102 has not selected a ghost pacer
(i.e., has not identified activity records 132) for a particular
segment 402, 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.
[0089] 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, pacing engine 112 indicates one or more of
heart-rate, speed, and temperature.
[0090] In one embodiment, 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. 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/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.
[0091] When device 102 is implemented as a smart phone, 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.
[0092] 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.
[0093] 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.
[0094] In step 602, method 600 receives a segment selection. In one
example of step 602, a user interacts with device 102 to select
segment 402(1). In step 604, method 600 detects a start of segment.
In one example of step 604, 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). In step
606, method 600 resets the segment time and distance. In one
example of step 606, segment start detector 502 sets segment time
552 and segment distance 554 to zero. In step 608, method 600
accumulates distance into segment. In one example of step 608,
segment distance tracker 504 determines distance moved by device
102 based upon periodically determined coordinates from locator 140
and updates segment distance 554. In step 610, method 600
calculates position relative to goal pacer. In one example of step
610, 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. In step 612, method 600
indicates the relative position to the user. In one example of step
612, 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).
[0095] 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.
[0096] 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.
[0097] In step 620, method 600 indicates the end of the segment. In
one example of step 620, pacing engine 112 generates and sends an
audio message saying "Great job! Segment complete!" to the user of
device 102.
[0098] 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.
* * * * *