Critical power adaptive training with varying parameters
阅读说明:本技术 具有变化的参数的临界功率自适应训练 (Critical power adaptive training with varying parameters ) 是由 约书亚·S·史密斯 于 2018-12-12 设计创作,主要内容包括:自适应训练系统可以确定有限做功能力和临界功率,并使用这些确定结果生成锻炼参数的自适应训练程序。为了确定有限做功能力和临界功率,自适应训练系统可以接收锻炼数据;通过为每次锻炼确定在多个时间窗口尺寸中的每一个完成的最大做功量来生成数据点;将这些锻炼数据点拟合至函数;并基于拟合函数确定临界功率和有限做功能力。一旦自适应训练系统确定了关键能力和有限做功能力,自适应训练系统就可以通过将一组锻炼参数所定义的函数保持在基于临界功率和有限做功能力的能力函数以下来使用它们来生成自适应训练程序。(The adaptive training system may determine limited work capacity and critical power and use these determinations to generate an adaptive training program of exercise parameters. To determine limited work capacity and critical power, the adaptive training system may receive exercise data; generating a data point by determining a maximum amount of work done at each of a plurality of time window sizes for each workout; fitting the exercise data points to a function; and determining the critical power and the limited work capacity based on the fitting function. Once the adaptive training system determines the critical capacity and limited work capacity, the adaptive training system may use functions defined by a set of exercise parameters to generate an adaptive training program by keeping them below a capacity function based on the critical power and limited work capacity.)
1. An exercise machine system for automatically providing an adaptive training program, the system comprising:
an exercise device that implements a particular type of workout having given parameters;
an instrument system integrated with the exercise machine that obtains a measurement indicative of power output; and
a processing component configured to generate the adaptive training program by:
within the measurement representing power output, a work value for each particular window size of a plurality of window size durations is determined by:
determining a maximum integral of a function specified by the measurement indicative of power output for an interval matching the particular window size;
fitting a function to the determined work value as a capability function;
applying the given parameter and at least one additional parameter to an exercise function defined for the workout of the particular type such that a value of the exercise function does not exceed a value of the competency function at any time during the duration of the workout; and
generating the adaptive training program using the given parameter and at least one additional parameter;
wherein the output or settings of the exercise device are automatically provided based on the adaptive training program.
2. The exercise machine system of claim 1,
wherein the exercise machine system further comprises a plurality of exercise machines connected via a network; and
wherein fitting a function to the work done values determined for a plurality of window size durations further comprises fitting the function to additional work done values determined for the plurality of window size durations based on a measurement representative of a power output taken on one of the networked exercise machines other than the exercise device.
3. The exercise machine system of claim 2, wherein fitting the function to the work value and the additional work value comprises:
for each particular window size, selecting a maximum of the work value and the additional work value corresponding to the particular window size; and
fitting a function to the selected maximum value of the window size.
4. The exercise machine system of claim 1, wherein the processing component is a server system connected to the exercise machine via a network.
5. The exercise machine system of claim 1,
wherein the processing component generates the adaptive training program in response to an identification comprising code representing the exercise device; and
wherein the code representing the exercise device is provided by an image capture system to a mobile device associated with the user on which an alphanumeric code, barcode, or QR code displayed with the exercise device is captured.
6. The exercise machine system of claim 1, wherein the automatically providing the output or settings of the exercise device comprises providing the output to a server system, the output comprising at least one representation of the at least one additional parameter.
7. The exercise machine system of claim 1, wherein the automatically providing the output or settings of the exercise device comprises providing the output to the exercise device, the output configured to cause a display of the exercise device to provide instructions for the adaptive training program.
8. The exercise machine system of claim 1, wherein the automatically providing the output or settings of the exercise device comprises implementing the adaptive training program on the exercise device based on the settings to cause the exercise device to achieve the given parameter and the at least one additional parameter.
9. The exercise machine system of claim 1, wherein the particular type is an interval type exercise, and wherein the given parameters for the interval type exercise include one or more of: the number of intervals, the duration of the intervals, the power output during the intervals, the duration of the rest, the power output during the rest, or any combination thereof.
10. The exercise machine system of claim 1, wherein the particular type is a skip interval type exercise, and wherein the given parameters of the skip interval type exercise include one or more of: the number of intervals, the duration of peak work during an interval, the duration of short rest periods within an interval, the power output during peak intervals of an interval, the duration of rest between intervals, the power output during rest periods, or any combination thereof.
11. The exercise machine system of claim 1, wherein applying the given parameter and at least one additional parameter to an exercise function defined for the particular type of the workout comprises:
obtaining a predefined function for the particular type of the workout;
filling the given parameter in the predefined function; and
solving for the at least one additional parameter.
12. The exercise machine system of claim 11, wherein filling in the predefined function includes using one or more default values for one or more of the function parameters that are not included in the given parameter and that are not included in the at least one additional parameter.
13. The exercise machine system of claim 1, wherein the processing component is further configured to:
receiving a further measurement indicative of power output while performing the adaptive training procedure;
determining a further work value based on the further measurement value representative of power output;
updating the capability function to further fit to the further work done value;
updating one or more of the given parameter or the at least one additional parameter based on the updated capability function;
generating an updated adaptive training program based on the updated parameters; and
updating the output or settings of the exercise device based on the updated adaptive training program.
14. A method for providing an adaptive training program, the method comprising:
obtaining a measurement indicative of power output;
determining a work value for each particular window size of the plurality of window size durations in the measure indicative of power output by determining a maximum integral of the function specified by the measure indicative of power output for an interval matching the particular window size:
fitting a function to the work done values determined for the plurality of window size durations as a capability function;
calculating a value for at least one previously unspecified parameter for a workout such that a value for an exercise function using the previously unspecified parameter does not exceed a corresponding value for the competency function at any time during the duration of the workout;
generating the adaptive training program using the at least one previously unspecified parameter; and
providing an output or automatic exercise setting based on the adaptive training program.
15. The method of claim 14, wherein the measurement indicative of power output is obtained by one or more of:
manual input by a user;
exercise statistics obtained by the wearable fitness tracker;
an instrumentation system integrated in the exercise device; or
Any combination thereof.
16. The method of claim 14, wherein the first and second light sources are selected from the group consisting of,
wherein the method is implemented for a plurality of exercise machines connected over a network;
wherein the measurement indicative of power output is obtained from a first one of the networked exercise machines;
wherein a second set of measurements representative of power output is taken from a second one of the networked exercise machines, converted to additional work values for a corresponding window size, and weighted based on an age of the second set of measurements; and
wherein fitting the function to the work values determined for the plurality of window size durations further comprises fitting the function to weighted additional work values.
17. The method of claim 16, wherein the fitting the function to the work value and the additional work value comprises:
for each particular window size, selecting a maximum of the work value or the additional work value corresponding to the particular window size; and
fitting the function to the selected maximum value for the window size.
18. The method of claim 14, wherein the first and second light sources are selected from the group consisting of,
wherein the generation of the adaptive training program is in response to an identification that includes a code representing the user; and
wherein the code representative of the user is provided by a mobile device associated with a user of an exercise apparatus.
19. The method of claim 14, wherein the method is performed by a mobile device associated with a user of an exercise apparatus.
20. The method of claim 14, wherein providing the output or automatic workout settings comprises causing an output to be provided on a mobile device, the output being based on the at least one previously unspecified parameter.
21. The method of claim 14, wherein providing the output or automatic workout settings comprises providing the output to a server system or a mobile device, wherein the output is stored in association with a user profile comprising one or more of:
at least some of the determined work values;
the capability function;
statistics of the adaptive training program;
a measure of actual performance during the training session;
personal information; or
Any combination thereof.
22. The method of claim 14, further comprising:
determining a critical power and a limited work capacity of the user associated with the measurement based on the capacity function; and
modifying the capacity function to a linear and logarithmic function using a combination of the critical power and limited work capacity.
23. A computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform operations for automatically providing an adaptive training program, the operations comprising:
acquiring given parameters of a training course;
obtaining a measurement indicative of power output;
generating the adaptive training program by:
determining a capability function or a critical power estimate based on the measurement indicative of power output; and
generating the training program using (a) the capability function or critical power estimate and (B) the given parameter, the training program including a value of at least one previously unspecified parameter; and
providing the adaptive training program.
24. The computer-readable storage medium of claim 23,
wherein the operations further comprise determining a work value for each particular window size of a plurality of window size durations representing the measure of power output,
wherein determining each particular work value for the particular window size comprises determining a maximum integral of a function specified by a measurement value representative of power output for an interval matching the particular window size.
25. The computer-readable storage medium of claim 23, wherein generating the adaptive training program is performed by calculating a value for each of the at least one previously unspecified parameter such that a value of an exercise function using the at least one previously unspecified parameter does not exceed a corresponding value of the competency function at any time during the course's duration.
26. The computer-readable storage medium of claim 23, wherein the operations further comprise calculating the value of the at least one previously unspecified parameter by:
obtaining a predefined exercise function;
populating the given parameter in the predefined exercise function; and
solving for the at least one previously unspecified parameter.
Background
Millions of people wish to train and maintain better conditions. It is quite difficult for many people due to the time or effort involved. Many systems have been developed to help people start training or maximize their training efforts. For example, people read a fitness magazine, attend an exercise program, attend a course, engage a personal trainer, and the like. While some of these programs are tailored to the individual, they often fail to maximize the potential of the individual or create frustration due to excessive exertion. One of the reasons for this is that many of these programs are not based on a measure of the potential of a person to exercise. Even for programs that customize the program for an individual using some previous methods, these methods are difficult to implement and the results are inaccurate. Furthermore, training programs developed based on these measurements fail to provide the correct intensity levels and durations.
For example, VO2 is a measurement system that determines the maximum amount of oxygen a person can use. VO2 was measured by dividing the amount of oxygen inspired per minute by the amount of oxygen expelled per minute. Therefore, the evaluation based on VO2 requires the user to connect to a device that can measure the amount of oxygen in the inlet and outlet gases and in the air. Furthermore, the VO2 measurements are generally static to one person, and there is no explicit way to convert the VO2 measurements to a trained duration or intensity level. Techniques have been developed to provide exercise guidance based on heart rate measurements. However, these still require dedicated heart rate monitors connected to the person, are inaccurate, and cannot correctly estimate the limits of the time or intensity training indicators.
Disclosure of Invention
The present technology provides an adaptive training system and associated methods that overcome the shortcomings of the prior art and provide other benefits. In at least one example, the adaptive training system may generate a training program that is appropriate for a particular user based on the critical power and the varying exercise parameters. A person's power output is equal to their infinite capacity to produce power ("critical power") plus some finite capacity to exceed their critical power ("finite work capacity") for a given amount of time. A practical application of the critical power and limited work capacity of users is to use them to generate user-specific training programs. The training program may be a single training session or a series of training sessions with specified parameters determined based on the user's critical power or limited work capacity. The critical power based training procedure is accurate, does not require special heart rate or oxygen measurement devices, and can adapt to the user's ever changing capability level. Furthermore, conversion of critical power into training programs may be provided for various types of exercises and time ranges.
One or more example adaptive training systems include two aspects that apply critical power analysis: (1) determine limited work capacity and critical power of a particular user without the need for heart rate information or the use of invasive measurement devices, and (2) use these determinations to generate an adaptive training program specific to the user for any given set of exercise parameters. In determining the limited work capacity and the critical power of the user, the adaptive training system may receive statistical information from one or more of the user's current or previous exercises or segments of an exercise and determine the limited work capacity and the critical power of the user based only on the time interval and a measure indicative of the power output (e.g., running speed, wattage of a fixed bicycle output, number of repeated executions over a period of time, etc.). Further, these determinations of limited work capacity and determined critical power may be updated as the user records other exercises, and new or modified training programs may be generated for the user. In some implementations, newer workouts may have greater weight in determining these measurements than older workout statistics. For example, a scalar (scalar) decay function may be applied to the exercise data to weight it based on age.
The adaptive training system may determine the limited work capacity and critical power of a particular user by generating data points from one or more exercise statistics sets. Each data point may measure the maximum amount of work a user performs in an exercise over any time window of a particular length. Multiple data points may be acquired using different time window lengths for a particular exercise. Each data point may be a work value calculated by maximum integrating a function that provides power over time for a given time window size. Thus, the working data point will be the maximum area under the power function within any interval that matches the time window size of the data point. In the case of multiple workouts, the final workout statistics set may only retain the maximum work done value for each time window size in the multiple workouts. The adaptive training system may fit points from one or more exercise statistics sets to a capability function. The capability function may be used to determine a critical power corresponding to the slope of the capability function, and a limited work capacity corresponding to the y-intercept of the capability function. Alternatively, the adaptive training system may use the displayed work points in the final exercise statistics as boundary points for future training programs. Additional details regarding determining the user's capability function and/or limited work capacity and critical power are discussed below in connection with fig. 3-5.
Once the adaptive training system has determined the critical power and limited work capacity, the adaptive training system may use those determinations to generate an adaptive training program for a given set of exercise parameters. For any particular type of exercise, a number of parameters may describe the exercise in terms of work and time. For example, in an interval exercise with fixed intervals, the exercise may be defined according to five parameters: number of intervals, duration of intervals, power output during intervals, rest time, power output during rest. All but one of these parameters may be specified by the user or based on the characteristics of the exercise. For example, for exercise on a treadmill, a user may specify an interval duration and a rest duration, and the power output during the interval and the power output during the rest may be determined based on treadmill settings (e.g., speed and angle). The adaptive training system may then calculate final parameters based on the user's critical power and limited work capacity, such that a user-specific exercise plan may be generated that directs the user's exercise to approach but not exceed a fatigue threshold. For example, the number of intervals may be set such that the exercise-describing function based on the five parameters of the exercise/time map does not exceed the user's ability function. In various implementations, the capability function may be provided by the user's work capacity. In some implementations, as described above, the competency function may be a linear or non-linear function fitted to the exercise statistics set. The slope of the capability function may define the critical power of the user, and the y-axis intercept may define the limited work capability of the user. In some implementations, once the Critical Power (CP) and limited work capacity (W') are determined, the capacity function can be modified to account for real-world conditions, e.g., the work capacity of a user at a given zero time is also zero. Such modification may include changing the capability function to a combination of linear and logarithmic functions. For example, the capacity function may be specified as W CP t + W log (t +1), where W is the work capacity (dependent variable) and t is a given amount of time (independent variable). In some implementations, the ability function can be a set of exercise statistics that serve as boundaries for respective points of the training program. Additional details regarding the generation of a particular training program for a parameter-defined exercise type using a capacity function or critical power and limited work capacity are discussed below in conjunction with fig. 6 and 7.
In various implementations, the adaptive training system may be implemented at least in part as an integrated component of an exercise machine in a network of exercise machines that share information, as an "application" in a fitness tracker, as part of a server-based information system (e.g., accessed through a web page), or any combination thereof. For example, the adaptive training system may be integrated into an exercise device that is instrumented to perform work measurements that represent power output (e.g., resistance and revolutions per minute, time and distance, etc.). The adaptive training system may use these measurements to determine data points of work versus time. These data points can be used to calculate the critical power and limited work capacity of the user (e.g., by fitting them to a capacity function). The adaptive training system may then provide a training program configured to bring the user within a threshold amount, which is a fatigue point determined based on the critical power and the limited work capacity or capacity function, without exceeding. The training program may be provided as a visual output with suggested exercise parameters. Alternatively or additionally, a training program may be provided as an automatic adjustment to an exercise setting (e.g., treadmill speed). An example of this configuration is described below in conjunction with fig. 8A.
As another example, the adaptive training system may be implemented in a network of exercise machines. In this example, the adaptive training system may determine the user based on authentication data provided to the exercise machine or by the mobile device (e.g., via a website or application), by scanning a QR code or the like on the machine. Then, during subsequent exercises, data points from measurements on that machine may be added to data points from measurements previously made on other machines to maintain an updated critical power and limited work capacity or capacity function table. These may be used to generate a training program. The training program may include exercise recommendations, which may be provided on a networked machine or on a mobile device. Alternatively or additionally, the training program may include exercise machine settings that the adaptive training system may automatically apply to the machine. An example of this configuration is described below in conjunction with fig. 8B.
As yet another example, the adaptive training system may be implemented on a mobile device or other computing system, for example as an application, through a web page, or as a function of a smart watch or other fitness device. In some implementations, the adaptive training system may automatically collect data (e.g., distance, amount of time, speed, altitude change, etc.), or the user may manually input data (e.g., by entering distance and time after running). The adaptive training system may then provide a training program. In some implementations, the training procedure may include displaying further statistics, such as a change in critical power or limited work capacity over time. In some implementations, the training program may provide a suggested exercise program. The proposed exercise program may set aspects of the training program to meet the user's goals. In some implementations, the training program may include a guided exercise or other training recommendation or indication based on a capacity function or a threshold power and limited work capacity. An example of this configuration is described below in conjunction with fig. 8C.
The current art provides many benefits over the prior art. For example, the adaptive training system may determine the critical power and limited work capacity without the need for a heart rate monitor, oxygen device, or other invasive device connected to the user. In addition, a training program based on critical power or limited work capacity may provide a basis for exercise levels while not being affected by the inaccuracies of the heart rate monitoring method. Furthermore, in contrast to prior art systems that require a large amount of interrelated data to make training recommendations, adaptive training systems may be implemented using low power, low processing speed devices and require only "best recorded" data to be stored, thereby effectively reducing the required storage capacity.
In various implementations, the adaptive training techniques may be implemented as a method, system, or computer-readable storage medium. An exercise machine system for automatically providing an adaptive exercise program may include an exercise device that implements a particular type of workout with given parameters. The exercise machine system may also include an instrumentation system integrated with the exercise device that obtains a measurement indicative of the power output. The exercise machine system may also include a processing component configured to generate an adaptive training program.
Where the adaptive training technique is implemented as a method, it may comprise various operations, and where the adaptive training technique is implemented as a system or computer-readable storage medium, the processing components of the system or operations performed on the computer-readable storage medium may perform the various operations. These operations may include: a work value for each particular window size is determined over a plurality of window size durations representing measured values of power output. This may be accomplished by determining the maximum integral of the function specified by the measurement indicative of power output for an interval matching a particular window size. The operations may also include fitting a function to the work done values determined for the plurality of window size durations as a function of the capability. The operations may further include calculating a value of at least one previously unspecified parameter for the workout such that the value of the exercise function using the previously unspecified parameter does not exceed a corresponding value of the competency function at any time during the duration for the workout. The operations may also include generating an adaptive training program using at least one previously unspecified parameter. The adaptive training technique may provide output or automatic exercise settings based on an adaptive training program.
In some implementations, the adaptive training technique may include or implement operations that include obtaining a given parameter for a training session and obtaining a measurement representative of power output. The operations may also include generating an adaptive training program by: based on the measured value representing the power output, a capability function or a critical power estimate is determined. Generating adaptive training may further include generating a training program using (a) a capability function or a critical power estimate and (B) a given parameter. The training program may include values for at least one previously unspecified parameter. The operations may include providing the adaptive training program.
In various implementations, the adaptive training technique may obtain the measurement indicative of power output by a user manual input, by recorded exercise statistics acquired by a wearable fitness tracker, or by an instrumentation system integrated into the exercise device.
In various implementations, the adaptive training techniques may be implemented by a server system connected to multiple exercise machines, by one or more exercise machines, or by a mobile device associated with a user of an exercise device.
In various implementations, adaptive training techniques may be implemented with respect to multiple exercise machines connected via a network. Measurements indicative of power output may be taken from a first networked exercise machine, while a second set of measurements indicative of power output may be taken from a second networked exercise machine. A second set of measurements representing power output may be converted to additional work values for the corresponding window size and may be weighted based on the age of the second set of measurements. When the adaptive training technique fits a function to the work values for multiple window size duration determinations, it may be further achieved by fitting the function to additional work values. In some implementations, such fitting can include, for each particular window size, selecting a maximum of the work value and the additional work value corresponding to the particular window size; and fits the function to the selected maximum value of the window size.
In some implementations, the adaptive training technique may generate the adaptive training program in response to an identification that includes code representing a user or an exercise device. The identification may be provided by the user, a mobile device associated with the user, or an exercise device. In some implementations, a code representing the exercise device may be provided to the mobile device by an image capture system on the mobile device that captures an alphanumeric code, barcode, or QR code displayed with the exercise device.
The output or automatic workout settings provided by the adaptive training technique may be output to the server system, including a representation of the additionally determined parameters. Alternatively, an output may be provided to the mobile device, the output including a representation of at least one previously unspecified parameter. In some implementations, the output can be to a mobile device and include data to be manipulated by executing instructions on the mobile device. The execution may provide a display for a user to implement the adaptive training program. In some implementations, the output may be to an exercise device configured to cause a display of the exercise device to provide instructions based on an adaptive training program. The output may also include automatic exercise settings that cause the exercise device to automatically implement the adaptive training program. In some implementations, the output can be provided to a server system or a mobile device and stored in association with a user profile. The user profile may include a variety of information, such as: a determined work value, a competency function, statistics of an adaptive training program, a measure of actual performance of a training session, personal (biometric) information, or any combination thereof.
In some implementations, the adaptive training techniques may provide an internet-based interface that is accessible through a web browser or mobile device application. The internet-based interface may provide access to a user profile associated with a plurality of workouts performed by the user.
In various implementations, the measurement indicative of power output may include one or more of: speed, revolutions per minute, resistance, incline, distance, duration, weight, number of repetitions, or any combination thereof.
In some implementations, the capability function is a linear function.
In some implementations, the adaptive training technique may be implemented by a server system that obtains additional work done values stored in association with a user profile of a user and generates an adaptive training program, both of which may be responsive to user authentication.
In some implementations, a workout function may be defined for a skip interval type of workout (skip interval typeworkkout). The parameters of the exercise function for the interval exercise may include the number of intervals, the duration of the intervals, the power output during the intervals, the rest time, the power output during the rest, or any combination thereof. Parameters of an exercise function that skips interval exercises may include the number of intervals, the duration of peak work during an interval, the duration of brief rest during an interval, the power output during a peak of an interval, the duration of rest between intervals, the power output during a rest, or any combination thereof.
In some implementations, calculating the value of the at least one previously unspecified parameter may include: an exercise function is obtained from a set of predefined functions based on the type of exercise represented for the adaptive training program. The operation may then populate one or more given parameters in the exercise function and solve for at least one previously unspecified parameter. In some examples, generating the adaptive training program may include selecting data to display as instructions for a user to perform an exercise based on at least one previously unspecified parameter. The adaptive training program may also specify output or automatic exercise settings based on at least one previously unspecified parameter. In some implementations, populating the parameters in the predefined function can include using one or more default values.
In some implementations, when the user performs the adaptive training procedure, the adaptive training technique may also receive further measurements indicative of the power output when performing the adaptive training procedure. The adaptive training technique may determine a further work value based on a further measurement value indicative of the power output. Then, the adaptive training technique may update the capability function to further fit to further work values; updating one or more parameters of the exercise function based on the comparison of the exercise function to the updated competency function; generating an updated adaptive training program based on the updated parameters; and updates the output or automatic exercise settings based on the updated adaptive training program.
Brief description of the drawings
Fig. 1 is a block diagram illustrating an overview of a device on which some implementations may operate.
FIG. 2 is a block diagram illustrating an overview of an environment in which some implementations may operate.
Fig. 3 is a block diagram illustrating components that may be used in a system employing the disclosed technology in some examples.
Fig. 4 is a flow diagram illustrating a process used in some implementations for determining limited work capacity and critical power using time-based power output statistics.
5A-E are conceptual diagrams illustrating examples of windowed power output statistics to determine maximum work data points.
Fig. 5F is a conceptual diagram illustrating an example of a function fitted to a series of data points determined by windowing of time-based power output statistics.
Fig. 5G is a conceptual diagram illustrating an example of a function having a combined linear and logarithmic performance capability generated based on a determined limited work capacity and critical power.
FIG. 6 is a flow diagram illustrating a process used in some implementations for converting a determined fit function to a training program based on exercise parameters.
Fig. 7 is a conceptual diagram illustrating an example representation of an exercise function calculated by determining parameters that keep the exercise function below the fatigue point based on the fitting function parameters.
8A-C illustrate example system configurations implementing versions of the adaptive training system.
The techniques described herein may be better understood by referring to the following detailed description in conjunction with the accompanying drawings in which like reference numerals indicate identical or functionally similar elements.
Detailed Description
Turning now to the drawings, fig. 1 is a block diagram illustrating an overview of an apparatus upon which some implementations of the disclosed technology may operate. The apparatus may include hardware components of the
CPU110 may be a single processing unit or multiple processing units in a device, or distributed across multiple devices. For example, CPU110 may be coupled to other hardware devices using a bus, such as a PCI bus or SCSI bus. CPU110 may be in communication with a hardware controller of the apparatus, for example, for controlling settings of the exercise machine or providing outputs to display 130.
In some implementations, the
The CPU110 may access
Some implementations may operate with many other computing system environments or configurations. Examples of computing systems, environments, or configurations that may be suitable for use with the technology include, but are not limited to, exercise machines, personal computers, server computers, hand-held or laptop devices, cellular telephones, wearable electronics, gaming machines, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
FIG. 2 is a generalized block diagram illustrating an
In some implementations,
The computing-capable device 205 and the
The
Fig. 3 is a block diagram illustrating a
In some implementations, the critical power and limited
In some implementations,
Those skilled in the art will appreciate that the components shown in fig. 1-3 above, as well as the components in each of the flow diagrams discussed below, may be modified in a variety of ways. For example, the order of logic may be rearranged, sub-steps may be performed in parallel, the illustrated logic may be omitted, other logic may be included, and so on. In some implementations, one or more of the above-described components may perform one or more of the processes described below.
Fig. 4 is a flow diagram illustrating a
At block 404, the
In the outer loop between blocks 406 and 418, the
At block 406, the
At block 408, the
At block 412, the
At block 416, the
At block 418, the
At block 420, the
In some implementations, a variety of processes may be applied to adjust for age of the stored power output values or anomalies among the stored power output values. In some implementations, this adjustment may include smoothing the curve of the function, such as applying a gaussian kernel. In some implementations, the adjusting can include limiting the number of data points seen for a given window size. For example, only data points with a window size not exceeding six weeks are used, or only the last six data points are used. In some implementations, the value of each data point may be weighted (decayed) based on its age. Weighting may be accomplished using a variety of decay functions, such as exponential decay. For example, the value of each data point may be multiplied by.99 ^ (age _ in _ weeks). As another example, each data point may be multiplied by e ^ (V ^ age), where V may be a value less than 1, e.g., 0004, and age may be performed in various increments, e.g., days post exercise to generate the data point.
In some implementations, there are multiple data points (e.g., from different exercises) for a single window size, and the function is only fit to the maximum work data point (or maximum point after applying any weights) for each window size. In some implementations, once the function is fit to the stored data points, the memory storing data points that are not used as part of the fit may be freed, for example, because there are larger data points for the same window size.
A function fitted to the data points representing the maximum power output capability of the user over a time range may specify a Critical Power (CP) for the user. The fitted function may also specify a limited work capacity (W') for the user. The critical power may be the slope of the function, or in the case of a non-linear function, the slope of the function between two points. Thus, the critical power may represent an additional amount of work that the user may perform given any specified amount of additional time. The limited work capacity may be the y-intercept (work output, e.g., joules, value) of the function. Thus, the limited work capacity represents the initial amount of work that the user can perform without additional time.
In some implementations, the determined critical power and limited work capacity may be used to generate a new capacity function that more accurately defines the user's capacity, particularly in the early intervals of exercise, such as within the first 60 seconds. For example, the function may be more accurate in view of the real-world environment, such as the fact that at a given time, zero, the user's ability to perform work is also zero. In some implementations, the new capability function may be a combination of linear and logarithmic functions. For example, the capacity function may be specified as W CP t + W log (t +1), where W is the work capacity (dependent variable) and t is a given amount of time (independent variable). Using this new capability function can provide a more stable, more powerful fit optimization because it takes into account the curvature seen in the data over time.
The
5A-E are conceptual diagrams illustrating examples of windowed power output statistics to determine maximum work data points. These maximum work data points may be used to calculate a capacity function. Fig. 5A-E illustrate example implementations of the loop between blocks 406-418. FIG. 5A shows
FIG. 5B shows step 515 of this example. The
Fig. 5C shows step 530 of this example. The next window 534 has been determined to correspond to the maximum area 536 for the 12 second window size under
FIG. 5D shows step 545 for this example. The next window 548 has been determined as the
Fig. 5E shows step 560 of this example. The next window 562 has been determined as the
Once the data points identified in FIGS. 5A-E are known, they can be used to define a capability function. In some implementations, the
Fig. 5F is a conceptual diagram illustrating an example 580 having a function fitted to a set of data points for determining the critical power and limited work capacity of a user. The function is calculated by determining a fit to a series of data points obtained by windowing of the time-based power output statistics, as shown in fig. 4. Fig. 5F shows work 582 (y-axis, in joules) versus time 584 (x-axis; in seconds).
Example 580 includes a set of data points, such as data points 586. Each data point is a maximum work done value data point from a set of possible work done value data points for the workout, each possible work done value data point corresponding to a particular window size. In the example 580, a set of possible data points (not shown) is acquired at a window size of 1150 seconds at block 410, and one data point representing the maximum amount of work done (i.e., the area under the power output curve) in the 1150 second window of the workout is stored as data point 586 at block 416. Examples of this process are provided in fig. 5A-E. Additional data points at the 1150 second mark above and below data point 586 are from statistics of other exercises.
In example 580,
Fig. 5G is a conceptual diagram illustrating an example of a combined linear and logarithmic performance capability function having a result based on a determined limited work capacity and critical power. In this example, the Critical Power (CP) and the limited work capacity (W') have been determined. These values are used to generate a
FIG. 6 is a flow diagram illustrating a process 600 used in some implementations for determining a user-specific training program by determining an exercise parameter based on a user-determined threshold power or capacity function. In some implementations, the process 600 may be performed continuously, for example, as exercise information is input into the adaptive training system during an exercise. In some implementations, process 600 may be performed in advance, e.g., generating a workout for a user before the user begins exercising. The process 600 begins at block 602 and continues to block 604.
The adaptive training program may include one or more exercises, and each exercise may be defined by a set of parameters that map the exercise to a work value at a given time. For example, in defining a sprint exercise for a user, the parameters may be only the duration and power output of the sprint period. As another example, for interval exercises with fixed intervals, the parameters may be: number of intervals, duration of intervals, power output during intervals, rest time, and power output during rest time. As another example, for interval exercises with "skip intervals", the parameters may be: the number of intervals, the duration of peak work during an interval, the duration of a brief rest period within an interval, the power output during the peak of an interval, the duration of rest between intervals, and the power output during rest. In some implementations, the workout may also include a difficulty factor parameter that specifies how close the workout should bring to the user's maximum work capacity.
At block 604, the process 600 may receive a partial set of parameters for a workout. In some implementations, the parameters received at block 604 may be all but one of the parameters required for a specified workout. For example, for interval exercises with fixed intervals, all parameters except the defined number of intervals may be provided. In some implementations, one or more of the exercise parameters may be set by a variety of methods, such as by user input, using default values, using values established to further achieve certain goals (e.g., increasing critical power capabilities, increasing limited work capacity, increasing sprint capacity by having shorter and more strenuous exercises, or durability with longer, less strenuous exercises), etc. In some implementations, the exercise parameter may be limited to certain values, such as a number or duration of maximum or minimum times or intervals, or the like. These limits may be set so that the remaining parameters determined by the system are realistic (i.e., it is not recommended to perform two days or 12 seconds of exercise) or so that the exercise based on the parameters is easier to follow (e.g., interval length is an integer).
At block 606, the process 600 may use the received exercise parameters and user capability indicators including one or more of the following: a "fit function" defined by a function fitted to a set of exercise statistics for work versus time, or a set of exercise statistics for work versus time as a defined boundary, for a user's critical power and limited work function force values. In some implementations, the user capability indicator of the user can be calculated each time it is needed, for example, by performing
The process 600 may then use the exercise parameters and the user ability indicators to calculate parameters that define the exercise as lacking specific to the user. For each type of exercise, a transformation may be determined to map a function of the exercise defined (based on exercise parameters) from a work versus time perspective. The function defining the workout may be specified so that it does not exceed the user's "competency line" defined by the received user competency indicator. In various implementations, the capability line may be a capability function, a defined boundary, or a line determined by setting the critical power of the user to a slope and the limited work capacity of the user to a y-intercept. The point at which the exercise function intersects the ability line is the fatigue point, i.e., the point at which the user is deemed to no longer be able to perform any work at the same intensity level. Examples of such parameterization and comparison are provided below in connection with fig. 7 and the appendix. In some implementations, the capability line may be reduced (the y-intercept may be reduced with the same slope) so that the user is only expected to be within a threshold amount of the total fatigue point. In some implementations, a default y-intercept (e.g., 0) may be set. This can be done, for example, when only critical power is available for the user, or when this would be a particularly lengthy exercise.
At block 608, the process 600 may provide a user-specific training program based on the now complete set of exercise parameters. For example, a course may represent a workout duration, may cause a setting to be established on an exercise machine, may integrate a workout into a set of multiple workouts, and so on. In some implementations, the process 600 may continuously monitor power output during a user exercise, update the user's competency function for observed power output, and update exercise parameters accordingly. The process 600 may then provide further updates to the user, for example, suggesting that they slow down if they are expected to reach their fatigue point before the end of the exercise program; or suggest themselves to speed up if they do not expect to meet the goal.
FIG. 7 is a conceptual diagram illustrating an example 700 representation of an exercise function 702 for a user-specific exercise. The user-specific workout is calculated by determining a time parameter 704, which time parameter 704 maintains all values of the workout function 702 below the user's ability line 706 during the workout.
In example 700, for example, the user's critical power and limited work capacity are known, such as by performing
In example 700, the workout is an interval workout having regular intervals. The durations of the rest period 710 and the high intensity period 712 are set by the user through the user interface, and the slope of the line segment 714 during the high intensity period is set to a first default value based on the expected running speed during these high intensity portions, and the slope of the line segment 716 during the remaining portion is set to a second default value based on another expected running speed during the remaining portion.
The adaptive training system determines the point of intersection between the user's line of ability and the function representing the exercise, i.e., the fatigue point 708. The time to fatigue value 704 is the time determined for this exercise to allow the user to reach her point of fatigue. Additional details regarding how the adaptive training system performs these operations are provided in the appendix.
8A-C illustrate examples 800, 820, and 860, which illustrate system configurations that implement versions of the adaptive training system. In FIG. 8A, example 800 illustrates a configuration in which an adaptive training system is integrated into an exercise machine 810. The example 800 begins with a measurement representing the power output (e.g., speed and incline) of a user, which is recorded during an exercise. At 804, circuitry in the exercise machine converts the power measurement to a value to do work. The circuitry then uses these values of work to determine a capability function for the user, and uses the capability function to generate a training program. In some implementations, step 804 may be accomplished using
The exercise program may be used to automatically control the functions of the exercise machine at 806, such as by setting a speed, duration, or incline setting. Additionally or alternatively, at 806, an output may be provided on a display of the exercise machine or an associated device (e.g., a user paired mobile device) using the resulting exercise program. The output may display statistics about the exercise, instructions for performing a training program, and the like. While example 800 may end at the end of an exercise session, in some implementations, data from the exercise session may be stored in 808. For example, the data may include a determined maximum work point, a capacity function, exercise duration, speed, calories consumed, and the like. This data may be sent to the user's mobile device or server. The system may store this output in association with a user profile.
In FIG. 8B, example 820 illustrates a configuration in which an adaptive training system is implemented in a network of exercise machines, such as
At
The exercise program may be automatically implemented by
In fig. 8C, example 860 illustrates a configuration in which an adaptive training system is implemented on a
The received exercise statistics, a transformation of these statistics, or the resulting training program may be stored by
In various implementations, aspects of the configurations from any of examples 800, 820, and 860 may be combined. For example,
The following is a non-exhaustive list of additional examples of the disclosed technology.
1. An exercise machine system for automatically providing an adaptive training program, the system comprising:
an exercise device that implements a particular type of workout having given parameters;
an instrument system integrated with the exercise machine that obtains a measurement indicative of power output; and
a processing component configured to generate the adaptive training program by:
within the measurement representing power output, a work value for each particular window size of a plurality of window size durations is determined by:
determining a maximum integral of a function specified by the measurement indicative of power output for an interval matching the particular window size;
fitting a function to the determined work value as a capability function;
applying the given parameter and at least one additional parameter to an exercise function defined for the workout of the particular type such that a value of the exercise function does not exceed a value of the competency function at any time during the duration of the workout; and
generating the adaptive training program using the given parameter and at least one additional parameter;
wherein the output or settings of the exercise device are automatically provided based on the adaptive training program.
2. According to the exercise machine system of example 1,
wherein the exercise machine system further comprises a plurality of exercise machines connected via a network; and
wherein fitting a function to the work done values determined for a plurality of window size durations further comprises fitting the function to additional work done values determined for the plurality of window size durations based on a measurement representative of a power output taken on one of the networked exercise machines other than the exercise device.
3. The exercise machine system of example 2, wherein fitting the function to the work value and the additional work value comprises:
for each particular window size, selecting a maximum of the work value and the additional work value corresponding to the particular window size; and
fitting a function to the selected maximum value of the window size.
4. The exercise machine system of any of examples 1-3, wherein the processing component is a server system connected to the network.
5. The exercise machine system of any of examples 1-4, wherein the processing component generates the adaptive training program in response to an identification comprising:
code representing a user provided to the exercise or the processing component by a user or a mobile device associated with the user; or
Code representing the exercise device provided to the processing component by the user or the mobile device associated with the user.
6. According to the exercise machine system of example 5,
wherein the processing component generates the adaptive training program in response to an identification comprising code representing the exercise device; and
wherein the code representing the exercise device is provided to the mobile device by an image capture system on the mobile device that captures an alphanumeric code, barcode, or QR code displayed with the exercise device.
7. According to the exercise machine system of example 5,
wherein the processing component generates the adaptive training program in response to an identification comprising the code representing the user; and
wherein the code representing the user is provided to the exercise device by the mobile device via wireless communication.
8. The exercise machine system of any of examples 1-3 or 7, wherein the processing component is incorporated in the exercise device.
9. The exercise machine system of any of example embodiments 1-3 or 7, wherein the processing component is incorporated into a mobile device associated with a user of the exercise device.
10. The exercise machine system of any of examples 1-9, wherein the automatically providing the output or settings of the exercise device comprises providing the output to a server system, the output comprising at least one representation of the at least one additional parameter.
11. The exercise machine system of any of examples 1-10, wherein the automatically providing the output or settings of the exercise device comprises providing an output to a mobile device, the output comprising at least one representation of the at least one additional parameter.
12. The exercise machine system of any of examples 1-11, wherein the automatically providing the output or settings of the exercise device comprises providing the output to a mobile device, the output comprising data to be manipulated by executing instructions on the mobile device configured to provide a display to a user to implement an adaptive training program.
13. The exercise machine system of any of examples 1-12, wherein the automatically providing the output or settings of the exercise device comprises providing the output to the exercise device, the output configured to cause a display of the exercise device to provide instructions for the adaptive training program.
14. The exercise machine system of any of examples 1-13, wherein the automatically providing the output or settings of the exercise device comprises providing the settings to the exercise device, wherein the exercise device automatically implements the adaptive training program based on the settings to cause the exercise device to implement the given parameter and the at least one additional parameter.
15. The exercise machine system of any of examples 1-14, wherein the automatically providing the output or settings of the exercise device comprises providing the output to a server system or a mobile device, wherein the output is stored in association with a user profile containing one or more of:
at least some of the determined work values;
the capability function;
statistics of the adaptive training program;
a measure of actual performance during the training;
personal information; or
Any combination thereof.
16. The exercise machine system of any of examples 1-15, further comprising an internet-based interface accessible through a web browser or a mobile device application, wherein the internet-based interface provides access to a user profile associated with a plurality of exercises performed by a user.
17. The exercise machine system of any of examples 1-16, wherein the measurements indicative of power output include one or more of:
speed;
revolutions per minute;
resistance force;
inclining;
a distance;
a duration of time; or
Any combination thereof.
18. The exercise machine system of any one of examples 1-17, wherein the capacity function is a linear function.
19. The exercise machine system of any of examples 2 or 3,
wherein the processing component is a server system connected to the network; and
wherein the server system obtains, in response to authentication of the user, an additional work value stored in association with user configuration information for the user, and generates the adaptive training program.
20. The exercise machine system of any of examples 1-19, wherein the particular type is an interval type exercise.
21. The exercise machine system of example 20, wherein the given parameters for the interval type exercise include one or more of: the number of intervals, the duration of the intervals, the power output during the intervals, the duration of the rest, the power output during the rest, or any combination thereof.
22. The exercise machine system of any of examples 1-19, wherein the particular type is a skip interval type exercise.
23. The exercise machine system of example 22, wherein the given parameters of the skip interval type exercise include one or more of: the number of intervals, the duration of peak work during an interval, the duration of short rest periods within an interval, the power output during peak intervals of an interval, the duration of rest between intervals, the power output during rest periods, or any combination thereof.
24. The exercise machine system of any one of examples 1-23,
wherein applying the given parameter and at least one additional parameter to an exercise function defined for the particular type of the workout comprises:
obtaining a predefined function for the particular type of the workout;
filling the given parameter in the predefined function; and
solving for the at least one additional parameter, wherein the at least one additional parameter includes only one additional parameter; and
wherein generating the adaptive training program using the given parameter and at least one additional parameter comprises:
selecting display data to instruct the user to perform an exercise based on at least the given parameter and the solved at least one additional parameter; or
Specifying a setting for the exercise machine based on at least the given parameter and the solved at least one additional parameter.
25. The exercise machine system of example 24, wherein filling the given parameter in the predefined function includes using one or more default values for one or more of the function parameters that are not included in the given parameter and that are not included in the at least one additional parameter.
26. The exercise machine system of any one of examples 1-5, wherein the processing component is further configured to:
receiving a further measurement indicative of power output while performing the adaptive training procedure;
determining a further work value based on the further measurement value representative of power output;
updating the capability function to further fit to the further work done value;
updating one or more of the given parameter or the at least one additional parameter based on the updated capability function;
generating an updated adaptive training program based on the updated parameters; and
updating the output or settings of the exercise device based on the updated adaptive training program.
27. A method for providing an adaptive training program, the method comprising:
obtaining a measurement indicative of power output;
determining a work value for each particular window size of a plurality of window size durations representing a measure of power output by:
determining a maximum integral of a function specified by a measurement representative of power output for an interval matching the particular window size;
fitting a function to the work done values determined for the plurality of window size durations as a capability function;
calculating a value for at least one previously unspecified parameter for a workout such that a value for an exercise function using the previously unspecified parameter does not exceed a corresponding value for the competency function at any time during the duration of the workout;
generating the adaptive training program using the at least one previously unspecified parameter; and
providing an output or automatic exercise setting based on the adaptive training program.
28. The method of example 27, wherein the measurement indicative of power output is obtained by a user manual input.
29. The method of example 27, wherein the measurement indicative of power output is obtained via recorded exercise statistics taken by a wearable fitness tracker.
30. The method of example 27, wherein the measurement indicative of power output is obtained by an instrumentation system integrated into the exercise device.
31. The method of any one of examples 27-30,
wherein the method is implemented for a plurality of exercise machines connected over a network;
wherein the measurement indicative of power output is obtained from a first one of the networked exercise machines;
wherein a second set of measurements representative of power output is taken from a second one of the networked exercise machines, converted to additional work values for a corresponding window size, and weighted based on an age of the second set of measurements; and
wherein fitting the function to the work values determined for the plurality of window size durations further comprises fitting the function to additional work values.
32. The method of example 31, wherein the fitting the function to the work value and the additional work value comprises:
for each particular window size, selecting a maximum of the work value and the additional work value corresponding to the particular window size; and
fitting the function to the selected maximum value for the window size.
33. The method of any of examples 27-32, wherein the method is performed by a server system connected to a plurality of exercise machines.
34. The method of any of examples 27-33, wherein generating the adaptive training program is in response to an identification comprising:
code representing a user or an exercise device is provided by a user, a mobile device associated with the user, or by the exercise device.
35. According to the method as set forth in example 34,
wherein generating the adaptive training program is in response to an identification that includes the code representing the exercise device; and
wherein the code representing the exercise device is provided to the mobile device by an image capture system on the mobile device that captures an alphanumeric code, barcode, or QR code displayed with the exercise device.
36. According to the method as set forth in example 34,
wherein generating the adaptive training program is in response to an identification that includes the code representing the user; and
wherein the code representing the user is provided by the mobile device.
37. The method of any of examples 27-30 or 36, wherein the method is performed by an exercise machine.
38. The method of any of examples 27-30 or 36, wherein the method is performed by a mobile device associated with a user of an exercise apparatus.
39. The method of any of examples 27-38, wherein providing the output or automatic workout settings comprises providing the output to a server system, the output including at least one representation of the at least one additional parameter.
40. The method of any of examples 27-39, wherein providing the output or automatic workout settings comprises providing an output to a mobile device, the output comprising at least one representation of the at least one previously unspecified parameter.
41. The method of any of examples 27-40, wherein providing the output or automatic exercise settings comprises providing the output to a mobile device, the output comprising data to be manipulated by execution of instructions on the mobile device configured to provide a display for a user to implement the adaptive training program.
42. The method of any of examples 27-41, wherein providing the output or automatic exercise settings comprises providing the output to an exercise device, the output configured to cause a display of the exercise device to provide instructions for the adaptive training program.
43. The method of any of examples 27-42, wherein providing the output or automatic exercise settings comprises providing automatic exercise settings to an exercise device, wherein the exercise device automatically implements the adaptive training program based on the automatic exercise settings such that the exercise device performs the given parameter and at least one previously unspecified parameter.
44. The method of examples 27-43, wherein providing the output or automatic workout settings comprises providing the output to a server system or a mobile device, wherein the output is stored in association with a user profile comprising one or more of:
at least some of the determined work values;
the capability function;
statistics of the adaptive training program;
a measure of actual performance during the training session;
personal information; or
Any combination thereof.
45. The method of any of examples 27-44, further comprising: providing an internet-based interface accessible through a web browser or a mobile device application, wherein the internet-based interface provides access to a user profile associated with a plurality of workouts performed by a user.
46. The method of any of examples 27-45, wherein the measurement indicative of power output comprises one or more of:
speed;
revolutions per minute;
resistance force;
inclining;
the distance between the first and second electrodes,
a duration of time;
the weight of the patient is measured by the weight meter,
repeating; or
Any combination thereof.
47. The method of any of examples 27-46, further comprising:
determining a critical power and a limited work capacity of a user associated with the measurement based on the capacity function; and
modifying the capacity function to a linear and logarithmic function using a combination of the critical power and the limited work capacity.
48. The method of any one of examples 31 or 32,
wherein the method is performed by a server system connected to the network; and
wherein the server system obtains the additional work done value stored in association with a user profile of the user in response to authentication of the user, and generates the adaptive training program.
49. The method of any of examples 27-48, wherein the exercise function is defined for interval type exercises.
50. The method of example 49, wherein the given parameters of the interval type exercise function include at least three of: the number of intervals, the duration of the intervals, the power output during the intervals, the duration of the rest, the power output during the rest, or any combination thereof.
51. The method of any of examples 27-48, wherein the workout function is defined for skip interval type workouts.
52. The method of example 51, wherein the given parameters of the skip interval type exercise function include at least three of: the number of intervals, the duration of peak work during an interval, the duration of a brief rest period within an interval, the power output during peak intervals of an interval, the rest period between intervals, the power output during a rest period, or any combination thereof.
53. The method of any one of examples 27-52,
wherein calculating the value of the at least one previously unspecified parameter comprises:
obtaining the exercise function from a set of predefined functions based on the represented exercise type of the adaptive training program;
populating the predefined exercise function with one or more given parameters; and
solving for the at least one previously unspecified parameter, wherein the at least one previously unspecified parameter includes only one parameter; and
wherein generating the adaptive training program using the at least one previously unspecified parameter comprises:
selecting data to be displayed to instruct the user to perform an exercise based on at least the at least one previously unspecified parameter; or
The output or automatic workout settings are specified based on at least one previously unspecified parameter.
54. The method of example 53, wherein populating the one or more given parameters in the predefined function includes using one or more default values for one or more of the exercise function parameters that are not included in the given parameters and are not included in the at least one previously unspecified parameter.
55. The method of any of examples 27-54, further comprising:
receiving a further measurement representative of power output when the adaptive training procedure is executed;
determining a further work value based on a further measurement value representative of the power output;
updating the capability function to further fit the further work value;
updating one or more parameters of the exercise function based on the comparison of the exercise function to the updated competency function;
generating an updated adaptive training program based on the updated parameters; and
updating the output or automatic exercise settings based on the updated adaptive training program.
56. A computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform operations for automatically providing an adaptive training program, the operations comprising:
acquiring given parameters of a training course;
obtaining a measurement indicative of power output;
generating the adaptive training program by:
determining a capability function or a critical power estimate based on the measurement indicative of power output; and
generating the training program using (a) the capability function or critical power estimate and (B) the given parameter, the training program including a value of at least one previously unspecified parameter; and
providing the adaptive training program.
57. The computer-readable storage medium of example 56, wherein the operations further comprise determining a work value for each particular window size of a plurality of window size durations representing a measurement of power output by determining a maximum integral of a function specified by the measurement representing power output for an interval matching the particular window size.
58. The computer readable storage medium of example 57, wherein determining the capacity function or critical power estimate comprises fitting a function to the work done values determined for the plurality of window size durations.
59. The computer-readable storage medium of example 57, wherein generating the adaptive training program is performed by calculating a value for each of the at least one previously unspecified parameter such that a value of an exercise function using the at least one previously unspecified parameter does not exceed a corresponding value of the competency function at any time during the course's duration.
60. The computer-readable storage medium of any of examples 56-59, wherein the measurement indicative of power output is obtained by a manual input by a user.
61. The computer-readable storage medium of any of examples 56-59, wherein the measurement representative of power output is obtained through recorded exercise statistics acquired by a wearable fitness tracker.
62. The computer readable storage medium of any of examples 56-59, wherein the measurement indicative of power output is obtained by an instrumentation system integrated into an exercise device.
63. According to the computer-readable storage medium of example 58,
wherein the computing system is coupled to a network connecting a plurality of exercise machines;
wherein the measurement indicative of power output is obtained by a first one of the networked exercise machines;
wherein a second set of measurements representative of power output is obtained by a second one of the networked exercise machines, the second set of measurements converted to additional work values for a corresponding window size; and
wherein fitting a function to the work values determined for the plurality of window size durations further comprises fitting the function to the additional work values as well.
64. According to the computer-readable storage medium of example 58,
wherein the computing system is coupled to a network connecting a plurality of exercise machines;
wherein said measurement representative of power output is taken by a first of said networked exercise machines;
wherein a second set of measurements representative of power output is obtained by a second one of the networked exercise machines, the second set of measurements converted to additional work values for a corresponding window size; and
wherein said fitting the function to the determined work values for the plurality of window size durations further comprises fitting the function to the additional work values as well; and
wherein said fitting the function to the work value and additional work values comprises:
for each specific window size, selecting the maximum value of the work value and the additional work value corresponding to the specific window size; and
fitting the function to a selected maximum value of the window size.
65. The computer-readable storage medium of any of examples 56-64, wherein the operations are performed by a server system connected to a plurality of exercise machines.
66. The computer-readable storage medium according to any one of claims 56-65, wherein the adaptive training program is generated in response to an identification comprising:
code representing the user or the exercise device is provided by the user, by a mobile device associated with the user, or by the exercise device.
67. According to the computer-readable storage medium of example 66,
wherein the generating of the adaptive training program is in response to an identification that includes code representing the exercise device; and
wherein the code representing the exercise device is provided to the mobile device by an image capture system on the mobile device that captures an alphanumeric code, barcode, or QR code displayed with the exercise device.
68. According to the computer-readable storage medium of example 66,
wherein the generating of the adaptive training program is in response to an identification that includes the code representing the user; and
wherein the code representing the user is to provide a communication of the code to the exercise device through the mobile device.
69. The computer-readable storage medium of any of examples 56-64, wherein the operations are performed by an exercise machine.
70. The computer-readable storage medium of any of examples 56-64, wherein the operation is performed by a mobile device associated with a user of an exercise apparatus.
71. The computer-readable storage medium of any of examples 56-70, wherein providing the adaptive training program includes providing an output to a server system, the output including at least one representation of the at least one previously unspecified parameter.
72. The computer-readable storage medium of any of examples 56-71, wherein providing the adaptive training program includes providing an output to a mobile device, the output including at least one representation of the at least one previously unspecified parameter.
73. The computer-readable storage medium of any of examples 56-72, wherein providing the adaptive training program comprises providing an output to a mobile device, the output comprising data to be operated on by executing instructions on the mobile device configured to provide a display to a user to implement the adaptive training program.
74. The computer-readable storage medium of any of examples 56-73, wherein providing the adaptive training program includes providing an output to an exercise device, the output configured to cause a display of the exercise device to provide instructions for the adaptive training program.
75. The computer-readable storage medium of any of examples 56-74, wherein providing the adaptive training program includes providing automatic exercise settings to an exercise device, wherein the exercise device automatically implements the adaptive training program based on the automatic exercise settings.
76. The computer-readable storage medium of any one of examples 56-75, wherein the operations further comprise providing output to a server system or a mobile device, the output stored in association with a user profile, the user profile comprising one or more of:
at least some of the determined work values;
the capability function;
counting self-adaptive training courses;
a measure of actual performance during the training session;
personal information; or
Any combination thereof.
77. The computer-readable storage medium of any one of examples 56-76, wherein the operations further comprise: providing an internet-based interface accessible through a web browser or mobile device application, wherein the internet-based interface provides access to a user profile associated with a plurality of exercises performed by a user.
78. The computer-readable storage medium of any one of examples 56-77, wherein the measurement indicative of power output includes one or more of:
speed;
revolutions per minute;
resistance force;
inclining;
distance and duration;
body weight and number of repetitions; or
Any combination thereof.
79. The computer-readable storage medium of any one of examples 56-78, wherein the capability function is a linear function.
80. The computer-readable storage medium of any one of examples 56-79,
wherein the operations further comprise calculating the value of the at least one previously unspecified parameter by:
obtaining an exercise function from a set of predefined functions based on the represented exercise type of the adaptive training program;
filling the given parameter in the exercise function; and
solving for the at least one previously unspecified parameter, wherein the at least one previously unspecified parameter includes only one parameter; and
wherein generating the adaptive training program comprises:
selecting data to be displayed to instruct the user to perform an exercise based on at least the at least one previously unspecified parameter; or
An automatic workout setting is specified based on the at least one previously unspecified parameter.
81. The computer-readable storage medium of example 53, wherein populating the one or more given parameters in the predefined function includes using one or more default values for one or more of the exercise function parameters that are not included in the given parameters and that are not included in the at least one previously unspecified parameter.
82. The computer-readable storage medium of any one of examples 56-81, wherein the operations further comprise:
receiving a further measurement representative of power output when the adaptive training procedure is executed;
determining a further work value based on a further measurement value representative of the power output;
updating the capability function to further fit the further work value; and
an updated adaptive training program is generated based on the capability function.
83. A method performed by a mobile device for providing an adaptive training procedure, the method comprising:
obtaining a measurement indicative of power output;
determining a work value for each particular window size of a plurality of window size durations representing the measure of power output by:
determining a maximum integral of a function specified by a measurement representative of power output over an interval matching the particular window size;
fitting a function to the work done values determined for the plurality of window size durations as a capability function;
calculating a value for at least one previously unspecified parameter for a workout such that the value of an exercise function using the previously unspecified parameter does not exceed a corresponding value of the competency function at any time during the duration of the workout;
generating the adaptive training program using the at least one previously unspecified parameter; and
sending an automatic exercise setting to an exercise device based on the adaptive training program, wherein the exercise device automatically implements the adaptive training program based on the automatic exercise setting.
Several implementations of the disclosed technology are described above with reference to the accompanying drawings. A computing device on which the techniques may be implemented may include one or more central processing units, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), storage devices (e.g., disk drives), and network devices (e.g., network interfaces). The memory and storage devices are computer-readable storage media that may store instructions that implement at least a portion of the described techniques. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link. A variety of communication links may be used, such as the internet, a local area network, a wide area network, or a point-to-point dial-up connection. Thus, computer-readable media may include computer-readable storage media (e.g., "non-transitory" media) and computer-readable transmission media.
Reference in the specification to "an implementation" (e.g., "some implementations," "one implementation," "an implementation," etc.) means that a particular feature, structure, or characteristic described in connection with the implementation is included in at least one implementation of the present disclosure. The appearances of such phrases in various places in the specification are not necessarily all referring to the same implementation, nor are separate or alternative implementations mutually exclusive of other implementations. In addition, various features are described which may be exhibited by some implementations rather than by others. Similarly, various requirements are described which may be requirements for some implementations but not other implementations.
As used herein, above a threshold means that the value of the item in the comparison is higher than other values specified, the item in the comparison is among some specified number of items having the greatest value, or the item in the comparison is within a specified highest percentage value. As used herein, below a threshold means that the value of the item in the comparison is below the other values specified, the item in the comparison is among some specified number of items having the smallest value, or the item in the comparison has a value within a specified bottom percentage value. As used herein, within a threshold means that the value of the item in comparison is between two specified other values, the item in comparison is between a specified number of items in the middle, or the item in comparison has a value in a specified percentage range in the middle. Relative terms, such as high or not important, if not otherwise defined, may be understood as assigning a value and determining how the value compares to an established threshold. For example, the phrase "selecting a quick connection" may be understood to mean selecting a connection having an assigned value corresponding to its connection speed above a threshold value.
As used herein, the word "or" refers to any possible permutation of a group of items. For example, the phrase "a, B, or C" refers to at least one of a, B, C, or any combination thereof, such as any of: a; b; c; a and B; a and C; b and C; a, B and C; or multiples of any item, such as a and a; b, B, and C; a, A, B, C, and C; and so on.
Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Specific examples and implementations have been described herein for purposes of illustration, but various modifications may be made without deviating from the scope of the examples and implementations. The specific features and acts described above are disclosed as example forms of implementing the claims. Accordingly, examples and implementations are not limited except by the appended claims.
Any of the patents, patent applications, and other references mentioned above are incorporated herein by reference. Aspects can be modified, if necessary, to employ the systems, functions, and concepts of the various references described above to provide yet further implementations. In the event of a conflict between a statement or subject matter in a document incorporated by reference and a statement or subject matter of this application, this application controls.
- 上一篇:一种医用注射器针头装配设备
- 下一篇:信息处理设备、分析设备和信息处理系统