SYSTEMS AND METHODS FOR USING ARTIFICIAL INTELLIGENCE TO GENERATE EXERCISE PLANS BASED ON USER ENERGY CONSUMPTION METRICS

Information

  • Patent Application
  • 20220314073
  • Publication Number
    20220314073
  • Date Filed
    March 30, 2022
    2 years ago
  • Date Published
    October 06, 2022
    2 years ago
Abstract
Systems, methods, and computer-readable mediums for generating, by an artificial intelligence engine, an exercise plan for a user to perform. The method comprises receiving data pertaining to the user and generating user energy consumption metrics for a plurality of exercises. Each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and user fitness test results. The method also includes generating the exercise plan based at least on the user energy consumption metrics and a user energy score. The exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score. The method further includes transmitting the exercise plan to a computing device.
Description
TECHNICAL FIELD

The present disclosure relates to exercise machines. More specifically, the present disclosure relates to adjustment of exercise based on artificial intelligence, exercise plan, and user feedback.


BACKGROUND

Exercise and rehabilitation devices, such as a cycling machine and balance equipment, are used to facilitate exercise, strength training, osteogenesis, and/or rehabilitation of a user. A user may perform an exercise (e.g., cycling, balancing, bench press, pull down, arm curl, etc.) using the osteogenic isometric exercise, rehabilitation, and/or strength training equipment to improve osteogenesis, bone growth, bone density, muscular hypertrophy, flexibility, balance, coordination, reduce pain, decrease rehabilitation time, increase strength, or some combination thereof. The isometric exercise, rehabilitation, and/or strength training equipment may include moveable portions onto which the user adds a load or balances. For example, to perform a cycling exercise, the user may sit in a seat, place each of the user's feet on a respective pedal of an cycling machine, and push on the pedals with the user's feet while each of the pedals rotate in a circular motion. To perform a balancing exercise, the user may stand on a balance board and balance on top of the balance board as it shifts in one or more directions. The isometric exercise, rehabilitation, and/or strength training equipment may include non-movable portions onto which the user adds load. For example, to perform a leg-press-style exercise, the user may sit in a seat, place each of the user's feet on a respective foot plate, and push on the feet plates with the user's feet while the foot plates remain in the same position.


SUMMARY

Representative implementations set forth herein disclose various techniques for an adjustment of exercise based on artificial intelligence, exercise plan, and user feedback. As used herein, the terms “exercise apparatus,” “exercise device,” “electromechanical device,” “exercise machine,” “rehabilitation device,” “cycling machine” “balance board,” and “isometric exercise and rehabilitation assembly” may be used interchangeably. The terms “exercise apparatus,” “exercise device,” “electromechanical device,” “exercise machine,” “rehabilitation device,” “cycling machine” “balance board,” and “isometric exercise and rehabilitation assembly” may also refer to an osteogenic, strength training, isometric exercise, and/or rehabilitation assembly.


The present disclosure provides a method for generating, by an artificial intelligence engine, an exercise plan for a user to perform. The method comprises receiving data pertaining to the user. The data comprises, for example, user fitness test results. The method also includes generating, by the artificial intelligence engine, user energy consumption metrics for a plurality of exercises. Each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and the user fitness test results. The method further includes generating, by the artificial intelligence engine, the exercise plan. The generating is based at least on the user energy consumption metrics and a user energy score. The exercise plan includes, for example, at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score. The method also includes transmitting the exercise plan to a computing device.


The present disclosure also provides a system for generating, by an artificial intelligence engine, an exercise plan for a user to perform. The system comprises, in one implementation, a memory device and a processing device. The memory device stores instructions. The processing device is communicatively coupled to the memory device. The processing device is configured to execute the instructions to receive data pertaining to the user. The data comprises, for example, user fitness test results. The processing device is also configured to execute the instructions to generate, by the artificial intelligence engine, user energy consumption metrics for a plurality of exercises. Each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a MET value for the respective one of the plurality of exercises and the user fitness test results. The processing device is further configured to execute the instructions to generate, by the artificial intelligence engine, the exercise plan. The generating is based at least on the user energy consumption metrics and a user energy score. The exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score. The processing device is also configured to execute the instructions to transmit the exercise plan to a computing device.


The present disclosure further provides a tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to receive data pertaining to a user. The data comprises, for example, user fitness test results. The instructions also cause the processing device to generate, by an artificial intelligence engine, user energy consumption metrics for a plurality of exercises. Each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a MET value for the respective one of the plurality of exercises and the user fitness test results. The instructions further cause the processing device to generate, by the artificial intelligence engine, an exercise plan. The generating is based at least on the user energy consumption metrics and a user energy score. The exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score. The instructions also cause the processing device to transmit the exercise plan to a computing device.


Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.





BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings. It is emphasized that, according to common practice, the various features of the drawings are not to-scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity.



FIG. 1 illustrates a high-level component diagram of an illustrative system architecture according to certain implementations of this disclosure.



FIG. 2 illustrates an elevated perspective view of one implementations of an isometric exercise and rehabilitation assembly.



FIG. 3 illustrates a perspective view of the isometric exercise and rehabilitation assembly.



FIG. 4 illustrates a side view of the isometric exercise and rehabilitation assembly.



FIG. 5 illustrates a side view of the isometric exercise and rehabilitation assembly with a user performing a leg-press-style exercise.



FIG. 6 illustrates a side view of the isometric exercise and rehabilitation assembly with a user performing a chest-press-style exercise.



FIG. 7 illustrates a side view of the isometric exercise and rehabilitation assembly with a user performing a core-pull-style exercise.



FIG. 8 illustrates a side view of the isometric exercise and rehabilitation assembly with a user performing a suitcase-lift-style exercise.



FIG. 9 illustrates four examples of load cells that can be used in the isometric exercise assembly.



FIG. 10 illustrates a side view of a second implementation of the isometric exercise and rehabilitation assembly with the user performing a chest-press-style exercise and a user interface presenting information to the user.



FIG. 11 illustrates a side view of the second implementation of the isometric exercise and rehabilitation assembly with a user performing a suitcase-lift-style exercise and a user interface presenting information to the user.



FIG. 12 illustrates a side view of the second implementation of the isometric exercise and rehabilitation assembly with a user performing an arm-curl-style exercise and a user interface presenting information to the user.



FIG. 13 illustrates a side view of the second implementation of the isometric exercise and rehabilitation assembly with a user performing a leg-press-style exercise and a user interface presenting information to the user.



FIG. 14 illustrates a side view of a third implementation of the isometric exercise and rehabilitation assembly with the user performing a chest-press-style exercise and a user interface presenting information to the user.



FIG. 15 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly with the user performing a pull-down-style exercise and a user interface presenting information to the user.



FIG. 16 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly with a user performing an arm-curl-style exercise and a user interface presenting information to the user.



FIG. 17 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly with a user performing a leg-press-style exercise and a user interface presenting information to the user.



FIG. 18 illustrates a side view of the third implementations of the isometric exercise and rehabilitation assembly with a user performing a suitcase-lift-style exercise and a user interface presenting information to the user.



FIG. 19 illustrates a perspective view of an exercise machine.



FIGS. 20A-B illustrate side views of the exercise machine.



FIG. 21 illustrates an example user interface for entering a level of pain of a user.



FIG. 22 illustrates an example user interface presenting a pedal setting for a session as determined by a machine learning model.



FIG. 23 illustrates an example user interface presenting an exercise session determined for a user by a machine learning model.



FIG. 24 illustrates an example user interface presenting details of a particular exercise for a user to perform.



FIG. 25 illustrates an example user interface presenting an incentive to the user for completing a set.



FIG. 26 illustrates an example user interface that includes options for the user to indicate whether an exercise is too easy or too hard.



FIG. 27A illustrates an example method for generating, using a machine learning model, an exercise session for a user and causing a virtual coach to provide instructions pertaining to the exercise session.



FIG. 27B illustrates an example data structure including a set of exercises tagged by exercise level of a user.



FIG. 28 illustrates an example method for filtering a set of exercises to obtain one or more exercises to include in an exercise session for a user.



FIG. 29 illustrates an example method for adjusting an exercise session based on user feedback.



FIG. 30 illustrates an example method for selecting a persona for the virtual coach.



FIG. 31 illustrates an example user interface presenting an indication that an exercise is complete and congratulates the user.



FIG. 32 illustrates an example computer system.



FIG. 33 illustrates an example user interface presenting a user profile.



FIG. 34 illustrates an example user interface for selecting a physical activity goal and a pain level.



FIG. 35 illustrates an example user interface presenting information pertaining to a first exercise of a baseline fitness test.



FIG. 36 illustrates an example user interface presenting information pertaining to a second exercise of a baseline fitness test.



FIG. 37 illustrates an example user interface presenting a generated exercise plan for a user.



FIG. 38 illustrates an example user interface presenting information pertaining to a user's comorbidities, week one of an exercise plan, and evidential source pertaining to the comorbidities and the exercise plan.



FIG. 39 illustrates an example user interface presenting information pertaining to week two of an exercise plan for a user.



FIG. 40 illustrates an example user interface presenting information pertaining to a target energy consumption metric for an exercise.



FIGS. 41A-41E illustrates an example data source including information pertaining to exercises and physical activity goals.



FIG. 42 illustrates an example method for generating an exercise plan based on user energy consumption metrics.



FIG. 43 illustrates an example method for generating an updated exercise plan based on updated user fitness test results.





NOTATION AND NOMENCLATURE

Various terms are used to refer to particular system components. Different entities may refer to a component by different names—this document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct connection. Thus, if a first device couples to a second device, that connection may be through a direct connection or through an indirect connection via other devices and connections.


Various terms are used to refer to particular system components. Different entities may refer to a component by different names—this document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct connection. Thus, if a first device couples to a second device, that connection may be through a direct connection or through an indirect connection via other devices and connections.


The terminology used herein is for the purpose of describing particular example embodiments only, and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.


The terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections; however, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as “first,” “second,” and other numerical terms, when used herein, do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C. In another example, the phrase “one or more” when used with a list of items means there may be one item or any suitable number of items exceeding one.


Spatially relative terms, such as “inner,” “outer,” “beneath,” “below,” “lower,” “above,” “upper,” “top,” “bottom,” and the like, may be used herein. These spatially relative terms can be used for ease of description to describe one element's or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms may also be intended to encompass different orientations of the device in use, or operation, in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the example term “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptions used herein interpreted accordingly.


Moreover, various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), solid state drives (SSDs), flash memory, or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.


The term “bone geometry” may refer to bone diameter, bone density, bone shape, bone cross-section, bone length, bone weight, or any suitable bone dimension(s) and/or measurement(s).


The term “empirical data” may refer to data obtained and/or derived based on observation, experience, measurement, and/or research.


The term “strain,” when used in context with a bone of a user, may refer to an amount, proportion, or degree of deformation of the bone material.


The terms “exercise machine” and “isometric exercise and rehabilitation assembly” may be used interchangeably herein.


The terms “body part” and “body portion” may be used interchangeably herein.


The phrase “achieve a desired outcome” may refer to a completion of the desired outcome and/or also making progress toward the desired outcome. The term “attribute of a user” may include a quality or feature regarded as a characteristic or inherent part of someone.


Definitions for other certain words and phrases are provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as future uses of such defined words and phrases.


DETAILED DESCRIPTION

As typically healthy people grow from infants to children to adults, they experience bone growth. Such, growth, however, typically stops at approximately age 30. After that point, without interventions as described herein, bone loss (called osteoporosis), can start to occur. This does not mean that the body stops creating new bone. Rather, it means that the rate at which it creates new bone tends to slow, while the rate at which bone loss occurs tends to increase.


In addition, as people age and/or become less active than they once were, they may experience muscle loss. For example, muscles that are not used often may reduce in muscle mass. As a result, the muscles become weaker. In some instances, people may be affected by a disease, such as muscular dystrophy, that causes the muscles to become progressively weaker and to have reduced muscle mass. To increase the muscle mass and/or reduce the rate of muscle loss, people may exercise a muscle to cause muscular hypertrophy, thereby strengthening the muscle as the muscle grows. Muscular hypertrophy may refer to an increase in a size of skeletal muscle through a growth in size of its component cells. There are two factors that contribute to muscular hypertrophy, (i) sarcoplasmic hypertrophy (increase in muscle glycogen storage), and (ii) myofibrillar hypertrophy (increase in myofibril size). The growth in the cells may be caused by an adaptive response that serves to increase an ability to generate force or resist fatigue.


The rate at which such bone or muscle loss occurs generally accelerates as people age. A net growth in bone can ultimately become a net loss in bone, longitudinally across time. By the time, in general, women are over 50 and men are over 70, net bone loss can reach a point where brittleness of the bones is so great that the risk of life-altering fractures can occur. Examples of such fractures include fractures of the hip and femur. Of course, fractures can also occur due to participation in athletics or due to accidents. In such cases, it is just as relevant to have a need for bone growth which heals or speeds the healing of the fracture.


To understand why such fractures occur, it is useful to recognize that bone is itself porous, with a somewhat-honeycomb like structure. This structure may be dense and therefore stronger or it may be variegated, spread out and/or sparse, such latter structure being incapable of continuously or continually supporting the weight (load) stresses experienced in everyday living. When such loads exceed the support capability of the structure at a stressor point or points, a fracture occurs. This is true whether the individual had a fragile bone structure or a strong one: it is a matter of physics, of the literal “breaking point.”


It is therefore preferable to have a means of mitigating or ameliorating bone loss and of healing fractures. Further, it is preferable to encourage new bone growth, thus increasing the density of the structure described hereinabove. The increased bone density may increase the load-bearing capacities of the bone, thus making first or subsequent fractures less likely to occur. Reduced fractures may improve a quality of life of the individual. The process of bone growth itself is referred to as osteogenesis, literally the creation of bone.


It is also preferable to have a means for mitigating or ameliorating muscle mass loss and weakening of the muscles. Further, it is preferable to encourage muscle growth by increasing the muscle mass through exercise. The increased muscle mass may enable a person to exert more force with the muscle and/or to resist fatigue in the muscle for a longer period of time.


In order to create new bone, at least three factors are necessary. First, the individual must have a sufficient intake of calcium, but second, in order to absorb that calcium, the individual must have a sufficient intake and absorption of Vitamin D, a matter problematic for those who have cystic fibrosis, who have undergone gastric bypass surgery or have other absorption disorders or conditions which limit absorption. Separately, supplemental estrogen for women and supplemental testosterone for men can further ameliorate bone loss. On the other hand, abuse of alcohol and smoking can harm one's bone structure. Medical conditions such as, without limitation, rheumatoid arthritis, renal disease, overactive parathyroid glands, diabetes or organ transplants can also exacerbate osteoporosis. Ethical pharmaceuticals such as, without limitation, hormone blockers, seizure medications and glucocorticoids are also capable of inducing such exacerbations. But even in the absence of medical conditions as described hereinabove, Vitamin D and calcium taken together do not create osteogenesis to a desirable degree or ameliorate bone loss to a desirable degree.


To achieve osteogenesis, therefore, one must add in the third factor: exercise. Specifically, one must subject one's bones to a force at least equal to certain multiple of body weight, such multiples varying depending on the individual and the specific bone in question. As used herein, “MOB” means Multiples of Body Weight. It has been determined through research that subjecting a given bone to a certain threshold MOB (this may also be known as a “weight-bearing exercise”), even for an extremely short period of time, one simply sufficient to exceed the threshold MOB, encourages and fosters osteogenesis in that bone.


Further, a person can achieve muscular hypertrophy by exercising the muscles for which increased muscle mass is desired. Strength training and/or resistance exercise may cause muscle tissue to increase. For example, pushing against or pulling on a stationary object with a certain amount of force may trigger the cells in the associated muscle to change and cause the muscle mass to increase.


The subject matter disclosed herein relates to a control system for an exercise machine, not only capable of enabling an individual, preferably an older, less mobile individual or preferably an individual recovering from a fracture, to engage easily in osteogenic exercises and/or muscle strengthening exercises, but capable of using predetermined thresholds or dynamically calculating them, such that the person using the machine can be immediately informed through real-time visual and/or other sensorial feedback, that the osteogenic threshold has been exceeded, thus triggering osteogenesis for the subject bone (or bones), and/or that the muscular strength threshold has been exceeded, thereby triggering muscular hypertrophy for the subject muscle (or muscles). The control system may be used to improve compliance with an exercise plan including one or more exercises.


The control system may receive one or more load measurements associated with forces exerted by both the left and right sides on left and right portions (e.g., handles, foot plate or platform) of the exercise machine to enhance osteogenesis, bone growth, bone density improvement, and/or muscle mass. The one or more load measurements may be a left load measurement of a load added to a left load cell on a left portion of the exercise machine and a right load measurement of a load added to a right load cell on a right portion of the exercise machine. A user interface may be provided by the control system that presents visual representations of the separately measured left load and right load where the respective left load and right load are added to the respective left load cell and right load cell at the subject portions of the exercise machine.


In some implementations, initially, the control system may receive load measurements via a data channel associated with each exercise of the machine. For example, there may be a data channel for a leg-press-style exercise, a pull-down-style exercise, a suitcase-lift-style exercise, an arm-curl-style exercise, and so forth. Each data channel may include one or more load cells (e.g., a left load cell and a right load cell) that measure added load or applied force and transmit the load measurement to the control system via its respective data channel. The control system may receive the load measurements from each of the data channels at a first rate (e.g., 1 Hertz). If the control system detects a load from a data channel (e.g., hands resting on the handles including the respective load cells, or feet resting on the feet plate including the respective load cells), the control system may set that data channel as active and start reading load measurements from that data channel at a second rate (e.g., 10 Hertz) that is higher than the first rate. Further, the control system may set the other exercises associated with the other data channels as inactive and stop reading load measurements from the other data channels until the active exercise is complete. The active exercise may be complete when the one or more load measurements received via the data channel exceed one or more target thresholds. In some implementations, the control system may determine an average load measurement by accumulating raw load measurements over a certain period of time (e.g., 5 seconds) and averaging the raw load measurements to smooth the data (e.g., eliminates jumps or spikes in data) in an average load measurement.


The control system may compare the one or more load measurements (e.g., raw load measurements, or averaged load measurements) to one or more target thresholds. In some implementations, a single load measurement may be compared to a single specific target threshold (e.g., a one-to-one relationship). In some implementations, a single load measurement may be compared to more than one specific target threshold (e.g., a one-to-many relationship). In some implementations, more than one load measurement may be compared to a single specific target threshold (e.g., a many-to-one relationship). In some implementations, more than one load measurement may be compared to more than one specific target threshold (e.g., a many-to-many relationship).


The target thresholds may be an osteogenesis target threshold, a muscular strength target threshold, and/or a rehabilitation threshold. The osteogenesis target threshold may be determined based on a disease protocol pertaining to the user, an age of the user, a gender of the user, a sex of the user, a height of the user, a weight of the user, a bone density of the user, etc. A disease protocol may refer to any illness, disease, fracture, or ailment experienced by the user and any treatment instructions provided by a caretaker for recovery and/or healing. The disease protocol may also include a condition of health where the goal is avoid a problem. The muscular strength target threshold may be determined based on a historical performance of the user using the exercise machine (e.g., amount of pounds lifted for a particular exercise, amount of force applied associated with each body part, etc.) and/or other exercise machines, a fitness level (e.g., how active the user is) of the user, a diet of the user, a protocol for determining a muscular strength target, etc. The rehabilitation target threshold may be determined based on historical performance of the user using the exercise machine (e.g., amount of force applied associated with each body part, speed of cycling, level of stability, etc.) and/or other exercise machines, a fitness level (e.g., how active the user is, the flexibility of the user, etc.) of the user, a diet of the user, an exercise plan for determining a rehabilitation target, the condition of the user (e.g., type of surgery the user underwent, the type of injury the user sustained), physical characteristics of the user (e.g., an age of the user, a gender of the user, a sex of the user, a height of the user, a weight of the user, a bone density of the user), condition of the user's body part(s) (e.g., the pain level of a user), an exertion level of a user (e.g., how easy/hard the exercise session is for the user), any other suitable characteristic, or combination thereof.


The control system may determine whether the one or more load measurements exceed the one or more target thresholds. Responsive to determining that the one or more load measurements exceed the one or more target thresholds, the control system may cause a user interface to present an indication that the one or more target thresholds have been exceeded and an exercise is complete. Additionally, when the one or more target thresholds are exceeded, the control system may cause the user interface to present an indication that instructs the user to apply additional force (less than a safety limit) to attempt to set a personal maximum record of weight lifted, pressed, pulled, or otherwise exert force thereupon for that exercise.


Further, the user interface may present an indication when a load measurement is approaching a target threshold for the user. In another example, when the load measurement exceeds the target threshold, the user interface may present an indication that the target threshold has been exceeded, that the exercise is complete, and if there are any remaining incomplete exercises in the exercise plan, that there is another exercise to be completed by the user. If there are no remaining exercises in the exercise plan to complete, then the user interface may present an indication that all exercises in the exercise plan are complete and the user can rest. In addition, when the exercise plan is complete, the control system may generate a performance report that presents various information (e.g., charts and graphs of the right and left load measurements received during each of the exercises, left and right maximum loads for the user received during each of the exercises, historical right and left load measurements received in the past, comparison of the current right and left load measurements with the historical right and left load measurement, an amount of pounds lifted or pressed that is determined based on the load measurements for each of the exercises, percent gained in load measurements over time, etc.).


Further, the one or more load measurements may each be compared to a safety limit. For example, a left load measurement and a right load measurement may each be compared to the safety limit for the user. The safety limit may be determined for the user based on the user's disease protocol. There may be different safety limits for different portions of the user's body on the left and the right side, one extremity versus another extremity, a top portion of the user's body and a body portion of the user's body, etc., and for different exercises. For example, if someone underwent left knee surgery, the safety limit for a user for a left load measurement for a leg-press-style exercise may be different from the safety limit for a right load measurement for that exercise and user. If the safety limit is exceeded, an indication may be presented on the user interface to instruct to reduce the amount of force the user is applying and/or to instruct the user to stop applying force because the safety limit is exceeded.


For those with any or all of the osteoporosis-exacerbating medical conditions described herein, such a control system and exercise machine can slow the rate of net bone loss by enabling osteogenesis to occur without exertions which would not be possible for someone whose health is fragile, not robust. Another benefit of the present disclosure, therefore, is its ability to speed the healing of fractures in athletically robust individuals. Further, another benefit is the increase in muscle mass by using the exercise machine to trigger muscular hypertrophy. The control system may provide an automated interface that improves compliance with an exercise plan by using a real-time feedback loop to measure loads added during each of the exercises, compare the load measurements to target thresholds and/or safety limits that are uniquely determined for the user using the exercise machine, and provide various indications based on the comparison. For example, the indications pertain to when the user should add more load, when the target thresholds are exceeded, when the safety limit is exceeded, when the exercise is complete, when the user should begin another exercise, and so forth.


Bone Exercises and their Benefits


The following exercises achieve bone strengthening results by exposing relevant parts of a user to isometric forces which are selected multiples of body weight (MOB) of the user, a threshold level above which bone mineral density increases. A MOB may be any fraction or rational number excluding zero. The specific MOB-multiple threshold necessary to effect such increases will naturally vary from individual to individual and may be more or less for any given individual. “Bone-strengthening,” as used herein, specifically includes, without limitation, a process of osteogenesis, whether due to the creation of new bone as a result of an increase in the bone mineral density; or proximately to the introduction or causation of microfractures in the underlying bone. The exercises referred to are as follows.


Leg Press


A leg-press-style exercise to improve isometric muscular strength in the following key muscle groups: gluteals, hamstrings, quadriceps, spinal extensors and grip muscles as well as to increase resistance to skeletal fractures in leg bones such as the femur. In one example, the leg-press-style exercise can be performed approximately 4.2 MOB or more of the user.


Chest Press


A chest-press-style exercise to improve isometric muscular strength in the following key muscle groups: pectorals, deltoids, and tricep and grip muscles as well as in increasing resistance to skeletal fractures in the humerus, clavicle, radial, ulnar and rib pectoral regions. In one example, the chest-press-style exercise can be performed at approximately 2.5 MOB or more of the user.


Suitcase Lift


A suitcase-lift-style exercise to improve isometric muscular strength in the following key muscle groups: gluteals, hamstrings, quadriceps, spinal extensors, abdominals, and upper back and grip muscles as well as to increase resistance to skeletal fractures in the femur and spine. In one example, the suitcase-lift-style exercise can be performed at approximately 2.5 MOB or more of the user.


Arm Curl


An arm-curl-style exercise to improve isometric muscular strength in the following key muscle groups: biceps, brachialis, brachioradialis, grip muscles and trunk as well as in increasing resistance to skeletal fractures in the humerus, ribs and spine. In one example, the arm-curl-style exercise can be performed at approximately 1.5 MOB or more of the user.


Core Pull


A core-pull-style exercise to improve isometric muscular strength in the following key muscle groups: elbow flexors, grip muscles, latissimus dorsi, hip flexors and trunk as well as in increasing resistance to skeletal fractures in the ribs and spine. In one example, the core-pull-style exercise can be performed at approximately 1.5 MOB or more of the user.


Grip Strength


A grip-strengthening-style exercise which may preferably be situated around a station in an exercise machine, in order to improve strength in the muscles of the hand and forearm. Grip strength is medically salient because it has been positively correlated with better states of health.


In some implementations, a balance board may be communicatively coupled to the control system. For example, the balance board may include a network interface that communicates with the control system via any suitable interface protocol (e.g., Bluetooth, WiFi, cellular). The balance board may include pressure sensors and may obtain measurements of locations and amount of pressure applied to the balance board. The measurements may be transmitted to the control system. The control system may present a game or interactive exercise on a user interface. The game or interactive exercise may modify screens or adjust graphics that are displayed based on the measurements received from the balance board. The balance board may be used by a user to perform any suitable type of plank (e.g., knee plank, regular feet and elbow plank, table plank with elbows, or the like). Accordingly, the balance board may be configured to be used with arms on the balance board, knees on the balance board, and/or feet standing on the balance board. The games or interactive exercises may encourage the user during the game or interactive exercises to increase compliance and neuro-motor control after a surgery, for example.


The exercise machine, balance board, wristband, goniometer, and/or any suitable accessory may be used for various reasons in various markets. For example, users may use the exercise machine, balance board, wristband, goniometer, and/or any suitable accessory in the orthopedic market if the users suffer from chronic musculosketal pain (e.g., knees, hips, shoulders, and back). The exercise machine, balance board, wristband, goniometer, and/or any suitable accessory may be used to help with prehabilitation (prehab), as well as optimize post-surgical outcomes. Users may use the exercise machine, balance board, wristband, goniometer, and/or any suitable accessory in the back and neck pain market if the users suffer with chronic back and neck pain and they want to avoid surgery and experience long-term relief, as well as users that are in recovery following surgery. Users may use the exercise machine, balance board, wristband, goniometer, and/or any suitable accessory in the cardiovascular market if they desire to prevent or recover from life-threatening cardiovascular disease, especially heart attacks and stroke. Users may use the exercise machine, balance board, wristband, goniometer, and/or any suitable accessory in the neurological market if they desire to recover from stroke, or have conditions like Parkinson's Disease and/or Multiple Sclerosis, and the users desire to achieve better balance, strength, and muscle symmetry in order to slow progression of the medical condition.


A user may desire to perform a series of exercises to attempt to exert up to or approximately near to a target, total amount of energy. However, a user may not have proper knowledge, training, and/or education to determine which specific exercises to perform. A metabolic equivalent of task (MET) score (also referred to as a MET indicator or a MET value) represents to a ratio of working metabolic rate of a person relative to the person's resting metabolic rate. Metabolic rate is a rate calculated by determining a measure of energy expended per unit of time. A MET score is one way to describe the intensity of an exercise or activity. However, MET scores alone may not provide a comprehensive approximation of the energy that a specific user exerts while performing different exercises. For example, MET scores are not intended to account for a specific user's fitness level. Further, MET scores are not intended to account for a specific user's pain levels and pain tolerance.


Accordingly, some implementations of the present disclosure provide a technical solution of comprising user energy consumption metrics for different exercises and generating an exercise plan that enables the user to attempt to achieve a user energy score. The system may use an artificial intelligence engine to generate machine learning models trained to generate user energy consumption metrics based on associations between user fitness test results and one or more exercises and on associations between MET scores and one or more exercises. Further, the machine learning models may be trained based on associations between user pain levels and one or more exercises.


In some implementations, the user energy score may be determined based on an amount of energy it takes to attempt to achieve (including achieving) a physical activity goal of the user. Bone growth, muscle growth, rehabilitation, prehabilitation, and the like may be preferred, desirable, or necessary to perform certain physical activities. For example, a person may require a certain amount of muscle mass to move an object having a particular weight. The physical activity may be desirable, but some people may lack the appropriate bone mass, muscle mass, or physical ability in general to perform the physical activity. In one example, a grandparent may desire to play with their grandchildren, and may want to select that physical activity as a goal.


Using various performance measurements from one or more sensors, attributes of users of the exercise machine, user-reported difficulty levels of exercises, user-reported pain levels, and the like, the user energy consumption metrics may be objectively monitored and/or measured. An onboarding protocol may be used to baseline a fitness level of the user, and the fitness level of the user may be used to generate use energy consumption metrics. A machine learning model may be trained to perform the onboarding protocol and to determine the fitness level of the user. The user energy consumption metrics (and the exercise plan) may be dynamically updated based on attributes of the user, selected physical activity levels, performance measurements, user-reported difficulty(-ies) of the exercises, user-reported pain levels, and the like. In some implementations, the exercises machine may be controlled using a signal that indicates the changing an attribute of an operating parameter of the exercise machine to comply with the exercise plan. Responsive to receiving the signal, the control system may change the attribute of the operating parameter.


The following discussion is directed to various implementations of the present disclosure. Although these implementations are given as examples, the implementations disclosed should not be interpreted, or otherwise used, as limiting the scope of the present disclosure, including the claims. In addition, one of ordinary skill in the art will understand that the following description has broad application, and the discussion of any implementations is meant only to be exemplary of that implementations, and not intended to intimate that the scope of the present disclosure, including the claims, is limited to that implementations.



FIG. 1 illustrates a high-level component diagram of an illustrative system architecture 10 according to certain implementations of the present disclosure. In some implementations, the system architecture 10 may include a computing device 12 communicatively coupled to an exercise machine 100. The computing device 12 may also be communicatively coupled with a computing device 15 and a cloud-based computing system 16. As used herein, a cloud-based computing system refers, without limitation, to any remote or distal computing system accessed over a network link. Each of the computing device 12, computing device 15, and/or the exercise machine 100 may include one or more processing devices, memory devices, and network interface devices. In some implementations, the computing device 12 may be included as part of the structure of the exercise machine 100. In some implementations, the computing device 12 may be separate from the exercise machine 100. For example, the computing device 12 may be a smartphone, tablet, laptop, or the like.


The network interface devices may enable communication via a wireless protocol for transmitting data over short distances, such as Bluetooth, ZigBee, near field communication (NFC), etc. In some implementations, the computing device 12 is communicatively coupled to the exercise machine 100 via Bluetooth. Additionally, the network interface devices may enable communicating data over long distances, and in one example, the computing device 12 may communicate with a network 20. Network 20 may be a public network (e.g., connected to the Internet via wired (Ethernet) or wireless (WiFi)), a private network (e.g., a local area network (LAN), wide area network (WAN), virtual private network (VPN)), or a combination thereof.


The computing device 12 may be any suitable computing device, such as a laptop, tablet, smartphone, or computer. The computing device 12 may include a display that is capable of presenting a user interface 18 of an application 17. The application 17 may be implemented in computer instructions stored on the one or more memory devices of the computing device 12 and executable by the one or more processing devices of the computing device 12. The application 17 may be a stand-alone application that is installed on the computing device 12 or may be an application (e.g., website) that executes via a web browser. The user interface 18 may present various screens to a user that enable the user to login, enter personal information (e.g., health information; a disease protocol prescribed by a physician, trainer, or caretaker; age; gender; activity level; bone density; weight; height; patient measurements; etc.), view an exercise plan, initiate an exercise in the exercise plan, view visual representations of left load measurements and right load measurements that are received from left load cells and right load cells during the exercise, view a weight in pounds that are pushed, lifted, or pulled during the exercise, view an indication when the user has almost reached a target threshold, view an indication when the user has exceeded the target thresholds, view an indication when the user has set a new personal maximum for a load measurement and/or pounds pushed, lifted, or pulled, view an indication when a load measurement exceeds a safety limit, view an indication to instruct the user to begin another exercise, view an indication that congratulates the user for completing all exercises in the exercise plan, and so forth, as described in more detail below. The computing device 12 may also include instructions stored on the one or more memory devices that, when executed by the one or more processing devices of the computing device 12, perform operations to control the exercise machine 100.


The computing device 15 may execute an application 21. The application 21 may be implemented in computer instructions stored on the one or more memory devices of the computing device 15 and executable by the one or more processing devices of the computing device 15. The application 21 may present a user interface 22 including various screens to a physician, trainer, or caregiver that enable the person to create an exercise plan for a user based on a treatment (e.g., surgery, medical procedure, etc.) the user underwent and/or injury (e.g., sprain, tear, fracture, etc.) the user suffered, view progress of the user throughout the exercise plan, and/or view measured properties (e.g., force exerted on portions of the exercise machine 100) of the user during exercises of the exercise plan. The exercise plan specific to a patient may be transmitted via the network 20 to the cloud-based computing system 16 for storage and/or to the computing device 12 so the patient may begin the exercise plan. The exercise plan may specifying one or more exercises that are available at the exercise machine 100.


The exercise machine 100 may be an osteogenic, muscular strengthening, isometric exercise and/or rehabilitation assembly. Solid state, static, or isometric exercise and rehabilitation equipment (e.g., exercise machine 100) can be used to facilitate osteogenic exercises that are isometric in nature and/or to facilitate muscular strengthening exercises. Such exercise and rehabilitation equipment can include equipment in which there are no moving parts while the user is exercising. While there may be some flexing under load, incidental movement resulting from the tolerances of interlocking parts, and parts that can move while performing adjustments on the exercise and rehabilitation equipment, these flexions and movements can comprise, without limitation, exercise and rehabilitation equipment from the field of isometric exercise and rehabilitation equipment.


The exercise machine 100 may include various load cells 110 disposed at various portions of the exercise machine 100. For example, one or more left load cells 110 may be located at one or more left feet plates or platforms, and one or more right load cells may be located at one or more right feet plates or platforms. Also, one or more left load cells may be located at one or more left handles, and one or more right load cells may be located at one or more right handles. Each exercise in the exercise system may be associated with both a left and a right portion (e.g., handle or foot plate) of the exercise machine 100. For example, a leg-press-style exercise is associated with a left foot plate and a right foot plate. The left load cell at the left foot plate and the right load cell at the right foot plate may independently measure a load added onto the left foot plate and the right foot plate, respectively, and transmit the left load measurement and the right load measurement to the computing device 12. The load added onto the load cells 110 may represent an amount of weight added onto the load cells. In some implementations, the load added onto the load cells 110 may represent an amount of force exerted by the user on the load cells. Accordingly, the left load measurement and the right load measurement may be used to present a left force (e.g., in Newtons) and a right force (e.g., in Newtons). The left force and right force may be totaled and converted into a total weight in pounds for the exercise. Each of the left force, the right force, and/or the total weight in pounds may be presented on the user interface 18.


In some implementations, the cloud-based computing system 16 may include one or more servers 28 that form a distributed, grid, and/or peer-to-peer (P2P) computing architecture. Each of the servers 28 may include one or more processing devices, memory devices, data storage, and/or network interface devices. The servers 28 may be in communication with one another via any suitable communication protocol. The servers 28 may store profiles for each of the users that use the exercise machine 100. The profiles may include information about the users such as one or more disease protocols, one or more exercise plans, a historical performance (e.g., loads applied to the left load cell and right load cell, total weight in pounds, etc.) for each type of exercise that can be performed using the exercise machine 100, health, age, race, credentials for logging into the application 17, and so forth.


In some implementations, the cloud-based computing system 16 may include a training engine 50 and/or an artificial intelligence engine 65. The cloud-based computing system 16 may include one or more servers 28 that execute the artificial intelligence engine 65 that uses one or more machine learning models 60 to perform at least one of the embodiments disclosed herein. In some implementations, the training engine 50 may be included as part of the artificial intelligence engine 65 and the artificial intelligence engine 65 may execute the training engine 50. In some implementations, the artificial intelligence engine 65 may use the training engine 50 to generate the one or more machine learning models 60.


The artificial intelligence engine 65, the training engine 50, and/or the one or more machine learning models 60 may be communicatively coupled to the servers 28 or may be included in one of the servers 28. In some implementations, the artificial intelligence engine 65, the training engine 50, and/or the machine learning models 60 may be included in the computing device 12.


The one or more of machine learning models 60 may refer to model artifacts created, using training data that includes training inputs and corresponding target outputs (correct answers for respective training inputs), by the artificial intelligence engine 65 and/or the training engine 50. The training engine 50 may find patterns in the training data that map the training input to the target output (the answer to be predicted), and provide the machine learning models 60 that capture these patterns. As described in more detail below, the set of machine learning models 60 may be composed of, e.g., a single level of linear or non-linear operations (e.g., a support vector machine (SVM)) or may be a deep network, i.e., a machine learning model composed of multiple levels of non-linear operations. Examples of deep networks are neural networks including convolutional neural networks, recurrent neural networks with one or more hidden layers, and fully connected neural networks.


In some implementations, the training data may include various inputs (e.g., a physical activity goal, range of motion of users, user-reported pain level of users, user-reported difficulty levels of exercises, exercise information, levels of attainment, attributes of users (e.g., age, weight, height, gender, procedures performed, condition of user, goals for outcomes of exercising, etc.), performance measurements, and the like) and mapped outputs. The mapped outputs may include an exercise plan composed on various exercise sessions each including various exercises, schedule of the exercise sessions, etc. In some implementations, the training data may include other inputs (e.g., state of the exercise session, exercise, exercise machine 100; progress of the user; events; attributes of the user; etc.) and other mapped outputs. The other mapped outputs may include comorbidity information pertaining to the user. The other mapped outputs may further include multimedia (e.g., video/audio) clips or segments for a virtual coach to speak, graphic images, video, and the like to be presented on the user interface 18 of the computing device 12 before, during, or after the user performs the exercises. The virtual coach may be implemented in computer instructions as part of application 17 executing on the computing device 12. The virtual coach may be driven and controlled by artificial intelligence (e.g., via one or more machine learning models 60). For example, the machine learning model 60 may be trained to implement the virtual coach. Further, the training data may include inputs pertaining to user feedback and/or progress of the user and outputs pertaining to a persona for the virtual coach to implement. The training data may include inputs of the progress of the user (e.g., completion of an exercise) and output various incentives, rewards, and/or certificates. The training data may include inputs of the progress of the user and/or the exercise plan and may output notifications pertaining to the progress and/or the exercise plan. The training data may include inputs of user-reported pain levels, user-reported difficulty of exercises, difficulty levels of the exercises, etc. and may include mapped outputs of modifying the exercise plan (e.g., removing an exercise, switching an exercise to another exercise, adding an exercise, modifying an exercise session, adding an exercise session, removing an exercise session, etc.). The machine learning model 60 may be trained using any and/or all of the training data.


In some implementations, the training engine 50 may train the machine learning models 60 to output an exercise plan, wherein such plan may include a schedule of exercise sessions and selected exercises for each of the exercise sessions. Based on the inputs described herein, the trained machine learning model 60 may select the exercises by filtering a set of exercises included in a tagged data structure (e.g., data source). The machine learning model 60 may be trained to control the virtual coach executing on the computing device 12. The machine learning model 60 may also be trained to provide incentives, rewards, and/or certificates to the user. The machine learning model 60 may also be trained to modify the exercise plan and/or directly or indirectly control the exercise machine 100 based on the progress of the user and/or feedback of the user (e.g., indications of a difficulty level of an exercise). For example, if the user indicates an exercise is too easy, the machine learning model 60 may choose a new intensity for the exercise and the cloud-based computing system 16 may distally control the exercise machine 100 by increasing the intensity. Any suitable number of machine learning models 60 may be used. For example, separate machine learning models 60 may be used for each respective function described above, and the machine learning models 60 may be linked such that the output from one machine learning model 60 may be input into another machine learning model 60.


The cloud-based computing system may include a data source 67 that stores the training data for the training engine 50 and/or the artificial intelligence engine 65 to use to train the one or more machine learning models 60. The data source may include exercises, physical activity goals, levels of attainment, body portions targeted by exercises, weights, and/or parameters used to configure a prioritization of certain levels of attainment throughout an exercise schedule, comorbidity information, health-related information, audio segments, video segments, motivational quotations, and so forth. The data source 67 may include various tags and/or keys (e.g., primary, foreign, etc.) to associate items of the data with each other in the data source 67. The data source 67 may be a relational database, a pivot table, or any suitable type of data structure configured to store data used for any of the operations described herein.



FIGS. 2-8 illustrates one or more implementations of an osteogenic, isometric exercise and rehabilitation assembly 101. An aspect of the present disclosure includes an isometric exercise and rehabilitation assembly 101. The assembly 101 can include a frame 102. The assembly 101 can further include one or more pairs of load handles 104, 106, 108 (e.g., three shown) supported by the frame 102. Each load handle in one of the pairs of load handles 104, 106, 108 can be symmetrically spaced from each other relative to a vertical plane of the assembly 101. For example, the vertical plane can bisect the assembly 101 in a longitudinal direction.


During exercise, a user can grip and apply force to one of the pairs of load handles 104, 106, 108. The term “apply force” can include a single force, more than one force, a range of forces, etc. and may be used interchangeably with “addition of load.” Each load handle in the pairs of load handles 104, 106, 108 can include at least one load cell 110 for separately and independently measuring a force applied to, or a load added onto, respective load handles. Further, each foot plate 118 (e.g., a left foot plate and a right foot plate) can include at least one load cell 110 for separately and independently measuring a force applied to, or a load added onto, respective foot plates.


The placement of a load cell 110 in each pair of load handles 104, 106, 108 and/or feet plates 118 can provide the ability to read variations in force applied between the left and right sides of the user. This allows a user or trainer to understand relative strength. This is also useful in understanding strength when recovering from an injury.


In some implementations, the assembly 101 further can include the computing device 12. One or more of the load cells 110 can be individually in electrical communication with the computing device 12 either via a wired or wireless connection. In some implementations, the user interface 18 presented via a display of the computing device 12 may indicate how to perform an exercise, how much force is being applied, a target force to be applied, historical information for the user about how much force they applied at prior sessions, comparisons to averages, etc., as well as additional information, recommendations, notifications, and/or indications described herein.


In some implementations, the assembly 101 further includes a seat 112 supported by the frame 102 in which a user sits while applying force to the load handles and/or feet plates. In some implementations, the seat 112 can include a support such as a backboard 114. In some implementations, the position of the seat 112 is adjustable in a horizontal and/or vertical dimension. In some implementations, the angle of the seat 112 is adjustable. In some implementations, the angle of the backboard 114 is adjustable. Examples of how adjustments to the seat 112 and backboard 114 can be implemented include, but are not limited to, using telescoping tubes and pins, hydraulic pistons, electric motors, etc. In some implementations, the seat 112 can further include a fastening system 116 (FIG. 7), such as a seat belt, for securing the user to the seat 112.


In one example, the seat 112 can include a base 113 that is slidably mounted to a horizontal rail 111 of the frame 102. The seat 112 can be selectively repositionable and secured as indicated by the double-headed arrow. In another example, the seat 112 can include one or more supports 117 (e.g., two shown) that are slidably mounted to a substantially vertical rail 115 of the frame 102. The seat 112 can be selectively repositionable and secured as indicated by the double-headed arrow.


In some implementations, a pair of feet plate 118 can be located angled toward and in front of the seat 112. The user can apply force to the feet plate 118 (FIG. 5) while sitting in the seat 112 during a leg-press-style exercise. The leg-press-style exercise can provide or enable osteogenesis, bone growth or bone density improvement for a portion of the skeletal system of the user. Further, the leg-press-style exercise can provide or enable muscular hypertrophy for one or more muscles of the user. In a leg-press-style exercise, the user can sit in the seat 112, place their feet on respective feet plates 118, and push on the pair of feet plate 118 using their legs.


In some implementations, adjustments can be made to the position of the pair of feet plate 118. For example, these adjustments can include the height of the pair of feet plate 118, the distance between the pair of feet plate 118 and the seat 112, the distance between each handle of the pair of feet plate 118, the angle of the pair of feet plate 118 relative to the user, etc. In some implementations, to account for natural differences in limb length or injuries, each foot plate of the pair of feet plate 118 can be adjusted separately.


In some implementations, a first pair of load handles 104 can be located above and in front of the seat 112. The user can apply force to the load handles 104 (FIG. 7) while being constrained in the seat 112 by the fastening system 116 in a core-pull-style exercise. The core-pull-style exercise can provide or enable osteogenesis, bone growth or bone density improvement for a portion of the skeletal system of the user. Further, the core-pull-style exercise can provide or enable muscular hypertrophy for one or more muscles of the user. In a core-pull-style exercise, while the lower body of the user is restrained from upward movement by the fastening system 116, the user can sit in the seat 112, apply the fastening system 116, hold the first pair of load handles 104, and pull on the first pair of load handles 104 using their arms.


In some implementations, adjustments can be made to the position of the first pair of load handles 104. For example, these adjustments can include the height of the first pair of load handles 104, the distance between the first pair of load handles 104 and the seat 112, the distance between each handle of the first pair of load handles 104, the angle of the first load handles 104 relative to the user, etc. In some implementations, to account for natural differences in limb length or injuries, each handle of the first pair of load handles 104 can be adjusted separately.


In one example, the first pair of load handles 104 can include a sub-frame 103 that is slidably mounted to a vertical rail 105 of the frame 102. The first pair of load handles 104 can be selectively repositionable and secured as indicated by the double-headed arrow.


In some implementations, a second pair of load handles 106 can be spaced apart from and in the front of the seat 112. While seated (FIG. 6), the user can apply force to the second pair of load handles 106 in a chest-press-style exercise. The chest-press-style exercise can provide or enable osteogenesis, bone growth or bone density improvement for another portion of the skeletal system of the user. Further, the chest-press-style exercise can provide or enable muscular hypertrophy for one or more muscles of the user. In a chest-press-style exercise, the user can sit in the seat 112, hold the second pair of load handles 106, and push against the second pair of load handles 106 with their arms.


In some implementations, adjustments can be made to the position of the second pair of load handles 106. These adjustments can include the height of the second pair of load handles 106, the distance between the second pair of load handles 106 and the seat 112, the distance between each handle of the second pair of load handles 106, the angle of the second load handles 106 relative to the user, etc. In some implementations, to account for natural differences in limb length or injuries, each handle of the second pair of load handles 106 can be adjusted separately.


In one example, the second pair of load handles 106 can include the sub-frame 103 that is slidably mounted to the vertical rail 105 of the frame 102. The sub-frame 103 can be the same sub-frame 103 provided for the first pair of load handles 104, or a different, independent sub-frame. The second pair of load handles 106 can be selectively repositionable and secured as indicated by the double-headed arrow.


In some implementations (FIG. 8), a third pair of load handles 108 can be located immediately adjacent the seat 112, such that the user can stand and apply force in a suitcase-lift-style exercise. The suitcase-lift-style exercise can provide or enable osteogenesis, bone growth or bone density improvement for still another portion of the skeletal system of the user. Further, the suitcase-lift-style exercise can provide or enable muscular hypertrophy for one or more muscles of the user. Examples of the third pair of load handles 108 can extend horizontally along a pair of respective axes that are parallel to the vertical plane. The third pair of load handles 108 can be horizontally co-planar, such that a user can apply force to them in a suitcase-lift-style exercise. In the suitcase-lift-style exercise, the user can stand on the floor or a horizontal portion of the frame 102, bend their knees, grip the third pair of load handles 108, and extend their legs to apply an upward force to the third pair of load handles 108.


In some implementations, adjustments can be made to the position of the third pair of load handles 108. These adjustments can include the height of the third pair of load handles 108, the distance between the third pair of load handles 108 and the seat 112, the distance between each handle of the third pair of load handles 108, the angle of the third load handles 108 relative to the user, etc. In some implementations, to account for natural differences in limb length or injuries, each handle of the third pair of load handles 108 can be adjusted separately.


In one example, each load handle 108 of the third pair of load handles 108 can include a sub-frame 109 that is slidably mounted in or to a vertical tube 107 of the frame 102. Each load handle 108 of the third pair of load handles 108 can be selectively repositionable and secured as indicated by the double-headed arrows.


In other implementations (not shown), the third pair of load handles 108 can be reconfigured to be coaxial and located horizontally in front of the user along an axis that is perpendicular to the vertical plane. The user can apply force to the third pair of load handles 108 in a deadlift-style exercise. Like the suitcase-lift-style exercise, the deadlift-style exercise can provide or enable osteogenesis, bone growth or bone density improvement for a portion of the skeletal system of the user. Further, the deadlift-style exercise can provide or enable muscular hypertrophy for one or more muscles of the user. In the deadlift-style exercise, the user can stand on the floor or a horizontal portion of the frame 102, bend their knees, hold the third pair of load handles 108 in front of them, and extend their legs to apply an upward force to the third pair of load handles 108. In some implementations, the third pair of load handles 108 can be adjusted (e.g., rotated) from the described coaxial position used for the deadlift-style exercise, to the parallel position (FIGS. 7 and 8) used for the suitcase lift-style exercise. The third pair of load handles 108, or others, can be used in a grip strengthening-style exercise to improve strength in the muscles of the hand and forearm.



FIG. 9 depicts several options for the load cells 110. In some implementations, the load cells 110 can be piezoelectric load cells, such as PACEline CLP Piezoelectric Subminiature Load Washers. In other implementations, the load cells 110 can be hydraulic load cells, such as NOSHOK hydraulic load cells. In some versions, the load cells 110 can include strain gauges. Implementations of the strain gauges can be bending-type strain gauges, such as Omega SGN-4/20-PN 4 mm grid, 20 ohm nickel foil resistors. Other examples of the strain gauges can be double-bending-type strain gauges 1202, such as Rudera Sensor RSL 642 strain gauges. Still other implementations of the strain gauges can be half-bridge-type strain gauges 1204, such as Onyehn 4 pcs 50 kg Human Scale Load Cell Resistance Half-bridge/Amplifier Strain Weight Sensors with 1 pcs HX711 AD Weight Modules for Arduino DIY Electronic Scale strain gauges. In some implementations, the strain gauges can be S-type strain gauges 1206, such as SENSORTRONICS S-TYPE LOAD CELL 60001 strain gauges. Additionally, the strain gauges can be button-type strain gauges 1208, such as Omega LCGB-250 250 lb Capacity Load Cells. Naturally, the load cells 110 can comprise combinations of these various examples. The implementations described herein are not limited to these examples.



FIGS. 10-13 illustrate views of a second implementation of the isometric exercise and rehabilitation assembly 101. FIG. 10 illustrates a side view of the second implementation of the isometric exercise and rehabilitation assembly 101 with the user performing a chest-press-style exercise and a user interface 18 presenting information to the user. As depicted, the user is the gripping second pair of load handles 106. A left load cell 110 and a right load cell 110 may be located at a left load handle 106 and a right load handle 106, respectively, in the second pair of load handles 106. The user may push on the second pair of load handles 106 to add load to the left load cell 110 and the right load cell 110. The left load cell 110 may transmit a left load measurement to the computing device 12, and the right load cell 110 may transmit a right load measurement to the computing device 12. The computing device 12 may use the load measurements to provide various real-time feedback on the user interface 18 as the user performs the chest-press-style exercise.


In general, the user interface 18 may present real-time visual feedback of the current load measurements or the current forces corresponding to the load measurements, a weight in pounds associated with the load measurements, incentive messages that encourage the user to exceed target thresholds (e.g., to trigger osteogenesis and/or muscular hypertrophy) and/or set personal records for maximum loads, historical performance of the user performing the exercise, and/or scripted prompts that display images of one or more body portions indicating proper technique for performing the exercise. The control system may provide various visual, audio, and/or haptic feedback to encourage the user to exceed their target thresholds.


Initially, when the user has not added load onto any portion of the exercise machine 100 including one or more load cells 110, the computing device 12 may be operating in an idle mode. During the idle mode, the computing device 12 may be receiving load measurements at a first frequency from each data channel associated with an exercise. For example, there may be four data channels, one for each of a chest-press-style exercise, a leg-press-style exercise, a suitcase-lift-style exercise, and a pulldown-style exercise. Although four data channels are described for explanatory purposes, it should be understood that there may be any suitable number of data channels, where “any” refers to one or more. Each data channel may provide load measurements to the computing device 12 from a respective left load cell and a respective right load cell that are located at the portion of the exercise machine 100 where the user pushes or pulls for the respective exercises. The user interface 18 may present the load measurement from each left and right load cells (e.g., 8 load measurements for the 4 data channels associated with the 4 exercises). Further, any target thresholds and/or safety limits for the user performing the exercises may be presented on the user interface 18 during the idle mode. For example, a left target threshold, a right target load threshold, a safety limit, and/or a total weight target threshold for each of the exercises may be presented on the user interface 18 during the idle mode.


If the computing device 12 detects a minimum threshold amount of load (e.g., at least 10 pound-force (lbf)) added onto any of the load cells, the computing device switches from an idle mode to an exercise mode. The data channel including the load cell that sent the detected load measurement may be set to active by the computing device 12. Further, the computing device 12 may set the other data channels to inactive and may stop receiving load measurements from the load cells corresponding to the inactive data channels. The computing device 12 may begin reading data from the load cells at the active data channel at a second frequency higher (e.g., high frequency data collection) than the first frequency when the computing device 12 was operating in the idle mode. Further, the user interface 18 may switch to presenting information pertaining to the exercise associated with the active data channel and stop presenting information pertaining to the exercises associated with the inactive data channels.


For example, the user may grip the second pair of handles 106 and apply force. The computing device 12 may detect the load from the load cells 110 located at the second pair of handles 106 and may set the data channel associated with the chest-press-style exercise to active to begin high frequency data collection from the load cells 110 via the active data channel.


As depicted, the user interface 18 presents a left load measurement 1000 as a left force and a right load measurement 1002 as a right force in real-time or near real-time as the user is pressing on the second pair of handles 106. The values of the forces for the left load measurement 1000 and the right load measurement 1002 are presented. There are separate visual representations for the left load measurement 1000 and the right load measurement 1002. In some implementations, these load measurements 1000 and 1002 may be represented in a bar char, line chart, graph, or any suitable visual representation. In some implementations, a left target threshold and a right target threshold for the user may be presented on the user interface 18. In some implementations, there may be more than one left target threshold and more than one right target threshold. For example, the left target thresholds may relate to an osteogenesis target threshold determined using a user's disease protocol and/or a muscular strength target threshold determined using a historical performance of the user for a particular exercise. The right target thresholds may relate to an osteogenesis target threshold determined using a user's disease protocol and/or a muscular strength target threshold determined using a historical performance of the user for a particular exercise. For example, if the user fractured their left arm and is rehabilitating the left arm, but the user's right arm is healthy, the left osteogenesis target threshold may be different from the right osteogenesis target threshold.


If the left load measurement 1000 exceeds any of the left target thresholds, an indication (e.g., starburst) may be presented on the user interface 18 indicating that the particular left target threshold has been exceeded and/or osteogenesis and/or muscular hypertrophy has been triggered in one or more portions of the body. If the right load measurement 1002 exceeds any of the right target thresholds, an indication (e.g., starburst) may be presented on the user interface 18 indicating that the particular right target threshold has been exceeded and/or osteogenesis and/or muscular hypertrophy has been triggered in another portion of the body. Further, if either or both of the left and right target thresholds are exceeded, the indication may indicate that the exercise is complete and a congratulatory message may be presented on the user interface 18. In some implementations, another message may be presented on the user interface 18 that encourages the user to continue adding load to set a new personal maximum left load measurement and/or right load measurement for the exercise.


In some implementations, there may be a single target threshold to which both the left load measurement and the right load measurement are compared. If either of the left or right load measurement exceed the single target threshold, the above-described indication may be presented on the user interface 18.


In some implementations, there may be a single safety limit to which the left and right load measurements are compared. The single safety limit may be determined based on the user's disease protocol (e.g., what type of disease the user has, a severity of the disease, an age of the user, the height of the user, the weight of the user, what type of injury the user sustained, what type of surgery the user underwent, the portion of the body affected by the disease, the exercise plan to rehabilitate the user's body, instructions from a caregiver, etc.). If either or both of the left and right load measurements exceed the single safety limit, an indication may be presented on the user interface 18. The indication may warn the user that the safety limit has been exceeded and recommend to reduce the amount of load added to the load cells 110 associated with the exercise being performed by the user.


In some implementations, more than one safety limit may be used. For example, if the user is rehabilitating a left leg, but a right leg is healthy, there may be a left safety limit that is determined for the left leg based on the user's disease protocol and there may be a right safety limit for the left leg determined based on the user's disease protocol. The left load measurement may be compared to the left safety limit, and the right load measurement may be compared to the right safety limit. If either or both the left load measurement and/or the right load measurement exceed the left safety limit and/or the right safety limit, respectively, an indication may be presented on the user interface 18. The indication may warn the user that the respective safety limit has been exceeded and recommend to reduce the amount of load added to the load cells 110 associated with the exercise being performed by the user.


Further, a total weight 1004 in pounds that is determined based on the left and right load measurements is presented on the user interface 18. The total weight 1004 may dynamically change as the user adds load onto the load cells 110. A target weight 1006 for the exercise for the current day is also presented. This target weight 1006 may be determined based on the user's historical performance for the exercise. If the total weight 1004 exceeds the target weight 1006, an indication (e.g., starburst) may be presented on the user interface 18 indicating that osteogenesis and/or muscular hypertrophy has been triggered. Further, the indication may indicate that the exercise is complete and a congratulatory message may be presented on the user interface 18. In some implementations, another message may be presented on the user interface 18 that encourages the user to continue adding load to set a new personal maximum record for the exercise.


Additionally, the user interface 18 may present a left grip strength 1008 and a right grip strength 1010. In some implementations, the left grip strength and the right grip strength may be determined based on the left load measurement and the right load measurement, respectively. Numerical values representing the left grip strength 1008 and the right grip strength 1010 are displayed. Any suitable visual representation may be used to present the grip strengths (e.g., bar chart, line chart, etc.). The grip strengths may only be presented when the user is performing an exercise using handles.


The user interface 18 may also present a prompt 1012 that indicates the body position the user should be in to perform the exercise, as well as indicate which body portions will be targeted by performing the exercise. The user interface 18 may present other current and historical information related to the user performing the particular exercise. For example, the user interface 18 may present a visual representation 1014 of the user's maximum weight lifted, pressed, pulled, or otherwise exerted force for the day or a current exercise session. The user interface 18 may present a visual representation 1016 of the user's previous maximum weight lifted, pressed, pulled, or otherwise exerted force. The user interface 18 may present a visual representation 1018 of the user's maximum weight lifted, pressed, pulled, or otherwise exerted force the first time the user performed the exercise. The user interface 18 may present one or more visual representations 1020 for a weekly goal including how many sessions should be performed in the week and progress of the sessions as they are being performed. The user interface 18 may present a monthly goal including how many sessions should be performed in the month and progress of the sessions as they are being performed. Additional information and/or indications (e.g., incentivizing messages, recommendations, warnings, congratulatory messages, etc.) may be presented on the user interface 18, as discussed further below.



FIG. 11 illustrates a side view of the second implementation of the isometric exercise and rehabilitation assembly 101 with a user performing a suitcase-lift-style exercise and the user interface 18 presenting information to the user. The user interface 18 may present similar types of information as discussed above with regards to FIG. 10, but the information in the user interface 18 in FIG. 11 may be tailored for the suit-case-lift-style exercise. That is, the data channel for the suitcase-lift-style exercise may be set to active when the computing device 12 detects load measurements from load cells corresponding to the suitcase-lift-style exercise, and the computing device 12 may present the various visual representations described with regards to FIG. 10 on the user interface 18 in FIG. 11 based on at least the load measurements for the suitcase-lift-style exercise.



FIG. 12 illustrates a side view of the second implementation of the isometric exercise and rehabilitation assembly 101 with a user performing an arm-curl-style exercise and a user interface presenting information to the user. The user interface 18 may present similar types information as discussed above with regards to FIG. 10, but the information in the user interface 18 in FIG. 12 may be tailored for the arm-curl-style exercise. That is, the data channel for the arm-curl-style exercise may be set to active when the computing device 12 detects load measurements from load cells corresponding to the arm-curl-style exercise, and the computing device 12 may present the various visual representations described with regards to FIG. 10 on the user interface 18 in FIG. 12 based on at least the load measurements for the arm-curl-style exercise.



FIG. 13 illustrates a side view of the second implementation of the isometric exercise and rehabilitation assembly 101 with a user performing a leg-press-style exercise and a user interface presenting information to the user. The user interface 18 may present similar types information as discussed above with regards to FIG. 10, but the information in the user interface 18 in FIG. 13 may be tailored for the leg-press-style exercise. That is, the data channel for the leg-press-style exercise may be set to active when the computing device 12 detects load measurements from load cells corresponding to the leg-press-style exercise, and the computing device 12 may present the various visual representations described with regards to FIG. 10 on the user interface 18 in FIG. 13 based on at least the load measurements for the leg-press-style exercise.



FIGS. 14-18 illustrate views of a third implementation of the isometric exercise and rehabilitation assembly 101. FIG. 14 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly 101 with the user performing a chest-press-style exercise and a user interface 18 presenting information to the user. The user interface 18 in FIG. 14 may present similar types of information as discussed above with regards to FIG. 10.



FIG. 15 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly 101 with the user performing a pull-down-style exercise and a user interface 18 presenting information to the user. The user interface 18 may present similar types of information as discussed above with regards to FIG. 10, but the information in the user interface 18 in FIG. 15 may be tailored for the pull-down-style exercise. That is, the data channel for the pull-down-style exercise may be set to active when the computing device 12 detects load measurements from load cells corresponding to the pull-down-style exercise, and the computing device 12 may present the various visual representations described with regards to FIG. 10 on the user interface 18 in FIG. 15 based on at least the load measurements for the pull-down-style exercise.



FIG. 16 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly 101 with a user performing an arm-curl-style exercise and a user interface 18 presenting information to the user. The user interface 18 may present similar types of information as discussed above with regards to FIG. 12.



FIG. 17 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly 101 with a user performing a leg-press-style exercise and a user interface 18 presenting information to the user. The user interface 18 may present similar types of information as discussed above with regards to FIG. 13.



FIG. 18 illustrates a side view of the third implementation of the isometric exercise and rehabilitation assembly 101 with a user performing a suitcase-lift-style exercise and a user interface 18 presenting information to the user. The user interface 18 may present similar types of information as discussed above with regards to FIG. 11.


After a person has an injury (e.g., sprain or fractured bone), a surgery (e.g., knee replacement), or a disease (e.g., muscular dystrophy), the person's body is typically in a weakened state (e.g., physically disabled). Thus, clinicians, such as doctors and physical therapists, can prescribe exercise plans for rehabilitating their patients. The exercises in these exercise plans help restore function, improve mobility, relieve pain, improve strength, improve flexibility, and, among other benefits, prevent or limit permanent physical disability in the patients. Patients who follow their exercise plans typically show signs of physical improvement and reduced pain at a faster the rate (i.e., a faster rate of recovery or rehabilitation).


In addition, after an injury or surgery, patients typically become less active than they once were, and they may experience muscle loss. As explained above, muscles that are not used often may reduce in muscle mass and become weaker. To increase the muscle mass and/or reduce the rate of muscle loss, people may conduct exercises according to an exercise plan.


Balancing and/or resistance exercise may cause muscle tissue to increase. For example, balancing on a balance board or pushing and pulling on a stationary object (e.g., pedals of an exercise cycle) with a certain amount of force may trigger the cells in the associated muscle to change and cause the muscle mass to increase.


The subject matter disclosed herein relates to a control system for an exercise machine, not only capable of enabling an individual, preferably an individual recovering from a fracture, an injury, or a surgery, to engage easily exercises according to an exercise plan, but capable of using predetermined thresholds or dynamically calculating them, such that the person using the exercise machine can be immediately informed through real-time visual and/or other sensorial feedback, that goals of the exercise plan has been met or exceeded, thus triggering osteogenesis for the subject bone (or bones), and/or that the muscular strength threshold has been exceeded, thereby triggering muscular hypertrophy for the subject muscle (or muscles). The control system may be used to improve compliance with an exercise plan, whereby the exercise plan includes one or more exercises.


The control system may receive one or more measurements, such as load measurements, associated with forces exerted by both the left and right sides on left and right portions (e.g., pedals, base, or platform) of the exercise machine to enhance osteogenesis, bone growth, bone density improvement, stability, flexibility, range of motion, and/or muscle mass. The one or more measurements (e.g., a load measurement) may be a left measurement of a load or an increased resistance added to a left load cell on a left portion of the exercise machine (e.g., a left pedal or a left portion of the platform) and a right measurement of a load or an increased resistance added to a right load cell on a right portion of the exercise machine (e.g., a right pedal or a right portion of the platform). A user interface may be provided by the control system that presents visual representations of the separately measured left and right loads or resistances where the respective left and right load or resistances are added to the respective left and right load cells or sensors at the subject portions of the exercise machine. For example, the user interface may provide a video game that has an avatar representing the user (e.g., the patient in rehabilitation). The avatar may move in the video game and those moves may correlate with the moves of the patient. As the one or more measurements increase, the movement of the avatar may increase (e.g., if the video game is a car racing video game, as the patient increases the force exerted on the pedals, the speed of the avatar, in its car, will increase). Similarly, the control system may receive one or more measurements associated with speed, repetitions, balance, any other suitable measurement, or combination thereof. Such measurements can be used to move the avatar. The measurements can be received from sensors coupled to the exercise machine. For example, sensors can be coupled to the pedals of the exercise machine or to a base of the exercise machine.


In some implementations, initially, the control system may determine measurements in accordance with an exercise plan associated with each exercise of the video game. For example, there may be a first level of the video game that applies a first resistance to the pedals of the exercise machine (e.g., the cycle machine) and a second level of the video game that applies a second resistance to the pedals. Further, the control system may receive measurements associated with each exercise as a patient is using the exercise machine. The control system may generate a target threshold in accordance with an exercise plan associated with each exercise of the video game. For example, there may be a first threshold associated with the first level and a second threshold associated with the second level. The exercise may be complete when the one or more measurements are received and the one or more measurements exceed one or more target thresholds. For example, if the patient is playing the first level of the video game and one or more measurements exceed a first target threshold, the first level may end and the control system will select the level two for the patient to play. In some implementations, the control system may determine an average measurement by accumulating raw measurements over a certain period of time (e.g., 5 seconds) and averaging the raw measurements to smooth the data (e.g., eliminates jumps or spikes in data) in an average measurement.


The control system may compare the one or more measurements (e.g., raw measurements, or averaged measurements) to one or more target thresholds. In some implementations, a single measurement may be compared to a single specific target threshold (e.g., a one-to-one relationship). In some implementations, a single measurement may be compared to more than one specific target threshold (e.g., a one-to-many relationship). In some implementations, more than one measurement may be compared to a single specific target threshold (e.g., a many-to-one relationship). In some implementations, more than one measurement may be compared to more than one specific target threshold (e.g., a many-to-many relationship).


The target thresholds may be an osteogenesis target threshold, a muscular strength target threshold, a balance threshold, a speed threshold, a range of motion threshold, a repetition threshold, any other suitable threshold, or combination thereof. In addition to the threshold explanations described above, the balance target threshold, the speed threshold, and/or the range of motion threshold may be determined based on a rehabilitation protocol pertaining to the user, an age of the user, a gender of the user, a sex of the user, a height of the user, a weight of the user, a bone density of the user, an injury of the user, a type of surgery of the user, a type of bone fracture of the user, etc. A rehabilitation protocol may refer to any illness, disease, fracture, surgery, or ailment experienced by the user and any treatment instructions provided by a caretaker for recovery and/or healing. The rehabilitation protocol may also include a condition of health where the goal is avoid a problem. Any of the target thresholds may be determined based on a historical performance of the user using the exercise machine (e.g., amount of pounds lifted for a particular exercise, amount of force applied associated with each body part, the range of motion for pedaling, the level of exertion, the level of pain, etc.) and/or other exercise machines, a fitness level (e.g., how active the user is) of the user, a diet of the user, a protocol for determining a muscular strength target, a range of motion target, etc.


The control system may determine whether the one or more measurements exceed the one or more target thresholds. Responsive to determining that the one or more measurements exceed the one or more target thresholds, the control system may cause a user interface to present an indication that the one or more target thresholds have been met or exceeded and an exercise is complete. For example, the user has completed a level of the video game. Additionally, when the one or more target thresholds are met or exceeded, the control system may cause the user interface to present an indication that instructs the user to apply additional force (less than a safety limit) to attempt to set a personal maximum record or achievement (e.g., of a rate of speed, of a level of stability, a number of repetitions, of an amount of weight lifted, pressed, pulled, or otherwise exerted force) for that exercise. The control system may also determine that one or more target thresholds (e.g., a level of pain or an exersion level) are met or exceeded and end the exercise game being played. The control system may present the same game at an easier exercise game level or present a different game for the user to engage in different exercises to reduce the level of pain. In this way, the user can continue exercising rather than stopping the rehabilitation session due to pain. The video game may have one or more games, each of which have one or more exercises that target one or more muscles groups at one or more different levels of intensity.


Further, the user interface may present an indication when a measurement is approaching a target threshold for the user. In another example, when the measurement meets or exceeds the target threshold, the user interface may present an indication that the target threshold has been met or exceeded, respectively, and that the exercise is complete. The control system may provide visual and/or audio encouragement and/or coaching to the user during a video game. For example, as the user is nearing the target threshold, the control system may provide an audio of a human voice encouraging the user to maintain or increase speed on the cycling machine to earn an achievement or reach the end of the exercise game level. The control system may indicate if there are any remaining incomplete exercise game levels the video game as part of the exercise plan, that there is another game or another level (e.g., with a difference exercise and/or goal) to be completed by the user. If there are no remaining games or levels (i.e., exercises in the exercise plan) to complete, then the user interface may present an indication that all exercises in the exercise plan are complete and the user can rest. In addition, when the exercise plan is complete, the control system may generate a performance report that presents various information (e.g., charts and graphs of the right and left measurements received during each of the exercises, left and right maximum loads for the user received during each of the exercises, historical right and left measurements received in the past, comparison of the current right and left measurements with the historical right and left measurement, an amount of pounds lifted or pressed that is determined based on the measurements for each of the exercises, percent gained in measurements over time, achievements earned, goals reached, exercise game levels completed, rankings as compared to a video game history of playing, etc.).


Further, the one or more measurements may each be compared to a safety limit. For example, a left measurement and a right measurement may each be compared to the safety limit for the user. The safety limit may be determined for the user based on the user's disease protocol. There may be different safety limits for different portions of the user's body on the left and the right side, one extremity versus another extremity, a top portion of the user's body and a body portion of the user's body, etc., and for different exercises. For example, if someone underwent left knee surgery, the safety limit for a user for a left measurement for a cycling using a left leg may be different from the safety limit for a right measurement for that exercise and user. If the safety limit is exceeded, an indication may be presented on the user interface to instruct to reduce the amount of force or speed that the user is applying and/or to instruct the user to stop applying force because the safety limit has been exceeded.


Another benefit of the present disclosure is its ability to speed the healing of fractures in athletically robust individuals. Further, another benefit is the increase in muscle mass by using the exercise machine to trigger muscular hypertrophy. The control system may provide an automated interface that improves compliance with an exercise plan by using a real-time feedback loop to measure loads added during each of the exercises, (e.g. resistance applied to the pedals) compare the measurements to target thresholds and/or safety limits that are uniquely determined for the user using the exercise machine, and provide various indications based on the comparison. For example, the indications pertain to when the user should add more load, when the target thresholds are met or exceeded, when the safety limit is met or exceeded, when the exercise is complete, when the user should begin another game, when the user should begin another level of the exercise game, and so forth.


Rehabilitation Exercises and their Benefits


The following exercises achieve rehabilitation results by exposing relevant parts of a user to exercises that build strength, increase flexibility, increase range of motion, increase balance, increase coordination, decrease pain, decrease the amount of time required for recovery, or any combination thereof. In addition to the exercises machines or devices described above in this disclosure, exercise machines or devices used to facilitate the rehabilitation exercises referred to are as follows.


Cycling Machine


A cycling machine refers to a stationary bicycle used as exercise equipment and/or rehabilitation equipment. The cycling machine includes pedals configured to rotate. The cycling machine may include attached handlebars or may be used in combination with detached handlebars. The cycling machine may include an attached seat or may be used in combination with a detached seat. The cycling machine can be used to for exercise targeted to improve the following key muscle groups: gluteals, hamstrings, quadriceps, thighs, adductors, abs, and grip muscles as well as to increase flexibility, range of motion, and strength.


Balance Equipment


Balance equipment refers to an exercise machine or device, such as a balance board or a rocker device, for a user to stand on and maintain balance and control as the balance board moves in various directions. The balance board can be used to for exercise targeted to can improve mobility, flexibility, proprioception, and strength in the following key muscle groups: peroneals, gluteals, hamstrings, quadriceps, thighs, adductors, abs, and grip muscles as well as to increase flexibility, range of motion, and core strength.


Exercise machines can include moving parts to provide dynamic exercises to facilitate rehabilitation. A dynamic exercise can be, but is not limited to an exercise where a user participates in an activity where the user moves and some resistance or load may be provided against the movement of the user. The FIGS. 19 and 20A-B illustrate implementations of an exercise machine 1900, generally shown, for use by a user for exercise. The exercise machine 1900 can be a stationary exercise machine (e.g., cycling machine) that can be used for exercise and/or rehabilitation. The exercise machine 1900 comprises a base 1902, generally indicated, that has front and rear sides 1904, 1906 and right and left sides 1908, 1910. In the illustrated implementation of the base 1902, the rear side 1906 of the base 1902 wider than the front side 1904. However, the base 1902 could be of any shape. For example, the base 1902 could be rectangular, circular, rounded, trapezoidal, or square. In addition, in the present implementation of the base 1902, the front side 1904 and the rear side 1906 can taper. For an individual who has limited mobility, the taper of the front side 1904 and the rear side 1906 allows for ease of ingress and egress onto and off of, respectively, the base 1902. However, the base 1902 could have raised rectangular edges, and the base 1902 may include a step for ingress and egress onto and off of the base 1902. Slip pads 1912 can be coupled to the base 1902 adjacent each side to prevent slipping during use of the exercise machine 1900.


Implementations of a first housing 1914, generally indicated, can be coupled to the base 1902. The first housing 1914 can be disposed adjacent to the rear side 1906. A handlebar including one or more handles 1916 can be coupled to the first housing 1914. The handles 1916 can include grip pads to prevent slipping during use of the exercise machine 1900.


The exercise machine 1900 comprises a multidimensional exercise control system. The control system comprises a user interface 1918. The user interface can be coupled to the first housing 1914. The user interface 1918 may be or function as the user interface 18 in FIG. 1. The computing device 12 may comprise the user interface 1918 and be communicatively coupled to an exercise machine 100. The user interface 1918 may also be communicatively coupled with the computing device 15 and the cloud-based computing system 16. As used herein, a cloud-based computing system refers, without limitation, to any remote or distal computing system accessed over a network link. Each of the user interface 1918, computing device 15, and/or the exercise machine 1900 may include one or more processing devices, memory devices, and network interface devices. In some implementations, the user interface 1918 may be included as part of the structure of the exercise machine 1900. In some implementations, the user interface 1918 may be separate from the exercise machine 1900. For example, the user interface 1918 may be a smartphone, tablet, laptop, or the like. The computing device 12, the computing device 15, and/or the cloud-based computing system 16 can include memory to store the application 17, such as one or more video games. The video game comprises one or more exercise games. Each exercise game may include one or more exercises that target one or more parts or regions of a user's body. The parts or regions of each exercise game may be the same, different, or overlap with other exercise games. Each exercise game may include one or more levels. The levels may include different levels of intensity of exercise for one or more body parts or regions of a user. The video game can be used for engaging users to comply with an exercise plan, such as for rehabilitation purposes.


Implementations of a second housing 1920, generally indicated, can be coupled to the base 1902. The second housing 1920 can be disposed between the front and rear sides 1904, 1906. The second housing 1920 can be disposed adjacent to and/or coupled to the first housing 1914. In the present implementation of the second housing 1920, and as illustrated in the drawings, the second housing 1920 is cylindrical shaped. However, the base 1902 could be of any shape.


A wheel 1926 can be operatively coupled to the exercise machine 1900. In certain implementations, the exercise machine 1900 can have the wheel 1926 coupled to the base 1902. The wheel 1926 can be a single wheel 1926, and the wheel 1926 may be a flywheel. In certain implementations, the exercise machine 1900 can have a pair of wheels, and the wheels may be flywheels. The wheel 1926 can be disposed in the second housing 1920, and the wheel 1926 can be independently rotatable about an axis. The wheel 1926 can be disposed in in a cavity of the second housing 1920. The wheel 1926 can be partially disposed in an openings of the second housing 1920. One of skill in the art will appreciate that the wheel 1926 may be coupled to the base 1902 by various means known in the art. As one example, a support beam can extend from the base 1902 to a first axial, where an axial extends along the axis. In this implementations, the wheel 1926 can be coupled to and independently rotatable about the axial.


In some implementations, pair of pedals (e.g., a right pedal 1922 and a left pedal 1924) can be coupled to and extend from the wheel 1926. The pedals 1922, 1924 can be configured to be engaged by the user, and the pedals 1922, 1924 can facilitate rotation of the respective wheel 1926. The pedals 1922, 1924 can be movably coupled to the wheel 1926. More specifically, the pedals 1922, 1924 can be adjusted radially by the user to various positions to accommodate the needs of the user. During use of the exercise machine 1900, the user can sit in a seat 1930 and engage the pedals 1922, 1924. The seat 1930 may be detached from the exercise machine 1900. In some implementations, the seat 1930 may be attached to the exercise machine 1900. It should be readily appreciated that the user may adjust the seat 1930 and/or the pedals 1922, 1924 to a desired position to accommodate the needs of the user for exercise or rehabilitation. When the user engages the pedals 1922, 1924, the user may apply a force to respective pedals 1922, 1924 to engage and cause rotation of a respective wheel 1926. By engaging respective pedals 1922, 1924 and applying a force to the same, the user, to support osteogenesis and/or increase a range of motion of a user's legs, engages various muscles to push the respective pedals 1922, 1924. The pedals 1922, 1924 may have straps or engagements for a user to engage with and pull the pedals 1922, 1924. Pulling the pedals 1922, 1924 may aid in the strength and rehabilitation of additional muscles. A sensor 1934 can be coupled to the right pedal 1922. An additional sensors 1936 can be coupled to the left pedal 1924. As described above, the sensors 1934, 1936 can be configured to collect sensor data correlating to the respective pedals 1922, 1924. The sensors 1934, 1936 can be a Bluetooth sensor, a load sensor, accelerometers, gyroscopes, magnetometers, any other suitable sensor, or combination thereof.


To further support osteogenesis during use of the exercise machine 1900 by a user, the exercise machine 1900 can include a first resistance mechanism (not shown). The resistance mechanism can be coupled to the base 1902, and the resistance mechanism can be disposed in the second housing 1920 adjacent to the wheel 1926. When the pedal 1922, 1924 are engaged by the user, the resistance mechanism can be configured to resist rotation of the wheel 1926. The resistance mechanisms may resist rotation of the wheel 1926 by any means known in the art.


It is to be appreciated that the exercise machine 1900 could comprise a motor coupled to each of the wheel 1926 and each motor is configured to affect or regulate the independent rotation of a respective wheel 1926. Moreover, the motor 1928 affects or regulates the independent rotation of the wheel 1926 by engaging the wheel 1926 and selectively causing or resisting rotation of the wheel 1926. The motor 1928 can engage the wheel 1926 by any means known in the art. In one example, the motor 1928 could engage gears to cause rotation of the wheel 1926. It is to be appreciated that the motor 1928 can operate congruently with or independently of the resistance mechanisms to affect or regulate the rotation of the wheel 1926. In certain implementations, the motor 1928 can cause rotation of the wheel 1926, and the motor 1928 can resist rotation of the wheel 1926. In other implementations with the motor 1928 and the resistance mechanism, the motor 1928 can rotate the wheel 1926 and the resistance mechanism can resist or stop rotation of the wheel 1926 when the motor 1928 stops rotating the wheel 1926. For regulating or affecting the rotation of the wheel 1926, the present disclosure allows for many variations and combinations of the motor 1928 and the resistance mechanism.


During use of the exercise machine 1900 by a user, when the user applies a force to the pedals 1922, 1924, the control system can maintain a constant rotational velocity between each of the wheel 1926. Alternatively, the wheel 1926 can be mechanically interconnected. For example, the wheel 1926 could be mechanically interconnected by a chain, belt, gear system, or any other means to maintain a constant rotational velocity between the wheel 1926.


In a further implementations of the exercise machine 1900, a control system can be coupled to an actuator, and the control system can be configured to control the actuator. Moreover, the control system can be configured to independently vary the resistance to each of the wheel 1926 to maintain a select rotational velocity thereof, and to independently stop rotation of the wheel 1926. More specifically, the control system can control the actuator to activate the resistance mechanism to independently vary the resistance of the wheel 1926. In certain implementations, the control system can be coupled to the motor 1928, and the control system can be configured to control the motor 1928. Additionally, the control system can be configured to independently maintain select rotational velocities of the wheel 1926, and to independently stop rotation of the wheel 1926. More specifically, the control system can control the motor 1928 to independently maintain select rotational velocities of the wheel 1926 by rotating, resisting, or stopping rotation of the wheel 1926. It is to be appreciated that the control system may control the actuator and/or the motor 1928 simultaneously or independently to maintain the select rotational velocities of the wheel 1926. For communicating the rotational velocities or accelerations of the wheel 1926 to the control system, the control system may also include sensors located on the user or coupled to the wheel 1926. With the rotational velocities or accelerations received from the sensors, the control system can determine, with a processor of the control system, a select rotational velocity of the wheel 1926. The control system can then control the motor 1928 and/or the actuator to maintain the select rotational velocities of the wheel 1926.


In some implementations of the exercise machine 1900, a switch, not illustrated, can be disposed on the first housing 1914 for activating the control system. In another implementations, a button, not illustrated, may be disposed on the first housing 1914 for activating the control system. In yet another implementation, a display 1932 of a user interface 1918, such as a computer screen, iPad, or like device, can be coupled to the exercise machine 1900 to activate the control system. The switch, display 1932, and/or button may be coupled to the exercise machine 1900 by alternative or other means. For example, the switch, display 1932, and/or button could be coupled to the handle 1916. It is further to be appreciated that alternative means could be used to activate the control system and the use of the switch, display 1932, or the button, is not meant to be limiting.


In another implementations, one or more biometric sensors, not shown, may be coupled to the exercise machine 1900 for activating the control system. The biometric sensor could be for, inter alia, detection, recognition, validation and/or analysis of data relating to: facial attributes; a fingerprint, hand, eye (iris), or voice signature; DNA; and/or handwriting. In yet another implementation, the biometric sensor can comprise position sensors located on the user. In addition, it is contemplated that advancements of such biometric sensors may result in alternative sensors that could be incorporated in the exercise machine 1900, i.e., biometric type sensors not currently on the market may be utilized. Further, the one or more biometric sensors may comprise a biometric system, which may be standalone or integrated.


In one implementation, adjustment of exercise based on artificial intelligence, exercise plan, and user feedback is disclosed. An exercise plan may include one or more exercise sessions. For example, an exercise plan may include a schedule of a certain number of exercises sessions for a certain time period (e.g., 3 exercise sessions each week for 4 weeks) that, if performed by the user, should result in a desired outcome (e.g., rehabilitation of a body part, strengthen a muscle, etc.). The exercise session may include one or more exercises for various sections (e.g., warm up, strength, flexibility, cycling, cool down, etc.) The exercise plan may be generated using artificial intelligence via one or more trained machine learning models as described herein. The exercise plan may include a plan of one or more exercise sessions including exercises for a patient for rehabilitating a body part. The exercise plan may include exercises for one or more muscle groups. The exercise plan may be generated by artificial intelligence and/or prescribed by a doctor, a physical therapist, or any other qualified clinician.


For example, a machine learning model may be trained to select one or more exercises for an exercise session based on various inputs. The inputs may include the pain level of the user, the range of motion of the user, and/or attributes of the user. These inputs may be used to determine an exercise level of the user. The machine learning model may receive the exercise level as input and select corresponding exercises from a data structure by matching the exercise level of the user to exercises having a tagged corresponding user exercise level. Various other techniques may be used to select the exercises for the exercise session.


The machine learning models may be trained to control a virtual coach executing on a computing device associated with the exercise machine 100. The virtual coach may speak via a speaker of the computing device, may be a virtual avatar displayed on the user interface 18 of the computing device 12, may cause one or more messages, emails, text, notifications, prompts, etc. to be presented on the user interface 18. The virtual coach may perform actions based on various information, such as progress of the user performing an exercise, the exercise plan details, user feedback, and the like. For example, the virtual coach may provide encouragement to the user based on the progress of the user during an exercise. The virtual coach may provide incentives, rewards, and/or certificates to the user as the user completes exercises. The virtual coach may have a particular persona that is selected for a particular user. For example, some users may respond better and perform exercises completely in response to a nice and encouraging persona for the virtual coach, while other users may respond better to a more demanding and strict (e.g., drill sergeant) persona.


By tailoring the exercise plan for the specific user and dynamically adjusting it using artificial intelligence, compliance with the exercise plan may be enhanced. Further, the user may achieve their desired goal faster by using the generated exercise plan because it is based on their progress and feedback (e.g., pain level, exercise difficulty level). By achieving the desired outcome faster, computing resources (e.g., processing, memory, network, etc.) may be reduced because the exercise machine 100, the computing device 12, and/or the cloud-based computing system 16 may not have to continuously update the exercise plan.


Further, the virtual coach may provide a companion type of feel for the user, which may further cause the user to comply with the exercise plan more efficiently and completely, thereby achieving their desired outcome faster. The virtual coach may improve the user experience of using the computing device 12 and/or the exercise machine 100 because the persona may be selected specifically for the particular user. In some instances, the user may form a bond with the persona of the virtual coach if the persona matches a friend in real life, family member, a significant other, or the like, and the bond may cause the user to feel a desire to want to listen to the virtual coach and/or complete the exercise plan such that they don't let the virtual coach down. Such a situation may also save computing resources because the exercise plan may not have to be adjusted and lengthened by adding additional exercise sessions.


As a result, various technical benefits may be achieved by the disclosed implementations, as described above. Further, the user experience of using the exercise machine 100, the computing device 12, or both may be improved based on the disclosed techniques due to exercising with the virtual coach, the incentives, the rewards, the certificates, and the like.


The processing device may be configured to execute the instructions to receive user input data. As illustrated in FIG. 21, the user interface 2100 may display a screen 2102 requesting a user to provide a pain level. The user can select the level of pain (e.g., no pain, mild, moderate, severe, very severe) before an exercise begins. The level of pain may be used to determine an exercise level of the user. Once the level of pain is selected, a testing phase may be initiated where a user performs an exercise to determine their range of motion, for example. The level of pain and the range of motion may be used to determine the exercise level of the user. The user interface 2100 may provide visual and/or audio prompts for the user. The user may provide the user interface 2100 with the user input by touching the user interface 2100, speaking to the user interface 2100, or any other suitable input. The user interface 2100 may request that a user enter other user input, such as an exertion level, a difficulty of an exercise, or the like. Further, a virtual coach may read the question to the user by saying (via a speaker) “What is your knee pain level today? Please say it out loud.” The processing device may be configured to execute the virtual coach to provide coaching and instructions to a user on how to use the exercise machines 100, an exercise, or any other suitable information. The instructions and/or coaching may be a prerecorded or dynamic virtual coach (e.g., a trainer or a physical therapist) and provide commands, instructions, and/or tips via audio and/or video. For example, the virtual coach may provide tips on posture and form while performing an exercise or using the exercise machine. The virtual coach may provide motivational content, such as words of encouragement to the user. The virtual coach may be provided randomly during the video game and/or it may be based on input and/or data from the user and/or sensors. The virtual coach may be data-driven. The processing device can receive user input data, sensor data, tracker data, historical data, and/or any other suitable information to obtain information, such as the difficulty level of the exercise, whether the user likes the persona of the virtual coach, and provide audio and/or visual coaching to the user.



FIG. 22 illustrates an example user interface 2200 presenting a pedal setting for a session as determined by a machine learning model. The pedal setting may be dynamically determined by the machine learning model 60 for a particular exercise based on the exercise level of the user, the range of motion of the user, the attributes of the user, or some combination thereof. The user interface 2200 may also include prompt for the user to watch a tutorial for an exercise prior to the user actually beginning the exercise. It should be noted the virtual coach may provide audio/video instructions pertaining to the pedal setting for the session.



FIG. 23 illustrates an example user interface 2300 presenting an exercise session determined for a user by a machine learning model. The exercise session includes 5 sections: warm up cycle, seated march, sit-to-stand, calf raise, and hamstring curl. The total time for the exercise session is 18 minutes. The exercise session may be generated by the machine learning model 60 as described herein and may be presented on the user interface 2300 of the computing device 12 associated with the exercise machine 100. The virtual coach may be executed by the computing device 12 to provide audio/video instructions and description pertaining to the exercise session.



FIG. 24 illustrates an example user interface 2400 presenting details of a particular exercise for a user to perform. The user interface 2400 may include details of a particular exercise: the seated knee march. For example, the user interface 2400 presents that 2 sets of 10 reps are to be performed by the user and an optional 30 second of rest between sets. The virtual coach may provide audio/video instructions and description pertaining to the details of the exercise.



FIG. 25 illustrates an example user interface 2500 presenting an incentive, reward, congratulatory message, etc. to the user for completing a set. For example, the user interface 2500 presents a notification that says “Nice work! You've finished 1 set of 2.” Then the user interface 2500 presents a notification to begin the next set after the 30 second rest period expires. It should be noted that the virtual coach may provide audio/video pertaining to the incentive, reward, congratulatory message. Such interaction with the virtual coach may inspire the user to continue the exercise session and complete the next set, thereby advancing their exercise plan and recovery rate.



FIG. 26 illustrates an example user interface 2600 that includes options for the user to indicate whether an exercise is too easy or too hard. During performance of an exercise, the user may select the options for too easy or too hard on the user interface 2600 or say the words “too easy” or “too hard.” Such selection may cause the machine learning model 60 to alter the exercise, the exercise session, or both. For example, the cloud-based computing system 16 may increase or decrease the intensity of the exercise by modifying a parameter (e.g., resistance, speed, etc.) of the exercise machine 100. Further, if the options for too easy or too hard are chosen more than a threshold number of times, the machine learning model 60 may remove the exercise from the exercise session, add another exercise to the exercise session, switch to a different exercise, or the like.



FIG. 27A illustrates an example method 2700 for generating, using a machine learning model, an exercise session for a user and causing a virtual coach to provide instructions pertaining to the exercise session. The operations can be used to improve compliance with an exercise plan. The method 2700 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), firmware, software, or a combination of them. The method 2700 and/or each of their individual functions, subroutines, or operations may be performed by one or more processing devices of a control system (e.g., cloud-based computing system 16, computing device 12 of FIG. 1) implementing the method 2700. The method 2700 may be implemented as computer instructions that are executable by a processing device of the control system (e.g., a computer-readable medium may be used to store instructions that, when executed, cause a processor perform the following steps or processes of the method 2700). In certain implementations, the method 2700 may be performed by a single processing thread. Alternatively, the method 2700 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods. Various operations of the method 2700 may be performed by one or more of the cloud-based computing system 16, the computing device 12, and/or the computing device 15 of FIG. 1.


At block 2702, the processing device may receive a set of inputs. The set of inputs may include an indication of a level of pain of the user, a range of motion of a body part of the user, a set of attributes of the user, or some combination thereof. The indication of the level of pain of the user may be entered by the user using any suitable peripheral device (e.g., microphone, keyboard, touchscreen, mouse, etc.) at a particular user interface 18 displayed on a computing device 12. The range of motion of the body part of the user may be determined by the processing device by the user performing a baseline exercise for a certain amount of time. The baseline exercise may include setting a pedal at an initial position and having the user cycle at that position for a period of time. If the user does not experience any pain after the period of time, the pedal may be moved to a second position and the user may cycle for the period of time again. If the user experiences pain, then the range of motion of the user may be determined based on the previous position of the pedal when the user was able to cycle without pain. As may be appreciated, if the user does not experience pain, the position of the pedal may continue to change until the user experiences pain and the ROM of the user may be determined based on the prior position where the user did not experience pain. The attributes of the user may include an age of the user, a height of the user, a weight of the user, a gender of the user, a condition that caused the pain in the body part, one or more procedures perform on the user, a goal of the user, whether the user is in a pre-procedure stage or a post-procedure stage, or some combination thereof. The attributes may be included in a user profile for the user that is stored at the cloud-based computing system 16, the computing device 12, the computing device 15, or both.


At block 2704, the processing device may determine, based on the set of inputs, an exercise level of the user. The exercise levels may range from 1-5, where 1 is the lowest exercise level and 5 is the most advanced exercise level. Any suitable range of exercise levels may be used. The following chart illustrates an example of how the exercise level may be determined:














If Pain Is
& ROM Is
Then Level Is







 8-10
1-2
1


 8-10
3-4
2


 8-10
5
3


5-7
1-2
1


5-7
3-4
2


5-7
5
3


1-4
1-2
1


1-4
3-4
2


1-4
5
4


0
5
5









At block 2706, the processing device may generate, using the machine learning model 60, an exercise session for the user by selecting, based on the exercise level of the user, one or more exercises to be performed by the user using the exercise machine 100. In some implementations, a data structure may include entries for a set of exercises (e.g., tens, hundreds, thousands, etc.) that are each tagged with an exercise level. For example, the processing device may tag each exercise of the set of exercises with a respective user exercise level. The machine learning model 60 may access the data structure to select the exercises for the exercise session by filtering the set of exercises, as further discussed with reference to FIG. 28.


At block 2708, the processing device may cause initiation of the exercise session on the exercise machine 100 and a virtual coach executed by the computing device 12 associated with the exercise machine 100 to provide instructions pertaining to the exercise session. The virtual coach may be driven by artificial intelligence via one or more trained machine learning models 60. For example, the trained machine learning models may receive various inputs, such as the exercise session for the user, the exercise being performed, instructions pertaining to the exercise being performed, completion of the exercise being performed, progress of the exercise being performed, and may be trained to provide certain outputs based on the inputs. The virtual coach may output audible noise (e.g., speech) that pertain to the various inputs. For example, the virtual coach may say, via a speaker of the computing device 12, encouraging words while a user is performing an exercise, congratulatory words when the user completes an exercise, instructions when the user is about to start another exercise, and the like. The virtual coach may have a persona (e.g., a cheerleader type of persona, a drill sergeant type of persona) that is selected based on progress of the user, feedback of the user, or both, as described further below with reference to FIG. 30.


In some implementations, the processing device may receive, from the user while the user is performing an exercise of the one or more exercises in the exercise session, feedback pertaining to the exercise. The feedback may include an indication that the exercise is too easy or too hard. For example, the user may use a display screen or microphone of the computing device 12 to enter or say the exercise is “too easy” or “too hard.” Responsive to receiving the feedback, the processing device may cause an intensity of the exercise to increase or decrease. For example, if the user says “too easy” the intensity of the exercise may be increased. If the user says “too hard,” the intensity of the exercise may be decreased. Other dimensions, parameters, attributes, etc. of the exercise or exercise session may be changed based on whether the feedback is too easy or too hard. For example, the other dimensions, parameters, attributes, etc. may include a number of sets, a number of repetitions, a hold time, a rest time, and the like. When one of the dimensions, parameters, attributes, etc. changes, the virtual coach may provide an indication of the change. For example, the virtual coach may say, via a speaker of the computing device 12, “The intensity for this exercise has increased.”


In some implementations, the processing device may track how many times the user has provided the feedback for a particular exercise in an exercise session or across every exercise session in an exercise plan for the user. Responsive to determining the feedback has been received more than a threshold number of times (e.g., 3, 4, 5, etc.), the processing device may control, in real-time or near real-time, the exercise machine 100 to initiate a more advanced exercise than the exercise currently being performed, a less advanced exercise than the exercise currently being performed, or the like. Further, the processing device may remove the exercise for which the feedback was received more than the threshold number of times from subsequent exercise sessions and replace it with another exercise. The processing device may cause the virtual coach to provide an indication via the computing device 12 (e.g., voice emitted through the speaker, graphic on the user interface 18, text on the user interface 18, or the like) of the change to the exercise.


In some implementations, the processing device may monitor the progress of the user while the user uses the exercise machine to perform the one or more exercises. The progress may include an amount of time the user performs the one or more exercises, the range of motion of the user while the user performs the one or more exercises, the level of pain of the user while the user performs the one or more exercises, whether the user completes the one or more exercises, an indication of the user of a level of difficulty of the one or more exercises, or some combination. The progress may be determined based on measurement data received from any sensor associated with the exercise machine 100, any user feedback received by the computing device 12, and the like. The user may use any suitable peripheral to input the level of difficulty (e.g., too hard or too easy) while the user performs the exercises. The processing device may adjust, by executing the machine learning model 60, a subsequent exercise session based on the progress of the user. The adjusting may be based on advancing the exercise level of the user to a next exercise level, achieving a desired goal as defined by the user, a medical professional, or both, or some combination thereof.


In some implementations, the processing device may monitor progress of the user while the user uses the exercise machine 100 to perform the one or more exercises. The processing device may cause, based on the progress of the user, an incentive, reward, or both to be elicited by the computing device 12 associated with the exercise machine 100. The incentive, reward, or both may include an animation, video, audio, haptic feedback, image, push notification, email, text, or some combination thereof. The processing device may cause the virtual coach to perform an encouraging action (e.g., shoot virtual fireworks on the user interface 18, cause an avatar displayed on the user interface 18 to dance or give a virtual high five, emit an audible noise from the speaker congratulating the user). Providing incentives, rewards, or both may encourage the user to continue to perform exercises and comply with the exercise session, which in turn, may decrease the amount of time it takes for the user to achieve their goal. Reducing the amount of time it takes for the user to achieve their goal may include technical benefits because if the user achieves their goal faster, the computing device 12, exercise machine 100, and/or the cloud-based computing system 16 may save computing resources (e.g., processing, memory, network) by not having to execute as long to guide the use through the exercise plan. That is, if the user does not comply with the exercise plan efficiently or as directed, then the exercise plan may be adjusted to add additional exercise sessions, thereby causing the computing device 12, exercise machine 100, and/or the cloud-based computing system 16 execute longer and waste computing resources until the user achieves their goal.


In some implementations, the processing device may determine when a number of incentives, rewards, or both elicited by the computing device 12 satisfy a threshold value (e.g., 3, 4, 5). Responsive to determining that threshold value is satisfied, the processing device may cause a certificate to be transmitted to the computing device 12 and associated with an account of the user using the exercise machine 100. For example, the certificate may be stored in a digital wallet of the user's account in the application 17 executing on the computing device 12. In some implementations, the certificate may have a particular value that may be exchanged for certain items (e.g., gift certificate, clothing, coupons, discounts, etc.).


In some implementations, the processing device may determine, by executing the machine learning model 60, a set of audio segments for the virtual coach to say while the user performs the one or more exercises. The audio segments may be based on a state of the exercise (e.g., beginning, middle, end), progress of the user performing the exercise, or any suitable information. For example, at the initiation of the exercise, the audio segment may provide instructions to the user on the details of the exercise (e.g., 2 reps, 30 seconds, etc.). Based on the progress of the user, the audio segment may say “pedal faster” if the user is not pedaling fast enough, “good job” if the user is satisfying the criteria for the exercise, “almost finished” if the user is almost finished with the exercise, or the like. The audio segments may be dynamically determined, in real-time or near real-time, by the machine learning model 60 based on the inputs described above. It should be noted that real-time or near real-time may refer to a relatively short amount of time (e.g., less than 5 seconds) after an action occurring.


In some implementations, the processing device may determine, by executing the machine learning model 60, a schedule of a set of exercise sessions to be performed by the user to achieve a desired goal specified by the user, a medical professional (e.g., physical therapist), or both. The machine learning model 60 may be trained to determine the schedule based on various inputs, such as the desired goal (e.g., full recovery, near full recovery at a fastest pace possible, strength improvement, flexibility improvement, etc.), a procedure performed on the user, attributes of the user (e.g., age, weight, height, etc.), a daily schedule of the user (e.g., job schedule, parenting schedule, school schedule, etc.), and the like. The schedule may be optimized for the user and may comply with the various inputs described above.


In some implementations, the virtual coach may be controlled, in real-time or near real-time, by the machine learning model 60. For example, the virtual coach may provide indications (e.g., emit audible noises, present various screens or notifications or indications or avatars or graphics, etc.) via the computing device 12 as parameters of the exercise, exercise session, exercise machine 100, etc. change, or as attributes or progress of the user changes.



FIG. 27B illustrates an example data structure 2750 including a set of exercises tagged by exercise level of a user. As depicted, the data structure 2750 (e.g., table, database, linked list, blockchain, etc.) includes columns for Exercise, Description, Image, Levels (tagged portion), Sections, Component (Exercise Goal), Swap it out with, Too Easy, Too Hard, Reps (starting level), # of sets (starting level), Time Per Rep, Rest Time Per Set, Body Part Exercised, and Intensity. In some implementations, different columns may be used and not all of the ones depicted may be used.


The exercise Sitting Knee Extension has been tagged as a suitable exercise for levels 1, 2, and 3, and is an option for the section comprising Warm Up. It should be note that each exercise session may include various sections: warm up, cardio, strength, cycle, cool down, flexibility, etc. Each section of an exercise session may be assigned one or more exercises that are appropriate for that section, based on the entry in the data structure 2750, and the exercise level of the user that matches the level in the data structure 2750.



FIG. 28 illustrates an example method 2800 for filtering a set of exercises to obtain one or more exercises to include in an exercise session for a user. The operations can be used to improve compliance with an exercise plan. The method 2800 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), firmware, software, or a combination of them. The method 2800 and/or each of their individual functions, subroutines, or operations may be performed by one or more processing devices of a control system (e.g., cloud-based computing system 16, computing device 12 of FIG. 1) implementing the method 2800. The method 2800 may be implemented as computer instructions that are executable by a processing device of the control system (e.g., a computer-readable medium may be used to store instructions that, when executed, cause a processor perform the following steps or processes of the method 2800). In certain implementations, the method 2800 may be performed by a single processing thread. Alternatively, the method 2800 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods. Various operations of the method 2800 may be performed by one or more of the cloud-based computing system 16, the computing device 12, and/or the computing device 15 of FIG. 1.


At block 2802, the processing device may filter a set of exercises to obtain the one or more exercises for a particular exercise session in an exercise plan. Block 2802 may include blocks 2804, 2806, 2808, 2810, and/or 2812.


At block 2804, the processing device may identify, based on the tagging of the exercises in the data structure, a subset of exercises having the respective user exercise level that matches the exercise level of the user. At block 2806, the processing device may identify a first subset of exercises having a respective section of a set of sections, wherein the set of sections include warm-up, cycling, strength, flexibility, or some combination thereof. At block 2808, the processing device may identify a second subset of exercises that result in a desired outcome specified by a medical professional, wherein the desired outcome pertains to increasing a range of motion, mobility, strength, flexibility, or some combination thereof. At block 2810, the processing device may identify, using a historical performance of the user, a third subset of exercises that have been performed by the user less than a threshold number of times. At block 2812, the processing device may identify, based on feedback from the user, a fourth subset of exercises that have been performed by the user and indicated as being too easy or too hard for the user.


In some implementations, the processing device may select at least one of the subset of exercises, the first subset of exercises, the second subset of exercises, the third subset of exercises, or the fourth subset of exercises as the one or more exercises for the exercise session. That is, any combination of the subset, the first subset, the second subset, the third subset, and the further subset of exercises may be selected as the one or more exercises for the exercise session.



FIG. 29 illustrates an example method 2900 for adjusting an exercise session based on user feedback. The operations can be used to improve compliance with an exercise plan and may improve the user's experience using the computing device 12 and/or the exercise machine 100. The method 2900 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), firmware, software, or a combination of them. The method 2900 and/or each of their individual functions, subroutines, or operations may be performed by one or more processing devices of a control system (e.g., cloud-based computing system 16, computing device 12 of FIG. 1) implementing the method 2900. The method 2900 may be implemented as computer instructions that are executable by a processing device of the control system (e.g., a computer-readable medium may be used to store instructions that, when executed, cause a processor perform the following steps or processes of the method 2900). In certain implementations, the method 2900 may be performed by a single processing thread. Alternatively, the method 2900 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods. Various operations of the method 2900 may be performed by one or more of the cloud-based computing system 16, the computing device 12, and/or the computing device 15 of FIG. 1.


At block 2902, the processing device may receive, from the user while the user is performing an exercise of the one or more exercises, feedback pertaining to the exercise, wherein the feedback includes an indication of a level of difficulty of the exercise. For example, the feedback may be entered by the user using any suitable peripheral (e.g., microphone, touchscreen, mouse, keyboard, etc.) of the computing device 12. The feedback may include the user saying the exercise is too easy or too hard.


At block 2904, the processing device may determine whether the feedback has been received more than a threshold number of times for the exercise. At 2906, responsive to determining the feedback has been received more than the threshold number of times for the exercise, the processing device may adjust, in real-time or near real-time, the exercise session. In some implementations, adjusting the exercise session may include changing to another exercise, controlling the exercise machine to stop the exercise, removing the exercise from the exercise session, changing an intensity of the exercise, or some combination thereof. At block 2908, the processing device may cause the virtual coach to provide an indication of the adjustment. The indication may be provided via the user interface 18, a speaker of the computing device 12, or the like.



FIG. 30 illustrates an example method 3000 for selecting a persona for the virtual coach. The operations can be used to improve compliance with an exercise plan and may improve the user's experience using the computing device 12 and/or the exercise machine 100. The method 3000 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), firmware, software, or a combination of them. The method 3000 and/or each of their individual functions, subroutines, or operations may be performed by one or more processing devices of a control system (e.g., cloud-based computing system 16, computing device 12 of FIG. 1) implementing the method 3000. The method 3000 may be implemented as computer instructions that are executable by a processing device of the control system (e.g., a computer-readable medium may be used to store instructions that, when executed, cause a processor perform the following steps or processes of the method 3000). In certain implementations, the method 3000 may be performed by a single processing thread. Alternatively, the method 3000 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods. Various operations of the method 3000 may be performed by one or more of the cloud-based computing system 16, the computing device 12, and/or the computing device 15 of FIG. 1.


At block 3002, the processing device may select, for the virtual coach, a persona from a plurality of personas. The virtual coach may be implemented in computer instructions stored in a memory device and executable by a processing device. The virtual coach may include a particular voice (e.g., male, female) and have a particular persona. The persona may be randomly selected at first and the user's response to the persona may be tracked over time. The response may include whether the user performs the exercises completely or incompletely as the virtual coach guides the user through the exercises. The personas may range from a cheerleader type that provides a lot of encouragement to a drill sergeant type that is more aggressive, harsher, stricter, and/or demands compliance with the exercise or demands the user tries harder.


At block 3004, the processing device may cause the virtual coach to provide instructions as the user performs the one or more exercises. The instructions may be provided visually on the user interface 18, audibly via a speaker of the computing device 12, or both.


At block 3006, the processing device may monitor a parameter associated with the user while the user performs the one or more exercises. The parameter may include a vital sign (e.g., heartrate, blood pressure), sensor measurement data (e.g., ROM, pressure exerted on pedals, etc.), attributes of the user (e.g., respiratory rate, temperature, perspiration, etc.). The monitoring may be based on any suitable sensor measurement data associated with the user, the exercise machine 100, or both. In some implementations, the parameter pertains to a progress of the user, an indication of whether the user likes the persona of the virtual coach, or both. For example, the user may provide feedback that they like the persona of the virtual coach via the user interface 18 or by speaking to the computing device 12 via a microphone.


At block 3008, the processing device may select, based on the parameter, a subsequent persona for the virtual coach. For example, if the user indicated the user does not like the persona, the processing device may select a different persona for a subsequent exercise and/or exercise session.


At block 3010, the processing device may switch, in real-time or near real-time, based on the parameter, to a different persona for the virtual coach while the user performs the one or more exercises. Dynamically switching may be based on whether the user is performing the exercise well or not. For example, if the user is pedaling at substantially slower rate than desired for the exercise, the processing device may determine the user is not responding well to the persona and may switch to a different persona immediately during the exercise. The progress of the user may be tracked to see if the switch of personas impacts the progress of the user. Further, if the user indicates the user does not like the persona, the processing may switch to a different persona immediately while the user performs the exercise.



FIG. 31 illustrates an example user interface 1918 presenting an indication 3100 that an exercise is complete, resulting in the user's being congratulated. For example, the indication 3100 states: “Good job! You exceeded your target load threshold(s). This exercise is complete.” The user interface 1918 may present visual representations 3102 and/or 3104 for the left and right load measurements, respectively. In some implementations, the visual representations 3102 and/or 3104 may be numerical values representing other the respective measurements. In some implementations, the visual representation 3102 and/or 3104 may be bars on a bar chart, lines on a line chart, or any suitable visual representation.


Further, the user interface 1918 may present one or more visual representations 3106 of target load thresholds tailored for the user. For example, the one or more target thresholds may include a left target threshold, a right target threshold, or some combination thereof. Presenting the visual representations 3106 of the target thresholds concurrently with the real-time display of the measurements in the visual representations 3102 and/or 3104 may enable the user to determine how close they are to exceeding the target thresholds and/or when they exceed the target thresholds.



FIG. 32 illustrates an example computer system 3200, which can perform any one or more of the methods described herein. In one example, computer system 3200 may correspond to the computing device 12 (e.g., control system), the computing device 15, one or more servers 28 of the cloud-based computing system 16 of FIG. 1. The computer system 3200 may be capable of executing the application 17 and presenting the user interface 18 and/or the user interface 22 of FIG. 1. The computer system 3200 may be connected (e.g., networked) to other computer systems in a LAN, an intranet, an extranet, or the Internet. The computer system 3200 may operate in the capacity of a server in a client-server network environment. The computer system 3200 may be a personal computer (PC), a tablet computer, a motor controller, a goniometer, a wearable (e.g., wristband), a set-top box (STB), a personal Digital Assistant (PDA), a mobile phone, a camera, a video camera, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Further, while only a single computer system is illustrated, the term “computer” shall also be taken to include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.


The computer system 3200 includes a processing device 3202, a main memory 3204 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 3206 (e.g., flash memory, static random access memory (SRAM)), and a data storage device 3208, which communicate with each other via a bus 3210.


Processing device 3202 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device 3202 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processing device 3202 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 3202 is configured to execute instructions for performing any of the operations and steps discussed herein.


The computer system 3200 may further include a network interface device 3212. The computer system 3200 also may include a video display 3214 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), one or more input devices 3216 (e.g., a keyboard and/or a mouse), and one or more speakers 3218 (e.g., a speaker). In one illustrative example, the video display 3214 and the input device(s) 3216 may be combined into a single component or device (e.g., an LCD touch screen).


The data storage device 3208 may include a computer-readable storage medium 3220 on which the instructions 3222 (e.g., implementing the application 17 or 21 executed by any device and/or component depicted in the FIGURES and described herein) embodying any one or more of the methodologies or functions described herein are stored. The instructions 3222 may also reside, completely or at least partially, within the main memory 3204 and/or within the processing device 3202 during execution thereof by the computer system 3200. As such, the main memory 3204 and the processing device 3202 also constitute computer-readable media. The instructions 3222 may further be transmitted or received over a network via the network interface device 3212.


While the computer-readable storage medium 3220 is shown in the illustrative examples to be a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.



FIG. 33 illustrates an example user interface 3300 presenting a user profile of the application 17 on the computing device 12. The user interface 3300 may include various information for a user to complete in the user profile. For example, the information may include a name (“John Doe”), an age (“45”), a weight (“200”), an email (johndoe@email.com), a height (“6”), a gender (“Male”), one or more medical conditions (“Obesity”, “Depression”), one or more medical procedures (“Knee Replacement”), one or more statuses (“Rehabilitation”). Using an input peripheral, such as a keyboard, mouse, touchscreen, microphone, etc., the user may enter the information on the user interface 3300. In some implementations, the cloud-based computing system 16 may provide computer instructions that cause presentation of the user interface 3300. The user interface 3300 may be a website executed by a web browser, or a standalone application installed on the computing device 12 and in communication with the cloud-based computing system 16. The computing device 12 may be communicatively coupled to the exercise machine 100, and in some embodiments, the user may, using the computing device 12, control operating parameters of the exercise machine 100.


In some implementations, the cloud-based computing system 16 and/or the computing device 12 may connect to and/or use an application programming interface (API) exposed by a third-party entity, such as an electronic medical records (EMR) system, and/or a social network system. The API may be used by the application 17 to extract information pertaining to EMRs of the user, if proper authorization is given and authorization of a user account is completed. The EMR information may automatically populate in the appropriate fields in the user profile. For example, the medical procedures identified in the EMR information may be populated. In some implementations, the format of the data obtained by the API may be in a different format than the format the application 17 uses. In such an instance, the application 17 may transform the data's format into an acceptable format (e.g., extensible markup language (XML)) for the application 17. In some implementations, the application 17 may use the API to access the user's information on a social media or social network system (e.g., Facebook®, Twitter®, Instagram®, etc.) to obtain information publicly available on the social network system.



FIG. 34 illustrates an example user interface 3400 for selecting a physical activity goal and a pain level. As depicted, graphical element 3402 may be used to select the physical activity goal. The graphical element 3402 is itself depicted as a dropdown menu but any suitable graphical element may be used (e.g., input box, checklist, etc.). In the example, the user has used a touchscreen to select a physical activity goal “Play with grandchildren.” Further, graphical element 3404 may be used to enter a pain level the user is currently experiencing. Graphical element 3404 may be any suitable graphical element capable of receiving input.


The received input of the physical activity level and the pain level may be used by the one or more machine learning models 60 to generate an improved exercise plan. For example, the machine learning model may determine, using a data source including various associations, including, for example, the levels of attainment associated with achieving the physical activity level, where the levels of attainment may include range of motion, strength, endurance, balance, intelligence, neurological responsiveness, emotional well-being, and mobility. Further, the machine learning model 60 may determine which body portions to target for the various levels of attainment, and which exercises to select to include in the exercise plan that target the appropriate body portions. In some implementations, the pain level reported by the user may be used to select exercises, difficulty levels of the exercises, and the like.


In some implementations, upon the user's selecting the physical activity goal and the pain level, an onboarding protocol that uses a baseline fitness test may be initiated. For example, FIG. 35 illustrates an example user interface 3500 presenting information pertaining to a first exercise 3502 of a baseline fitness test. The baseline fitness test may select an exercise for the user to perform and the exercise difficulty level for the first exercise 3502 may be set to an easiest difficulty level. As the user performs the first exercise, the following may be obtained: attributes of the user, performance measurements of the user, user-reported difficulty level of the exercise, user-reported pain level of the user, and the like. For example, the user may select a graphical element 3504 (button) to indicate that the first exercise is too easy.


Selection of the graphical element 3504 may cause the machine learning model 60 to select a next exercise that is more difficult. The onboarding protocol may include exercises having tiered difficulty levels and may select for subsequent exercises for the user to perform, wherein the subsequent exercises advance in difficulty until the user has either completed all of the exercises or reached a point where the user can no longer perform the exercise because it is too difficult or painful. The machine learning model 60 may determine a fitness level for the user based on a completion state (e.g., a degree of completion, a percentage of completion, a value of completion, etc.) of a last exercise performed by the user. The machine learning model 60 may select a difficulty level for each exercise in the improved exercise plan by associating the difficulty level for each exercise with the fitness level of the user.


In some implementations, a multimedia segment (e.g., recording or feed) may be presented in a digital media player 3506. The multimedia segment may include video and/or audio of a coaching character providing instructions and guidance on how to perform the first exercise. Various options may be provided by the digital media player that enable the user to play, pause, or stop the multimedia segment. There may be options to enable the user to fast forward or rewind the multimedia segment, as well.



FIG. 36 illustrates an example user interface 3600 presenting information pertaining to a second exercise 3602 of the baseline fitness test. As depicted, a different multimedia segment is being played in the digital media player 3506. The new multimedia segment may include video and/or audio of a coaching character providing information and guidance to the user pertaining how to perform the second exercise 3602. The second exercise 3602 may be selected as a result of the user indicating the previous exercise was too hard or too easy. In some implementations, the second exercise 3602 may be selected by default by the machine learning model 60. After the baseline fitness test is performed by the user, the machine learning model 60 may determine the fitness level of the user, and use the fitness level of the user to select the exercises and/or their difficulty levels in the improved exercise plan.



FIG. 37 illustrates an example user interface 3700 presenting a generated exercise plan 3702 for a user. The user interface 3700 presents a first week of exercises for the user to perform. The exercise plan 3702 indicates “People with similar characteristics (user fitness level) as you are able to play with their grandchildren within 6 weeks by following this exercise plan.” As described further herein, the exercises included in the exercise week 1 schedule may include exercises prioritized for the levels of attainment associated with the selected physical activity goal. For example, the exercises depicted all relate to cardiovascular health and moving, which corresponds with a mobility and endurance level of attainment, both of which may be ranked higher for a physical activity goal of playing with grandchildren. This technique may enable ensuring the appropriate body portions of the user are targeted via proper exercises to achieve the levels of attainment, and thereby achieve the physical activity goal.


As further depicted, each exercise includes an energy consumption metric (“50”). The energy consumption metric may vary for each exercise and it may provide a target metric for the user to achieve during each exercise. The energy consumption metric may be based on a combination of various types of information and metrics associated therewith, such as a metabolic indicator associated with performing the exercise, fitness results of the user, and/or a user-reported pain level of the user, among other information. The energy consumption metric may be determined for the user while they perform the exercise, and when the target energy consumption metric has been exceeded, the user may be done with the exercise. The application 17 may track the user's progress over time if and when the user exceeds or meets the target energy consumption metric. Each determined energy consumption metric for each exercise may be summed to determine an energy score associated with an amount of energy it will take to achieve the physical activity goal. If the summed energy consumption metrics equal or exceed the energy score, then the user may have enough energy to achieve the physical activity goal. As may be appreciated, the user may exceed or match the energy score faster or slower than predicted based on a number of factors, such as their performance, their drive, their health (e.g., physical and mental), their compliance with the exercise plan, and the like.



FIG. 38 illustrates an example user interface 3800 presenting information pertaining to a user's comorbidities 3802, week one of an exercise plan 3702, and evidential source 3804, wherein the evidential source 3804 pertains to the comorbidities and the exercise plan. The information may be stored and accessed in the data source 67. The machine learning model 60 may be trained to receive input data (e.g., attributes of the user, performance measurements of the user, user-reported pain levels, user-reported difficulty levels of exercises, etc.) and to output comorbidity information. For example, the machine learning model 60 may match the input data of the user with one or more other users or cohorts to determine that the one or more similarly situated users or cohorts are associated with certain comorbidities, and to output the certain comorbidities 3802 on the user interface 3800. The resources used by the data source 67 and the machine learning model 60 may be curated by health professionals and may be associated with certifications of authenticity, board review, board approval, evidence-based guidelines or the like. As depicted, evidential sources 3804 are presented in a pop-up window overlaid on the exercise plan 3702 when the user hovers over or “taps” on a particular part of the user interface 3800 with an input peripheral (e.g., touchscreen). The evidential sources 3804 provide information about the resources used by the machine learning models 60 to determine the comorbidity information 3802 and the exercise plan 3702. For example, the evidential sources 3804 indicates one resource used was “Rehab for Knee Replacements’—Dr. Alice Smith”, and another resource used was “Defining comorbidity implications understanding health and health service’. Ann Fam Med. 2009; 7(4): 357-363”. The comorbidity information 3802 indicates “People with similar characteristics (obesity) as you are at risk for the following comorbidities: Type 2 diabetes; High blood pressure.”



FIG. 39 illustrates an example user interface 3900 presenting information pertaining to week two of an exercise plan 3702 for a user. As depicted, the exercises included in week two of the exercise plan 3702 target the upper body of the user, whereas the exercises in week one of the exercise plan 3702 targeted the lower body of the user and cardiovascular health of the user. To ameliorate boredom, improve engagement, improve compliance, and the like, the exercises may be selected and arranged differently between the various weeks of the exercise plan 3702. Further, to focus on different levels of attainment and their associated body portions that are used to achieve the levels of attainment, the exercises may be differentiated between weeks. The exercises selected in week two in the exercise plan 3702 may be related to the upper body to improve strength to enable a user to pick up their grandchild, for example, while playing with the grandchild. The exercise plan 3702 also includes other information pertaining to each exercise, such as a type of exercise, a number of repetitions, a number of sets, a frequency, an amount of weight, and/or the energy consumption metric.



FIG. 40 illustrates an example user interface 4000 presenting information pertaining to a target energy consumption metric 4002 for an exercise. In some implementations, the user may initiate the exercise plan 3702 by selecting from any of the user interface depicted herein the first exercise to begin. As depicted, the multimedia segment 4004 begins playback via the digital media player 4006. The target energy consumption metric 4002 for the first exercise in week one of the exercise plan 3702 is depicted as being 50. In some implementations, the user's energy consumption metric may be dynamically determined as the user performs the exercise and also presented in the user interface 4000 such that the user is apprised of their progress toward meeting or exceeding the target energy consumption metric. Also, as depicted, a notification 4008 is presented in the user interface 4000. The notification 4008 may be selected and presented by one or more machine learning models 60 trained to identify when a user may benefit from a certain notification. For example, the machine learning model 60 may determine that the user has reported the exercise is too hard, and may determine to provide a motivational quote, such as “Keep it up John Doe, you go this!”



FIGS. 41A-41E illustrates an example data source 67 including information pertaining to exercises and physical activity goals. As depicted in FIG. 41A, a table 4100 includes information pertaining to exercises and physical ability goal (also referred to as a “life goal” in the table 4100). The table 4100 has columns labeled “ID”, “Name”, “MET Score”, “Description”, “Difficulty (E, M, H)”, “Exercise Levels”, “Sections”, “Life Goals”, and “Difficulty Decrease ID”. For example, a first row having ID “1” indicates the exercise is named “Sitting Knee Extension”, has a MET score of “3.5”, has a description of “Start with feet on ground while sitting in chair. Then lift one foot and straighten the knee and hold,” has a difficulty of “M” (medium), has exercise levels of “1,2,3”, is associated with sections “3,4”, and decreases difficulty ID of “2”. The Sections may include identifiers for exercise sections, such as “1— warmup”, “2— cardio”, “3— strength”, “4— flexibility”, “5— cooldown”, and/or “6— cycling”.



FIG. 41B illustrates an example data source 67 including information pertaining to levels of attainment associated with physical ability goals, as depicted in FIG. 41D. The levels of attainment may be also referred to “components” in FIG. 1D. The levels of attainment table 4110 may include identifiers (ID) and names (“1—Range of Motion (ROM)”, “2—Strength”, “3—Endurance”, “4—Balance”, “5—Mobility”, etc.). Each of the levels of attainment may be associated with one or more body portions. FIG. 41C depicts a table 4120 including identifiers (ID) and names for body portions (“1—Hip Flexor”, “2—Posterior Hip”, “3— Hamstring”, “4—Lateral Hip”, etc.



FIG. 41D illustrates an example data source 67 including information pertaining to the various physical ability goals, the body portions to target to achieve the physical ability goal, and rankings of the levels of attainment to prioritize when selecting exercises and scheduling an exercise plan. For example, row 2 having ID 2 is a physical ability goal named “Getting up/down stairs.” The body parts that need to be improved are listed in a comma delimited list. That is, an ID or tag or key is included in the list and each of the IDs corresponds to a particular body part, as shown in FIG. 41C. Further, the table 4130 includes a prioritization of which levels of attainment should be more heavily weighted when selecting exercises. The component 1 (“ROM”) is shown as receiving a priority of “1”, which in this example represents a highest priority, whereas component 3 (“Endurance”) is shown as receiving a priority of “4”, which in this example represents a second to lowest priority. Based on the rankings, the machine learning model 60 may be trained to select various types of exercises for the exercise plan.



FIG. 41C illustrates an example data source 67 including information related to the relative weights each level of attainment and their associated percentage of exercises should be given when determining the exercise plan for a 6-week period of time. The relative weights for the levels of attainment and percentages of exercises related to those levels of attainment that should be included in the exercise plan add up to a value of 1 for each week. For example, for the first week in the table 4140, the first component receives a priority percentage of 0.4 for its associated exercises, the second component receives a priority percentage of 0.4 for its associated exercises, the third component receives a priority percentage of 0.2 for its associated exercises, the fourth component receives a priority percentage of 0 for its associated exercises, and the fifth component receives a priority percentage of 0 for its associated exercises. The priority percentages add up to 1, as shown in the “Total %”. As depicted, in some embodiments, the priority percentages shift over the course of the 6-week time period, such that more exercises are selected for the fourth and fifth components as the time progresses. Such a technique may enable ensuring that each component is properly worked on in order to achieve the physical ability goal. Also, a useful technique to ameliorate boredom is to vary the types of exercises performed each week, which may thereby lead to improved compliance with the exercise plan.



FIG. 42 illustrates an example method 4200 for generating an exercise plan based on user energy consumption metrics. The method 4200 is performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as is run on a general-purpose computer system or a dedicated machine), or any combination of them. The method 4200 and/or each of its individual functions, routines, subroutines, or operations may be performed by one or more processing devices of a control system (e.g., cloud-based computing system 16, computing device 12 of FIG. 1) implementing the method 4200. The method 4200 may be implemented as computer instructions executable by a processing device (e.g., a computer-readable medium may be used to store instructions that, when executed, cause a processor to perform the following steps or processes of the method 4200). In certain implementations, the method 4200 may be performed by a single processing thread. Alternatively, the method 4200 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods. Various operations of the method 4200 may be performed by one or more of the cloud-based computing system 16, the computing device 12, and/or the computing device 15 of FIG. 1.


At block 4202, the processing device receives data pertaining to the user. The data pertaining to the user may include at least user fitness test results. The user fitness test results may indicate, for example, strength, mobility, endurance, pliability, a range of motion, flexibility, balance, or a combination thereof. Alternatively, or additionally, the data pertaining to the user may include at least one or more user-reported pain levels. The user fitness test results and/or the user-reported pain levels may be determined, for example, during an onboarding protocol, such as the one described above in relation to FIG. 35.


At block 4204, the processing device generates, by executing the artificial intelligence engine 65, user energy consumption metrics for a plurality of exercises. The processing device may generate the user energy consumption metrics based at least on MET values and the user fitness test results received at block 4202. Each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based on the MET value for the respective one of the plurality of exercises. Some MET values may be associated with a single exercise included in the plurality of exercises. For example, a first MET value may be associated with a first exercise and a second MET value may be associated with a second exercise. Some MET values may be associated with multiple exercises included in the plurality of exercises. For example, a third MET value may be associated with both a third exercise and a fourth exercise. In some implementations, the user energy consumption metrics may be generated based on one or more user-reported pain levels, an indication of a pain level the user is in, heartrate, step count, blood pressure, perspiration, blood oxygen levels, body temperature, or some combination thereof In some implementations, the artificial intelligence engine 65 may generate one or more machine learning models 60 trained to generate the user energy consumption metrics.


At block 4206, the processing device generates, by executing the artificial intelligence engine 65, the exercise plan. The processing device may generate, based at least on the user energy consumption metrics generated at block 4204 and a user energy score, the exercise plan. The user energy score may represent a target total amount of energy for the user to exert while performing the exercise plan. The exercise plan is generated to include a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score. As described above, each user energy consumption metric is associated with performing a specific exercise. Thus, the artificial intelligence engine 65 may generate the exercise plan such that an accumulation of all of the user energy consumption metrics associated with the subset of the plurality of exercises included in the exercise plan equals or is close to the user energy score. In some implementations, based at least on the user energy consumption metrics generated at block 4204 and the user energy score, the artificial intelligence engine 65 may generate one or more machine learning models 60 trained to perform the generating of the exercise plan.


In some implementations, the user energy score may refer to a total amount of energy it takes to achieve or attempt to achieve a physical activity goal the user desires to achieve. The physical activity goal may include any activity relating to physical motion of a portion of the user's body. For example, the physical activity goal may include ameliorating knee pain, traversing stairs, gardening, performing yardwork, playing, walking, running, meditating, learning faster, improving concentration, improving focus, shortening response time to stimuli, improving relationships, improving sex drive, changing a state of mind, improving cardiovascular performance, improving heart rate, improving blood pressure, sitting without pain, standing without pain, feeling energized, performing more advanced exercises, performing more exercises, carrying groceries, performing house chores, losing weight, or some combination thereof. The physical activity goal may require one or more physical levels of attainment to achieve. As used herein, levels of attainment may refer to range of motion, strength, endurance, balance, intelligence, neurological responsiveness, emotional well-being, mobility, or some combination thereof. In some implementations, the user may use a user interface, including one or more graphical elements, to select the physical activity goal via the computing device 12.


The user energy score may indicate that, by performing the subset of the plurality of exercises included in the exercise plan, the user will have enough energy to be able to achieve the physical activity goal or to come closer to achieving the physical activity goal. To determine whether the user exerted enough energy for that particular exercise, progress toward the user energy score may be tracked for each exercise by calculating the user energy consumption metric. By depicting respective energy consumption metrics over a time series, one or more graphical elements (e.g., charts, tables, etc.) may be used to dynamically visualize the progress the user is making or has made toward the energy score.


At block 4208, the processing device transmits the exercise plan to a computing device. For example, the exercise plan may be transmitted to computing device 12 and may be presented by the user interface 18 of the application 17. In some implementations, the processing device may execute the artificial intelligence engine 65 and/or machine learning models 60 to transmit a signal to the exercise machine 100. In response to the exercise machine 100 receiving the signal, a portion of the exercise machine 100 may be adjusted. The adjustment may be based on an attribute of an operating parameter specified in the exercise plan. For example, an attribute of a speed operating parameter may indicate a particular pedaling exercise should be performed at a speed of 5 miles per hour. When the exercise machine 100 receives the signal, including a control instruction specifying the speed at which a motor of the exercise machine 100 should operate, a processing device of the exercise machine 100 may use the attribute of the operating parameter to control the motor to operate at 5 miles per hour. There may be any number of attributes and any number of operating parameters specified in the exercise plan. For example, each exercise selected may be associated with various attributes for various operating parameters. The exercises and their attributes of operating parameters may be selected in order to improve a rate at which the user achieves the physical activity goal, improve compliance, ameliorate boredom, enhance enjoyment, and the like. Based on attributes of the user, performance measurements of the user, user-reported difficulty levels of exercises, and/or user-reported pain levels, the exercises and attributes of operating parameters may change dynamically as a user performs the exercise plan.


In some implementations, while the user performs the exercise plan, the processing device may monitor one or more attributes of the user, performance measurements of the user, user-reported pain feedback, and the like. The processing device may determine whether an exercise in the subset of exercises results in a desired outcome. The processing device may determine an exercise is successful if the user exceeds a performance measurement threshold, completes the exercise to a certain threshold percentage, reports they are not experiencing pain, or the like. Based on whether the exercise in the set of exercises results in the desired outcome or makes progress toward the desired outcome even is that outcome is not reached completely, the artificial intelligence engine 65 may generate one or more machine learning models 60 trained to generate an updated user energy consumption metric. Accordingly, the processing device may implement a feedback look to iteratively improve the generated exercise plans according to whether they are providing desired results.



FIG. 43 illustrates an example method 4300 for generating an updated exercise plan based on updated user fitness test results. The method 4300 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), firmware, software, or a combination of them. The method 4300 and/or each of their individual functions, subroutines, or operations may be performed by one or more processing devices of a control system (e.g., cloud-based computing system 16, computing device 12 of FIG. 1) implementing the method 4300. The method 4300 may be implemented as computer instructions executable by a processing device (e.g., a computer-readable medium may be used to store instructions that, when executed, cause a processor to perform the following steps or processes of the method 4300). In certain implementations, the method 4300 may be performed by a single processing thread. Alternatively, the method 4300 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods. Various operations of the method 4300 may be performed by one or more of the cloud-based computing system 16, the computing device 12, and/or the computing device 15 of FIG. 1.


At block 4302, the processing device receives updated user fitness test results. The processing may receive the updated user fitness test results while the user performs the exercise plan. For example, the processing device may receive performance measurements, sensor measurements, user-reported difficulty(-ies) of an exercise, or some combination thereof. At block 4304, based at least on the updated user fitness test results, the processing device may generate, by executing the artificial intelligence engine 65, updated user energy consumption metrics for the plurality of exercises. At block 4306, based at least on the updated user energy consumption metrics, the processing device may generate, by executing the artificial intelligence engine 65, an updated exercise plan. At block 4308, the processing device transmits the updated exercise plan to the computing device.


The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. The embodiments disclosed herein are modular in nature and can be used in conjunction with or coupled to other embodiments, including both statically-based and dynamically-based equipment. In addition, the embodiments disclosed herein can employ selected equipment such that they can identify individual users and auto-calibrate threshold multiple-of-body-weight targets, as well as other individualized parameters, for individual users.


Consistent with the above disclosure, the examples of systems and methods enumerated in the following clauses are specifically contemplated and are intended as a non-limiting set of examples.


Clause 1. A method for generating, by an artificial intelligence engine, an exercise plan for a user to perform. The method comprises: receiving data pertaining to the user, wherein the data comprises user fitness test results; generating, by the artificial intelligence engine, user energy consumption metrics for a plurality of exercises, wherein each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and the user fitness test results; generating, by the artificial intelligence engine, the exercise plan, wherein the generating is based at least on the user energy consumption metrics and a user energy score, wherein the exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score; and transmitting the exercise plan to a computing device.


Clause 2. The method of any clause herein, wherein the data pertaining to the user further comprises one or more user-reported pain levels, and wherein the user energy consumption metrics are further generated based on the one or more user-reported pain levels.


Clause 3. The method of any clause herein, wherein the user energy consumption metrics are further generated based on at least one selected from the group consisting of heartrate, step count, blood pressure, perspiration, blood oxygen levels, and body temperature.


Clause 4. The method of any clause herein, wherein the user fitness test results indicate at least one selected from the group consisting of strength, mobility, endurance, pliability, a range of motion, flexibility, and balance.


Clause 5. The method of any clause herein, further comprising: receiving a physical activity goal the user desires to achieve, wherein the physical activity goal requires one or more physical levels of attainment to achieve; and determining the user energy score, wherein the user energy score is correlated with an amount of energy it takes to achieve the physical activity goal.


Clause 6. The method of any clause herein, further comprising: receiving updated user fitness test results; generating, by the artificial intelligence engine, updated user energy consumption metrics for the plurality of exercises, wherein the generating is based at least on the updated user fitness test results; generating, by the artificial intelligence engine, an updated exercise plan, wherein the generating is based at least on the updated user energy consumption metrics; and transmitting the updated exercise plan to the computing device.


Clause 7. The method of any clause herein, further comprising generating one or more machine learning models trained to perform the generating of the user energy consumption metrics.


Clause 8. The method of any clause herein, further comprising: transmitting a signal to an exercise apparatus, wherein the user performs at least one of the subset of the plurality of exercises included in the exercise plan on the exercise apparatus; and in response to the exercise apparatus receiving the signal, adjusting at least one portion of the exercise apparatus based on at least one operating parameter specified in the exercise plan.


Clause 9. A system for generating, by an artificial intelligence engine, an exercise plan for a user to perform, wherein the system comprising: a memory device for storing instructions; and a processing device communicatively coupled to the memory device, the processing device configured to execute the instructions to: receive data pertaining to the user, wherein the data comprises user fitness test results, generate, by the artificial intelligence engine, user energy consumption metrics for a plurality of exercises, wherein each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and the user fitness test results, generate, by the artificial intelligence engine, the exercise plan, wherein the generating is based at least on the user energy consumption metrics and a user energy score, wherein the exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score, and transmit the exercise plan to a computing device.


Clause 10. The system of any clause herein, wherein the data pertaining to the user further comprises one or more user-reported pain levels, and wherein the user energy consumption metrics are further generated based on the one or more user-reported pain levels.


Clause 11. The system of any clause herein, wherein the user energy consumption metrics are further generated based on at least one selected from the group consisting of heartrate, step count, blood pressure, perspiration, blood oxygen level, and body temperature.


Clause 12. The system of any clause herein, wherein the user fitness test results indicate at least one selected from the group consisting of strength, mobility, endurance, a range of motion, pliability, flexibility, and balance.


Clause 13. The system of any clause herein, wherein the processing device is further configured to execute the instructions to: receive a physical activity goal the user desires to achieve, wherein the physical activity goal requires one or more physical levels of attainment to achieve, and determine the user energy score, wherein the user energy score is correlated with an amount of energy it takes to achieve the physical activity goal.


Clause 14. The system of any clause herein, wherein the processing device is further configured to execute the instructions to: receive updated user fitness test results, generate, by the artificial intelligence engine, updated user energy consumption metrics for the plurality of exercises, wherein the generating is based on the updated user fitness test results, generate, by the artificial intelligence engine, an updated exercise plan, wherein the generating is based at least on the updated user energy consumption metrics, and transmit the updated exercise plan to the computing device.


Clause 15. The system of any clause herein, wherein the processing device is further configured to execute the instructions to generate one or more machine learning models trained to perform the generating of the user energy consumption metrics.


Clause 16. The system of any clause herein, further including an exercise apparatus for the user to perform at least one of the subset of the plurality of exercises included in the exercise plan, wherein the processing device is further configured to execute the instructions to transmit a signal to the exercise apparatus, wherein, in response to the exercise apparatus receiving the signal, the exercise apparatus is configured to adjust at least one portion of the exercise apparatus based on at least an operating parameter specified in the exercise plan.


Clause 17. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to: receive data pertaining to a user, wherein the data comprises user fitness test results; generate, by an artificial intelligence engine, user energy consumption metrics for a plurality of exercises, wherein each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and the user fitness test results; generate, by the artificial intelligence engine, an exercise plan, wherein the generating is based at least on the user energy consumption metrics and a user energy score, wherein the exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score; and transmit the exercise plan to a computing device.


Clause 18. The computer-readable medium of any clause herein, wherein the data pertaining to the user further comprises one or more user-reported pain levels, and wherein the user energy consumption metrics are further generated based on the one or more user-reported pain levels.


Clause 19. The computer-readable medium of any clause herein, wherein the user energy consumption metrics are further generated based on at least one selected from the group consisting of heartrate, step count, blood pressure, perspiration, blood oxygen level, and body temperature.


Clause 20. The computer-readable medium of any clause herein, wherein the user fitness test results indicate at least one selected from the group consisting of strength, mobility, endurance, a range of motion, pliability, flexibility, and balance.


Clause 21. The computer-readable medium of any clause herein, wherein the instructions further cause the processing device to receive a physical activity goal the user desires to achieve, wherein the physical activity goal requires one or more physical levels of attainment to achieve, and determine the user energy score, wherein the user energy score for the user is correlated with an amount of energy it takes to achieve the physical activity goal.


Clause 22. The computer-readable medium of any clause herein, wherein the instructions further cause the processing device to: receive updated user fitness test results; generate, by the artificial intelligence engine, updated user energy consumption metrics for the plurality of exercises, wherein the generating is based on the updated user fitness test results; generate, by the artificial intelligence engine, an updated exercise plan, wherein the generating is based at least on the updated user energy consumption metrics; and transmit the updated exercise plan to the computing device.


Clause 23. The computer-readable medium of any clause herein, wherein the instructions further cause the processing device to generate one or more machine learning models trained to perform the generating of the user energy consumption metrics.


Clause 24. The computer-readable medium of any clause herein, wherein the instructions further cause the processing device to transmit a signal to an exercise apparatus, wherein the user performs at least one of the subset of the plurality of exercises included in the exercise plan on the exercise apparatus, and wherein, in response to the exercise apparatus receiving the signal, the exercise apparatus adjusts at least one portion of the exercise apparatus based on at least one operating parameter specified in the exercise plan.


No part of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claim scope. The scope of patented subject matter is defined only by the claims. Moreover, none of the claims is intended to invoke 25 U.S.C. § 104(f) unless the exact words “means for” are followed by a participle.


The foregoing description, for purposes of explanation, use specific nomenclature to provide a thorough understanding of the described embodiments. However, it should be apparent to one skilled in the art that the specific details are not required to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It should be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings.


The information below may provide a guideline of the rules employed in delivering an effective, well-structured exercise program for rehab, conditioning, and/or long-term fitness adapted to the capabilities of each user. The information below is for explanatory purposes and the subject matter of the present disclosure is not limited to the examples provided below.

    • a) Initially a processing device (e.g., cloud-based computing system 16, computing device 15, or both) may filter users into their correct exercise levels.
    • b) Then the processing device may determine what combination of exercises is appropriate for the users in beginning their training.
    • c) As the users complete exercise sessions a machine learning model may learn the user's ability and tracks their progress, adjusts their exercises in exercise sessions accordingly, and determines when the users can advance to the next exercise level.
    • One objective may be to deliver the most effective exercise plan devised for each user, the exercise plan may be defined as one people actually engage in fully, frequently, and consistently.


2. Determining A User's Exercise Level

    • Exercise levels may range from 1 to 5. Placing a user in an exercise level may be a function of measuring the individual's Range-of-Motion (ROM) and establishing the Degree-of-Knee-Pain they are experiencing.
    • How The Combination of Pain and ROM Test Results Defines Levels:
      • Pain—the level of pain as indicated by the user (they will enter this into the system manually by typing or voice)
      • ROM—the result of their Range-of-Motion test














If Pain Is
& ROM Is
Then Level Is







 8-10
1-2
1


 8-10
3-4
2


 8-10
5
3


5-7
1-2
1


5-7
3-4
2


5-7
5
3


1-4
1-2
1


1-4
3-4
2


1-4
5
4


0
5
5











    • How The Combination of Level and ROM Test Results Define Resistance:




















If Level Is
& ROM Is
Resistance Is









1
1-2
Notch 1-2



2
3-4
Notch 3-4



3-5
5
Notch 5














      • a) Measuring ROM
        • The User is instructed as follows:
          • 1. Set both pedals of the exercise cycle to the lowest level of movement required to turn the wheel a full revolution, i.e., the smallest radius, ROM-Notch Setting 1 of 5.
          • 2. Test both legs simultaneously as follows:
          •  (a) Beginning at the lowest ROM setting on each pedal, pedal for a maximum of one minute or until the onset of pain in either knee.
          •  (b) If there is no pain in either knee during the first minute of pedaling, increase the radius setting of the pedal by one-notch and pedal for an additional minute.
          •  (c) Continue this process of simultaneously increasing the ROM-Notch settings for the radius of each pedal by one notch and pedaling for an additional minute until experiencing knee pain.
          • 3. If pedaling at a radius of 5 ROM Notches is pain free, record the opening ROM Settings as 5 for each pedal.
          •  (a) Otherwise, when pain is experienced in either knee, stop pedaling, and
          • °(i) record the opening ROM Notch Setting for the affected leg as one notch less than the notch that produced the pain, and
          • °(ii) and set the pedal for the affected leg to the notch recorded.
          • 4. If pain is experienced at a ROM Notch Setting of 1 notch, or if the degree of pain experienced is greater than a 3-intensity on a scale of 10 at any notch, stop the ROM testing immediately, refer to our “User Ramp-Up To Cycling” video, and follow its instructions.
          • 5. If the degree of pain is a 3-intensity or less continue the ROM test by resuming pedaling, with the pedal for the affected leg at the notch set in 3(i) and continue the ROM test for the other leg as follows:
          • °(i) Increase the setting by one notch for the radius of the pedal being used by the other leg and pedal for an additional minute or until experiencing knee pain in the other leg.
          • °(ii) when pain is experienced, stop pedaling, and:
          • +1. record the opening ROM Notch setting for the other leg as one notch less than the notch that produced the pain, and
          • +2. and set the pedal for the other leg to the notch recorded.
          • °(iii) if pain is not experienced in the other leg, set the pedal for the other leg to ROM Notch 5.

      • a) Establishing Degree of Pain
        • The processing device may ask (e.g., via the virtual coach (artificial intelligence driver) and displays to the user an array of emoticons/terms reflecting various degrees of pain.
          • i. The user responds (e.g., by voice) or selects the one most closely representing the user's degree of knee pain at the time of making the selection.
          • ii. Users report (e.g., by voice) or enters onto the dashboard their degree of pain each time they log in.

      • b) Tracking ROM and Degree of Knee Pain To Advance Through The Exercise Levels
        • i. The status of ROM is tested and Degree of Knee Pain is reported on a 5-Exercise Session interval, i.e., both are updated every 6th session.
          • 1. Every 5th login the system displays a notice and alerts the User (e.g., by voice) that the next login will begin with a ROM test.
        • ii. During the ROM test the system guides the user by the display and (e.g., by voice) as follows: if a user pedals at a ROM radius greater than indicated for their current exercise level, they will advance to the higher exercise level upon meeting the following additional requirements:
          • 1. improvement in Degree of Pain, and
          • 2. during the two subsequent Exercise Sessions demonstrating the prior Exercise Level is too easy by:
          •  (a) using the new pedal radius, and
          •  (b) pedaling without pain.

      • c) Heart Rate Test: Level 1-3
        • i. The user attaches the wrist tracker to their arm to begin their initial heart rate test (cycling). The intensity of the workout will stay steady for 3-minutes to measure their baseline heart rate. At the end of the 3 minutes, the processing device records the user's heart rate.

      • d) Heart Rate Test: Level 4-5
        • i. The user attaches the wrist tracker to their arm for the test (cycling). When the test begins, the intensity of the workout slowly increases the user's heart rate reaches the “Test Zone.” This zone is individually computed to be near 75 percent of the maximum heart rate for the user's profile. When the user reaches the Test Zone, the system holds the intensity steady for 3 minutes. At the end of the 3 minutes, the processing device records the user's heart rate and power output. This data along with the user's age and weight, are computed to produce a “Fitness Score” baseline.

      • e) Fitness Test: Portable Product
        • i. Strength Test: Pushup test for motivation by tracking progress over time, but no impact on protocol design. Frequency of fitness testing: every 8 weeks

      • f) Fitness Test: Subsequent Products
        • i. Strength Test: Pushup test and use inputs to drive phases—if the user performs poorly in strength, make the next 8-week phase focused on strength building, if the user performs poorly or average on endurance make next 8-week phase focused on building endurance, etc. Frequency of fitness testing: every 8 weeks







3. Exercise Sessions

    • a) Composition of each Exercise Level
      • i. Levels 1-3 Exercise Sessions
        • 1. Cycle: 5-minutes
        • 2. Warm-up: 5-minutes+(−) 30 seconds
        • 3. Strength Building: 5-minutes+(−) 30 seconds
        • 4. Cool Down: 5-minutes+(−) 30 seconds
      • ii. Levels 4-5 Exercise Sessions
        • 1. Warm-up: 2-minutes+(−) 30 seconds
        • 2. Cardio: 8-minutes+(−) 30 seconds
        • 3. Strength Building: 8-minutes+(−) 30 seconds
        • 4. Flexibility: 5-minutes+(−) 30 seconds
        • 5. Cool Down: 2-minutes+(−) 30 seconds
      • iii. Level 4-5+ Options for exercise selection
        • 1. Once users reach full ROM and no pain, an option is provided to the users of picking their own 8-week programs or having the system pick the program
        • 2. Programs can be based on the result of the user's fitness test or can be randomized (ideally they will be based on the user's Fitness Test)
        • 3. The system can devise a phased program to address a deficiency in their fitness test (i.e., user is average or poor in endurance so the 8-week phase is aimed at improving endurance)
        • 4. The user can choose an 8 week program based on the deficiency in their fitness test (i.e., the user is alerted he/she is average or poor in endurance so the user picks 8-week phase is aimed at improving endurance)
        • 5. The system can randomly assign an 8-week program
        • 6. The user can select any 8-week program
        • 7. Programs can also be based on achieving a fitness or activity of daily living goal.
          • (a) A user selects a goal from a pre-loaded picklist (this will be selected from market research about common fitness/activities of daily living goals)
          • (b) Based on the goal selected the system designs an 8-week program that addresses the performance requirement to achieving that goal.
      • b) Exercise Filtering:
        • i. Exercise Selection:
        •  1. First filter exercises by exercise level
        •  2. Then filter exercises within each exercise level by section (warm up, cycling, strength, flexibility, cool down)
        •  3. Then filter exercises within each section by “Time to Complete”
          • (a) Exercise combination should equal +/−30 seconds from 5 minutes per section.
        • ii. Incorporate the user's historical data
        •  1. Block out exercises completed often (e.g., within a certain time period, each exercise session, etc.)
        •  2. Start new sessions with reps/sets based on previous session output (e.g., ended with 6 reps so start next session with 6 reps)
      • iii. Session Counter
        •  1. The system will keep a cumulative log of every time a user logs in and completes a session. After every 5th login and completion, the next session will begin with a ROM test.
      • c) Evaluative Sessions
        • i. The first two sessions for every user will be evaluative.
        • ii. All exercises during Evaluative Sessions may be Level-1 exercises irrespective of the user's actual Exercise Level as determined in #2 above.
        • iii. After completing the Evaluative Sessions successfully, users may receive exercises based upon their exercise level as rated in #2 above.
        • iv. Every exercise may be announced by the display, virtual coach, etc. and (e.g., by voice).
          • 1. The user may be required to watch the exercise tutorial the first two times an exercise is presented. Thereafter, the User will be given the option by the display, virtual coach, etc. and (e.g., by voice) to watch the tutorial or to “Skip” it (e.g., by voice) or by making an entry to the dashboard.


4. Exercise Adaptations

    • a) When A User Presses or Commands (e.g., by Voice) The Too Easy Button
      • i. The exercise they are then performing may automatically increase 15% in intensity (rounded up to the nearest whole number) in one of the following dimensions, according to the exercise:
        • 1. Number of Sets (Increase)
        • 2. Number of Repetitions (Increase)
        • 3. Hold Time (Increase)
        • 4. Rest Time (Reduce)
      •  The duration of exercise sessions (3a above) may be extended by the additional time required for the user to perform exercises at an increased intensity.
      • ii. Users may press the display button or say (e.g., by voice) “Too Easy” up to three times per exercise per exercise session. Each time:
        • 1. the User will be alerted on the dashboard and by the virtual coach to the degree of difficulty increase in repetitions and sets, and
        • 2. will have the option of pressing or saying (e.g., by voice) “Too Hard” on the new level, and the repetitions and sets may immediately revert to their prior values.
      • iii. Users may perform the Baseline Exercise for 3 Exercise Sessions before the “Too Easy” button becomes available to use.
    • b) When A User Presses Button or Says (e.g., by Voice) Too Hard
      • i. The key exercise dimension for non-cycling exercise drops:
        • 1. the first time by 20% of the original amount (rounded down to the nearest whole number), then
        • 2. the second time by 40% of the original amount, then
        • 3. the third time by 80% of the original amount.
      • ii. The key exercise dimension for cycling drops:
        • 1. first by reducing the Resistance Level setting, then
        • 2. by reducing the ROM setting.
      • iii. If a user presses button or says (e.g., by voice) “Too Hard” 3 times on the same exercise in the same session, a push notification message may appear and ask if everything is alright and ask if they want to continue with the exercise.
      • iv. If a user presses button or says (e.g., by voice) “Too Hard” a 4th time, the exercise will stop, and a push notification and notification may let the user know to stop this exercise for the session.
    • c) When A User Presses Button or Says (e.g., by Voice) Skip
      • i. The system may record the exercise was skipped, and may begin the exercise at the user's previous exercise level the next time the exercise is shown.


5. In-Session Exercise Switching

    • a) When a user has completed the Baseline Version of an exercise 3 times, the system may switch out exercises by randomly delivering one of four variations of the same exercise.
      • Variation 1—Sets
      • Variation 2—Repetitions
      • Variation 3—Hold Times
      • Variation 4—Rest Time
    • b) If a user has performed an exercise (including the Baseline & variations) in 15 sessions, the user will be asked through a push notification if they would like to swap out the exercise for another.


6. Counting Reps & Sets

    • a) Exercises may be timed to our rep time per exercise on our exercise database:
      • i. This informs the system of sets/reps completed
      • ii. Reps will be calculated by dividing the amount of time the user completed the exercise by the rep time per exercise
        • 1. EX: User does an exercise for 1 minute and the rep time per exercise in the dashboard is 30 seconds—the user completed 2 reps of that exercise
      • iii. Users will be able to stop an exercise at any point by pressing “Skip” on the screen or by saying “Skip.”
      • iv. The system determines an exercise is completed in one of two ways:
        • 1. The total time per exercise (as directed by the database) has elapsed
        • 2. A user presses “Next” on the screen or says “Next”.
    • b) Users have the option of personally reporting reps/sets completed by entering the data on the screen or by saying the number of each after each exercise.


7. Completing An Exercise or an Exercise Session

    • a) System Default: Communicating the completion of both exercises and exercise sessions can be accomplished by using either a button or by voice.
      • i. Completing an Exercise: user pushes “Next” button or says “Next”.
      • ii. Completing an Exercise Session: user pushes “End Session” button or says “End Session”.
    • b) User Choice: Do the exercises continually until pushing the “Stop” button or saying “Stop”.


8. Advancing Out of Levels

    • If a user conducts their ROM test, and pedals at a ROM radius consistent with a radius higher than their current level:
      • On the user's next 2 subsequent sessions
        • Their cycling portion will be done at the increased radius.
    • If the user does not indicate an increase in pain when logging in for those 2 subsequent cycle portions, the user may be advanced to the new level in their next session.


9. Exercise Session Example for Level-1

    • a) Warm Up Cycling
      • 5 minutes at the ROM level during setup
    • b) Exercises
    •  Squats—Chair rise
      • 5 times
      • 2 sets
      • 30 second rest between each set
    • Calf Raises
      • 10-20 times
      • 2 sets
      • 30 second rest between each set
    • Hamstring Curl
      • Hold for 5 seconds
      • 5 times
      • 2 sets
      • 30 second rest between each set
    • Standing Hip Extension
      • Hold for 5 seconds
      • 5 times
      • 2 sets
      • 30 second rest between each set
    • Standing Hip Abduction
      • Hold for 5 seconds
      • 5 times
      • 2 sets
      • 30 second rest between each set
    • Seated Hip Adduction
      • Hold for 5 seconds
      • 5 times
      • 2 sets
      • 30 second rest between each set
    • c) Strengthening Cycling
      • After pedaling for 3 minutes, increase the arc one notch.
      • 5-8 minutes, at a comfortable pace, 4-5/10 level
    • d) Cool Down
    •  Seated hamstring stretch (end)
      • Hold for 2 seconds
      • 10 times per side


Moving on to Levels 4 & 5





    • At these levels a user may have full range of motion and their pain may be almost gone.

    • The next step may include helping them with their fitness goals (ex: playing with grandkids, golfing, skiing) by adding resistance, endurance, cardio and loading exercises in a protocol/program tailored to that goal.


      Level 4 Session Example—25 mins





Warm Up





    • Stretching—5 minutes





Cardio





    • Cycling Program: Ride in The Park—5 minutes





Strength





    • Band Exercises: Chest Press, Seated Row, Squats—5 minutes





Flexibility





    • Goddess, Seated Twist, Stand Hip Adduction—5 minutes





Cool Down





    • Seated Marching, Hip Extension, Hamstring Curl—5 minutes


      Level 5 Session Example—25 mins





Warm Up





    • Stretching—5 minutes





Cardio





    • Cycling Program: Pike's Peak—5 minutes





Strength





    • Band Exercises: Bicep Curl, Shoulder Press, Pull Apart—5 minutes





Flexibility





    • Seated Hamstring Stretch, Hip Abduction, Calf Raise,—5 minutes





Cool Down





    • Seated Side Step, Seated Ankle Pumps, Sitting Knee Extensions—5 minutes





Additional Algorithm Rules

Each exercise may target at least one body part. The body part targets may be tagged in the data structures as follows:

    • whole leg
    • lateral hip
    • medial hip
    • posterior hip
    • hamstrings
    • quadriceps
    • hip flexion


      Each session may include at least one exercise that targets each of the body parts listed.


      The exercises per session must not exceed a percentage (e.g., 5, 10, 20, 30, 40, 50, etc.) of one particular body part target.


      The number of exercises assigned to each body part may be tabulated. The selection of an exercise for any body part, should not result in total exercises for that body part exceeding the total of any other body part by more than one.


Resistance (Cycling)



















Level 1
Level 2
Level 3
Level 4
Level 5









NA
NA
1/Easy
2/Easy
6/Medium




1/Back/pull

3/Easy
7/Medium






4/Medium
8/Hard






5/Medium
10/Hard










Bands



















Level 1
Level 2
Level 3
Level 4
Level 5









1/Mini
1/Mini
1/Mini
1/Mini
1/Mini




2/Thin
2/Thin
2/Thin
2/Thin






3/Heavy
3/Heavy










The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Once the above disclosure is fully appreciated, numerous variations and modifications will become apparent to those skilled in the art. It is intended that the following claims be interpreted to embrace all such variations and modifications.

Claims
  • 1. A method for generating, by an artificial intelligence engine, an exercise plan for a user to perform, wherein the method comprises: receiving data pertaining to the user, wherein the data comprises user fitness test results;generating, by the artificial intelligence engine, user energy consumption metrics for a plurality of exercises, wherein each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and the user fitness test results;generating, by the artificial intelligence engine, the exercise plan, wherein the generating is based at least on the user energy consumption metrics and a user energy score, wherein the exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score; andtransmitting the exercise plan to a computing device.
  • 2. The method of claim 1, wherein the data pertaining to the user further comprises one or more user-reported pain levels, and wherein the user energy consumption metrics are further generated based on the one or more user-reported pain levels.
  • 3. The method of claim 2, wherein the user energy consumption metrics are further generated based on at least one selected from the group consisting of heartrate, step count, blood pressure, perspiration, blood oxygen levels, and body temperature.
  • 4. The method of claim 1, wherein the user fitness test results indicate at least one selected from the group consisting of strength, mobility, endurance, pliability, a range of motion, flexibility, and balance.
  • 5. The method of claim 1, further comprising: receiving a physical activity goal the user desires to achieve, wherein the physical activity goal requires one or more physical levels of attainment to achieve; anddetermining the user energy score, wherein the user energy score is correlated with an amount of energy it takes to achieve the physical activity goal.
  • 6. The method of claim 1, further comprising: receiving updated user fitness test results;generating, by the artificial intelligence engine, updated user energy consumption metrics for the plurality of exercises, wherein the generating is based at least on the updated user fitness test results;generating, by the artificial intelligence engine, an updated exercise plan, wherein the generating is based at least on the updated user energy consumption metrics; andtransmitting the updated exercise plan to the computing device.
  • 7. The method of claim 1, further comprising generating one or more machine learning models trained to perform the generating of the user energy consumption metrics.
  • 8. The method of claim 1, further comprising: transmitting a signal to an exercise apparatus, wherein the user performs at least one of the subset of the plurality of exercises included in the exercise plan on the exercise apparatus; andin response to the exercise apparatus receiving the signal, adjusting at least one portion of the exercise apparatus based on at least one operating parameter specified in the exercise plan.
  • 9. A system for generating, by an artificial intelligence engine, an exercise plan for a user to perform, wherein the system comprising: a memory device for storing instructions; anda processing device communicatively coupled to the memory device, the processing device configured to execute the instructions to:receive data pertaining to the user, wherein the data comprises user fitness test results,generate, by the artificial intelligence engine, user energy consumption metrics for a plurality of exercises, wherein each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and the user fitness test results,generate, by the artificial intelligence engine, the exercise plan, wherein the generating is based at least on the user energy consumption metrics and a user energy score, wherein the exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score, andtransmit the exercise plan to a computing device.
  • 10. The system of claim 9, wherein the data pertaining to the user further comprises one or more user-reported pain levels, and wherein the user energy consumption metrics are further generated based on the one or more user-reported pain levels.
  • 11. The system of claim 10, wherein the user energy consumption metrics are further generated based on at least one selected from the group consisting of heartrate, step count, blood pressure, perspiration, blood oxygen level, and body temperature.
  • 12. The system of claim 9, wherein the user fitness test results indicate at least one selected from the group consisting of strength, mobility, endurance, a range of motion, pliability, flexibility, and balance.
  • 13. The system of claim 9, wherein the processing device is further configured to execute the instructions to: receive a physical activity goal the user desires to achieve, wherein the physical activity goal requires one or more physical levels of attainment to achieve, anddetermine the user energy score, wherein the user energy score is correlated with an amount of energy it takes to achieve the physical activity goal.
  • 14. The system of claim 9, wherein the processing device is further configured to execute the instructions to: receive updated user fitness test results,generate, by the artificial intelligence engine, updated user energy consumption metrics for the plurality of exercises, wherein the generating is based on the updated user fitness test results,generate, by the artificial intelligence engine, an updated exercise plan, wherein the generating is based at least on the updated user energy consumption metrics, andtransmit the updated exercise plan to the computing device.
  • 15. The system of claim 9, wherein the processing device is further configured to execute the instructions to generate one or more machine learning models trained to perform the generating of the user energy consumption metrics.
  • 16. The system of claim 9, further including an exercise apparatus for the user to perform at least one of the subset of the plurality of exercises included in the exercise plan, wherein the processing device is further configured to execute the instructions to transmit a signal to the exercise apparatus, wherein, in response to the exercise apparatus receiving the signal, the exercise apparatus is configured to adjust at least one portion of the exercise apparatus based on at least an operating parameter specified in the exercise plan.
  • 17. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to: receive data pertaining to a user, wherein the data comprises user fitness test results;generate, by an artificial intelligence engine, user energy consumption metrics for a plurality of exercises, wherein each of the user energy consumption metrics is generated for a respective one of the plurality of exercises based at least on a metabolic equivalent of task (MET) value for the respective one of the plurality of exercises and the user fitness test results;generate, by the artificial intelligence engine, an exercise plan, wherein the generating is based at least on the user energy consumption metrics and a user energy score, wherein the exercise plan includes at least a subset of the plurality of exercises to be performed by the user to attempt to achieve the user energy score; andtransmit the exercise plan to a computing device.
  • 18. The computer-readable medium of claim 17, wherein the data pertaining to the user further comprises one or more user-reported pain levels, and wherein the user energy consumption metrics are further generated based on the one or more user-reported pain levels.
  • 19. The computer-readable medium of claim 18, wherein the user energy consumption metrics are further generated based on at least one selected from the group consisting of heartrate, step count, blood pressure, perspiration, blood oxygen level, and body temperature.
  • 20. The computer-readable medium of claim 17, wherein the user fitness test results indicate at least one selected from the group consisting of strength, mobility, endurance, a range of motion, pliability, flexibility, and balance.
CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to and the benefit of U.S. Provisional Patent Application Ser. No. 63/168,064, filed Mar. 30, 2021, titled “SYSTEMS AND METHODS FOR USING ARTIFICIAL INTELLIGENCE TO GENERATE EXERCISE PLANS BASED ON USER ENERGY CONSUMPTION METRICS”, the entire disclosure of which is hereby incorporated by reference for all purposes.

Provisional Applications (1)
Number Date Country
63168064 Mar 2021 US