US20180071583A1 - Software Platform Configured to Provide Analytics and Recommendations - Google Patents
Software Platform Configured to Provide Analytics and Recommendations Download PDFInfo
- Publication number
- US20180071583A1 US20180071583A1 US15/706,375 US201715706375A US2018071583A1 US 20180071583 A1 US20180071583 A1 US 20180071583A1 US 201715706375 A US201715706375 A US 201715706375A US 2018071583 A1 US2018071583 A1 US 2018071583A1
- Authority
- US
- United States
- Prior art keywords
- workout
- fitness
- user
- genome
- movement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 196
- 238000000034 method Methods 0.000 claims abstract description 57
- 210000003205 muscle Anatomy 0.000 claims abstract description 51
- 230000006870 function Effects 0.000 claims description 62
- 238000012549 training Methods 0.000 claims description 27
- 238000005457 optimization Methods 0.000 claims description 18
- 230000007812 deficiency Effects 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 claims description 8
- 230000035772 mutation Effects 0.000 claims description 8
- 235000019577 caloric intake Nutrition 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 abstract description 17
- 230000006855 networking Effects 0.000 abstract description 5
- 238000005259 measurement Methods 0.000 abstract description 3
- 230000007774 longterm Effects 0.000 abstract description 2
- 238000013459 approach Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000005094 computer simulation Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- MYMOFIZGZYHOMD-UHFFFAOYSA-N Dioxygen Chemical compound O=O MYMOFIZGZYHOMD-UHFFFAOYSA-N 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000037213 diet Effects 0.000 description 2
- 235000005911 diet Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000016709 nutrition Nutrition 0.000 description 2
- 230000035764 nutrition Effects 0.000 description 2
- 229910052760 oxygen Inorganic materials 0.000 description 2
- 239000001301 oxygen Substances 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 210000004243 sweat Anatomy 0.000 description 2
- 210000003484 anatomy Anatomy 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002526 effect on cardiovascular system Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002503 metabolic effect Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000010254 physiological adaptation Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/30—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0075—Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/67—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
- A63B2024/0065—Evaluating the fitness, e.g. fitness level or fitness index
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
- A63B2024/0068—Comparison to target or threshold, previous performance or not real time comparison to other individuals
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
- A63B2024/0071—Distinction between different activities, movements, or kind of sports performed
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0075—Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
- A63B2024/0081—Coaching or training aspects related to a group of users
Definitions
- conventional systems do not identify deficiencies in a user's workout routine; tie fitness, nutrition, sports, gamification, and biosignal in a single solution; learn user's workouts with results to improve specifically to the user; and provide detail analytics with necessary information to assist coaches to improve athlete performance.
- Prior systems, methods, and apparatus struggle from several technical problems. For example, no existing solution can express the concept of a workout (from multiple fitness disciplines) into a generic format that can be processed efficiently by a computer.
- Known systems fail to define a computational model that can be used to define property functions that quantify the different characteristics of an arbitrary workout (e.g., duration, calorie consumption, average power, etc).
- systems do not define a computational model that can be used to quantify ‘similarities’ between two arbitrary workouts and they do not define a computational model that includes a set of mutation operators which can be used to both modify existing workouts and create entirely new workouts.
- An illustrative method includes receiving, at a processor of the computing device, a movement selection; determining, by the processor, a movement repetition for the received movement selection; receiving, at the processor, a group of movement selections, wherein the group of movement selections includes a plurality of movement selections and a plurality of movement repetitions corresponding to each of the plurality of movement selections; determining, by the processor, a group repetition for the received group of movement selections; forming, by the processor, a workout based on the group of movement selections and the group repetitions; and modifying the workout based on data received from use of the workout.
- the present disclosure is directed to a method of forming a workout.
- the method is implemented by one or more processors of a fitness genome apparatus communicatively coupled with a server and according to a set of instructions stored on a memory of the computing device.
- the method includes identifying, by the fitness genome apparatus, a movement associated with a user.
- the method includes determining, by the fitness genome apparatus, a movement repetition count associated with the movement.
- the method includes identifying, by the fitness genome apparatus, a group of movements, wherein the group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements.
- the method includes determining, by the fitness genome apparatus, a group repetition count for the group of movements.
- the method includes forming, by the fitness genome apparatus, a workout based on the group of movements and the group repetition count.
- the method includes modifying, by the fitness genome apparatus, the workout based on performance data received from use of the workout.
- identifying the movement includes receiving, by the fitness genome apparatus, physical characteristic data associated with the user.
- identifying the movement includes detecting, by the fitness genome apparatus, a motion associated with the user.
- identifying the movement includes identifying, by fitness genome apparatus, the movement based on at least one of the physical characteristic data and the motion associated with the user.
- determining the group repetition count is based on at least one of experience data associated with the user, a training regime selected by the user, and historical workout data associated with the user.
- the method includes receiving, by the fitness genome apparatus and from the server, social media data comprising a list of people the user follows on a social media group. In some implementations, the method includes identifying, by the fitness genome apparatus, the group of movements based on the social media data.
- modifying the workout includes detecting, by the fitness genome apparatus, a motion associated with the user. In some implementations, modifying the workout includes determining, by the fitness genome apparatus, a training regime where the user has difficulty progressing over time. In some implementations, modifying the workout includes decreasing the group repetition count.
- modifying the workout includes detecting, by the fitness genome apparatus, a motion associated with the user.
- the method includes determining, by the fitness genome apparatus, a training regime having difficulty decreasing over time and increasing the group repetition count.
- the method includes classifying, by the fitness genome apparatus, the workout based on a property function, a distance function, and an optimization function.
- the property function quantifies at least one of a duration of the workout, a calorie consumption of the workout, and an average power of the workout.
- the distance function quantifies a similarity of the workout and a second workout.
- the optimization function comprises a mutation operator and the property functions.
- the method includes modifying the workout using an optimization function. In some implementations, the method includes detecting, by the fitness genome apparatus, training deficiencies based on the performance data. In some implementations, the method includes generating, by the fitness genome apparatus, suggestions to improve the user's performance. In some implementations, the method includes displaying, by the fitness genome apparatus, the suggestions on a screen of the computing device.
- the method includes determining, by the fitness genome apparatus, muscles targeted by the movement. In some implementations, the method includes identifying, by the fitness genome apparatus, a stretch exercise associated with the movement. In some implementations, the method includes displaying, by the fitness genome apparatus and on a screen of the computing device, a title of the stretch exercise, a description of the stretch exercise, and a figure performing the stretch exercise.
- the present disclosure is directed to a system to form a workout.
- the system includes a computing device communicatively coupled with a server, the computing device configured to identify a movement associated with a user.
- the computing device is configured to determine a movement repetition count associated with the movement.
- the computing device is configured to identify a group of movements.
- the group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements.
- the computing device is configured to determine a group repetition count for the group of movements.
- the computing device is configured to form a workout based on the group of movements and the group repetition count.
- the computing device is configured to modify the workout based on performance data received from use of the workout.
- the computing device is configured to receive, physical characteristic data associated with the user. In some implementations, computing device is configured to detect, a motion associated with the user. In some implementations, computing device is configured to identify the movement based on at least one of the physical characteristic data and the motion associated with the user.
- the computing device configured to determine the group repetition count based on at least one of experience data associated with the user, a training regime selected by the user, and historical workout data associated with the user.
- the computing device configured to receive, from the server, social media data comprising a list of people the user follows on a social media group and identify the group of movements based on the social media data. In some implementations, the computing device configured to detect a motion associated with the user, determine a training regime having difficulty increasing over time; and decrease the group repetition count to modify the workout. In some implementations, the computing device configured to detect a motion associated with the user, determine a training regime having difficulty decreasing over time, and increase the group repetition count to modify the workout.
- the computing device configured to classify the workout based on a property function, a distance function, and an optimization function.
- the property function quantifies at least one of a duration of the workout, a calorie consumption of the workout, and an average power of the workout.
- the distance function quantifies a similarity of the workout and a second workout.
- the optimization function comprises a mutation operator and the property functions.
- the computing device configured to modify the workout based on the optimization function. In some implementations, the computing device configured to detect training deficiencies based on the performance data, generate suggestions to improve the performance data, and display the suggestions on a screen of the computing device.
- the computing device configured to determine muscles targeted by the movement, identify a stretch exercise associated with the movement, and display, on a screen of the computing device, a title of the stretch exercise, a description of the stretch exercise, and figure performing the stretch exercise.
- FIG. 1A is a diagram demonstrating a fitness analytic system in accordance with an illustrative embodiment.
- FIG. 1B is a diagram of a muscle impact heat map, in accordance with an illustrative embodiment.
- FIG. 2 is a diagram demonstrating a fitness analytic apparatus in accordance with an illustrative embodiment.
- FIGS. 3-6 depict illustrative graphic user interfaces providing timeline and generator functionalities in accordance with an illustrative embodiment.
- FIGS. 7-10 depict illustrative graphic user interfaces providing social media group and following functionalities in accordance with an illustrative embodiment.
- FIGS. 11-13 depict illustrative graphic user interfaces providing analytic functionalities in accordance with an illustrative embodiment.
- FIGS. 14-17 depict illustrative graphic user interfaces providing glossary and instructional functionalities in accordance with an illustrative embodiment.
- FIGS. 18-21 depict illustrative graphic user interfaces providing athlete data functionalities in accordance with an illustrative embodiment.
- FIGS. 22-25 depict illustrative graphic user interfaces providing edit and score work out functionalities in accordance with an illustrative embodiment.
- FIGS. 26-32 depict illustrative graphic user interfaces providing create workout functionalities in accordance with an illustrative embodiment.
- FIG. 33 is a flow diagram illustrating a method of encoding a workout in accordance with an illustrative embodiment.
- FIG. 34 is a flow diagram illustrating a method of optimizing a workout in accordance with an illustrative embodiment.
- FIG. 35 is a flow diagram illustrating a method of forming a workout, in accordance with an illustrative embodiment
- the software platform provides a software application that targets functional fitness with features that motivate and attract athletes for long-term use.
- the software application provides social networking functionalities including groups (e.g., gym, professionals, friends) as well as workout discovery, scalability, and fitness ranking.
- the software application further provides an engine that generates on-demand customized workouts based on available equipment and the user profile.
- the application includes an analysis tool that determines workout effectiveness based on metrics like muscle groups, power measurements, equipment and movements, etc.
- the application includes guidance on movements and stretches using instructions, videos, photos, etc.
- FIG. 1A depicts an illustrative fitness analytic system 110 including a fitness genome engine 110 .
- the fitness genome engine 110 can be implemented as a processor with programmed instructions.
- the fitness genome engine 110 processes workout data from one or more users 120 , identifying patterns and performing analytics.
- the engine 110 is capable of breaking up a workout into its most fundamental components such as movements (with order and frequency), targeted muscles, consumed calories, equipment used, bio signal integration, and other user profile.
- the engine 110 discovers patterns and relationships based on user's workout history for many possible applications, such as training analysis, workout recommendations, workout discovery, and social networking.
- the training analysis detects deficiencies in user workout programs.
- the engine 110 is communicatively coupled to a server 130 to enable social networking.
- the social networking aspect enables the connection of users to friends and groups doing similar workouts for performance measurements and ranking.
- user 120 may be any number of different types of user electronic devices configured to communicate via a network (e.g., Local Area Network (LAN) or Wide-Area Network (WAN), including without limitation, a laptop computer, desktop computer, a tablet computer, a mobile computing device (e.g., smartphone, smartwatch), or any other type and form of computing device or combinations of devices.
- LAN Local Area Network
- WAN Wide-Area Network
- user 120 may be a user of fitness analytic system 110 .
- user 120 may include any or all hardware, software, and functionality as fitness genome engine 110 .
- Fitness genome engine 110 may be included in any number of different types of electronic devices configured to communicate via a network (e.g., Local Area Network (LAN) or Wide-Area Network (WAN), including without limitation, a laptop computer, desktop computer, a tablet computer, a mobile computing device (e.g., smartphone, smartwatch), a server, a cloud computing device, or any other type and form of computing device or combinations of devices.
- a network e.g., Local Area Network (LAN) or Wide-Area Network (WAN)
- LAN Local Area Network
- WAN Wide-Area Network
- Fitness genome engine 110 may include a processor 111 (not shown) and memory 112 (not shown).
- Memory 112 may store machine instructions that, when executed by processor 111 cause processor 111 to perform one or more of the operations described herein.
- Processor 111 may include a microprocessor, ASIC, FPGA, etc., or combinations thereof. In many implementations, processor 111 may be a multi-core processor or an array of processors.
- Memory 112 may include, but is not limited to, electronic, optical, magnetic, or any other storage devices capable of providing processor 111 with program instructions.
- Memory 112 may include a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, EEPROM, EPROM, flash memory, optical media, or any other suitable memory from which processor 111 can read instructions.
- the instructions may include code from any suitable computer programming language such as, but not limited to, C, C++, C#, Java, JavaScript, Perl, HTML, XML, Python and Visual Basic.
- Fitness genome engine 110 may include one or more network interfaces 113 (not shown).
- a network interface 113 may include any type and form of interface, including Ethernet including 10 Base T, 100 Base T, or 1000 Base T (“Gigabit”); any of the varieties of 802.11 wireless, such as 802.11a, 802.11b, 802.11g, 802.11n, or 802.11ac; cellular, including CDMA, LTE, 3G, or 4G cellular; Bluetooth or other short range wireless connections; or any combination of these or other interfaces for communicating with a network or other computing devices.
- user 120 may include a plurality of network interfaces 113 of different types, allowing for connections to a variety of networks, such as local area networks or wide area networks including the Internet, via different sub-networks.
- Fitness genome engine 110 may include one or more user interface or input/output devices 114 (not shown).
- a user interface device 114 may be any electronic device that conveys data to a user by generating sensory information (e.g., a visualization on a display, one or more sounds, tactile feedback, etc.) and/or converts received sensory information from a user into electronic signals (e.g., a keyboard, a mouse, a pointing device, a touch screen display, a microphone, etc.).
- the one or more user interface devices may be internal to the housing of fitness genome engine 110 , such as a built-in display, touch screen, microphone, etc., or external to the housing of fitness genome engine 110 , such as a monitor connected to fitness genome engine 110 , a speaker connected to fitness genome engine 110 , etc., according to various implementations.
- Fitness genome engine 110 may be included in memory 112 , may be an application 114 (e.g., as shown in FIGS. 3-32 ), or may execute an application 114 using processor 111 .
- Application 114 may be an application, applet, script, service, daemon, routine, or other executable logic for receiving content (e.g., audio, video, speech, motion detection data, movement detection data, accelerometer data, gyroscope data, vibration data, conductivity/sweat data, temperature data) and for transmitting responses, commands, or any other data associated with a user (e.g., user 120 ) of fitness genome engine 110 .
- content e.g., audio, video, speech, motion detection data, movement detection data, accelerometer data, gyroscope data, vibration data, conductivity/sweat data, temperature data
- Fitness genome engine 110 defines a fundamental data type called “workout.” From the workout data type, a variety of functions can be defined such as properties, distance, and optimization. Workouts are represented using a recursive data structure (Abstract Syntax Tree being one example) which allows for complex workouts to be represented as a collection of many, simpler, workouts. The most fundamental workout the system defines is a “Movement” which cannot be broken down into other workouts.
- Fitness genome engine 110 includes various property functions (referred to as “Analytics”) capable of processing the recursive data structure used to represent a workout. These property functions allow the system to calculate a number of different metrics that are useful for fitness analysis.
- the process may include a decomposition phase, an analysis phase, and a composition phase.
- the fitness analytic system 110 breaks up the workout into its most fundamental components (referred to hereinafter as “movements”). For example, the fitness analytic system 110 may identify and/or extracts a push-up movement, a sit-up movement, and a back squat movement from the workout. The fitness analytic system 110 (via the property function) may determine the order and/or the number of times each of the identified/extracted movements were completed.
- the fitness analytic system 110 may determine the order and/or the number of times each of the identified/extracted movements were completed based on the workout “score.”
- movements are defined so that they are atomic such that the user (e.g., user 120 ) either completes the entire movement or none of it all.
- the fitness analytic system 110 does not count the completion of half of a push-up as an official/completed push-up.
- a movement may have a magnitude component. This applies to movements that allow for variable difficulty (e.g., mass of a dumbbell, height of a rope, distance of a run).
- a special composite movement (referred to herein as “Movement Complex”) may be defined using other simpler movements as building blocks. This allows us to express a concept that is common to some types of weight training where a group of movements is treated atomically. For example, no breaking in between a Clean and Jerk movement and a Burpee Box Jump movement.
- Fitness genome engine 110 is a customizable fitness platform capable of supporting any number of different movement possibilities based on the application.
- the user e.g., user 120
- fitness genome engine 110 includes a custom movement catalog defining an exhaustive list of all supported movements and their associated attributes.
- fitness genome engine 110 supports the following attributes: symbol, name, equation for work, muscle profile, and equipment.
- a symbol attribute is a unique variable name that can be used in workout expressions.
- a name attribute refers to the movement (e.g., singular and/or plural) within the fitness community. In some implementations, a name attribute refers to the movement in many different languages.
- a muscle profile attribute is the set of all (or a portion) of muscles activated during a movement.
- An equipment attribute is the set of equipment needed to perform a workout.
- the fitness analytic system 110 performs calculations at the movement-level, utilizing the some or all of the attributes defined in the movement catalog.
- the fitness analytic system 110 uses the values calculated during the analysis phase to derive a metric applying to the entire workout.
- Property functions that evaluate the characteristics of a workout can output either scalar values or they may output more complex data structures such as a set.
- Scalar values can express characteristics such as estimated duration, calorie consumption, and power.
- Sets can express properties such as active muscles, equipment, and useful stretches.
- Distance functions are a special type of function that can quantify the similarity of two workouts, for example.
- Property functions may be used to calculate metrics for multiple workouts which can either be related or unrelated.
- Related workouts may be selected by category (e.g., leg workouts, bicep workouts, shoulder workouts, cardiovascular workouts) and/or based on time range (e.g., day of the week, week, month, year, etc).
- Property function may calculate, for example, energy expenditure, average power, muscle impact, and muscle push/pull ratio. Energy expenditure is the total calories consumed by the body during the workout (an example calculation described below). Energy expenditure (referred to herein as ‘E’) may be one of the most vital property functions because fitness analytic system 110 uses energy expenditure to calculate, for example, Average Power, Muscle Ratio, and Muscle Impact.
- Average power is the average power output of the body during a workout.
- fitness analytic system 110 calculates the average power output of the body during a workout by dividing total energy expenditure by the workout duration based on the assumption that average power equates to energy over time.
- fitness analytic system 110 may generate a muscle impact heat map indicating muscle utilization for a workout.
- fitness analytic system 110 may calculate a muscle impact heat map by determining the total energy expenditure for a workout and distributing the result across each muscle using the muscle profile attribute defined in the movement catalog.
- Muscle push/pull ratio is the ratio of pushing to pulling performed by a muscle and its counter muscle. For example, the bicep muscle group pulls, while the triceps muscle group pushes.
- Fitness analytic system 110 may calculate a muscle push/pull ratio using the ratio of energy expended by each muscle (as described herein).
- E movement W movement EFF movement
- EFF movement the movement efficiency coefficient.
- Every movement has a custom equation for mechanical work, W movement, defined within the movement catalog as an attribute.
- W movement W movement
- Each equation may also include independent variables such as body height, body mass, and movement magnitude.
- fitness analytic system 110 adjusts its calculations based on the mass of the weight lifted, for example, during a bench press movement or a deadlift movement. This also allows fitness analytic system 110 to adjust calculations to both reflect the anatomy of the person completing the workout and account for movements with a variable magnitude component (e.g., mass for weightlifting, distance for running).
- a variable magnitude component e.g., mass for weightlifting, distance for running.
- the efficiency coefficient may be necessary because the human body is not 100% efficient at converting the chemical energy contained within food to the mechanical energy needed to complete a movement.
- the coefficient encapsulates various concepts, such as genetics, physiological adaptations (caused by diet, age, etc.), technique/muscle recruitment, and fitness levels (from training).
- fitness analytic system 110 supports several ways to determine the value of this coefficient (with varying levels of accuracy).
- fitness analytic system 110 may use a fixed value approach.
- fitness analytic system 110 may use 25% as the efficiency coefficient for all movements.
- the fixed value may be any percentage value between 1% and 100%.
- fitness analytic system 110 may use a different coefficient for each movement, reflecting the different mechanics involved in each.
- fitness analytic system 110 may use a unique coefficient for each movement derived based on empirical data.
- fitness analytic system 110 may use an adaptive approach, as described below.
- fitness analytic system 110 may define a custom map of coefficients (containing one coefficient for each movement) for each user that can be adjusted over time using workout data provided by the user (i.e., an adaptive map of coefficients). For example, each user starts with a map of coefficients based on the fixed value approach or the unique coefficient approach. After the user (e.g., user 120 ) logs specific benchmark workouts, fitness analytic system 110 adjusts the coefficient (e.g., for each or a subset of the movements in that workout) to reflect the discrepancy between the user's score with a predefined baseline for that benchmark. For example, good results equate to increased efficiency and bad results equate to decreased efficiency.
- fitness analytic system 110 selects the appropriate benchmark for the desired application (e.g., based on muscle group). In some implementations, fitness analytic system 110 receives an input selection from user 120 indicating the selected benchmark. Fitness analytic system 110 (or user 120 ) may determine a mathematical relationship between a score (e.g., time, total work, heart rate, etc.) and a workout efficiency coefficient, EFF workout (Note: This is different from the movement coefficient, EFF movement ). In some implementations, fitness analytic system 110 (or user 120 ) may determine this relationship based on empirical data. In some implementations, fitness analytic system 110 calculates the workout efficiency coefficient based on the following equation:
- EFF workout ( W workout /E workout ), (1)
- equation (1) may be expressed in terms of the efficiency coefficients for each movement included in the workout based on the following equation:
- EFF workout ( EFF movement1 *R 1 )+( EFF movement2 *R 2 )+. . . +( EFF movementN *R N ) (2)
- R i is the total work involved for the movement, W movement , divided by the work for the entire workout, W workout .
- Fitness analytic system 110 may use equation (2) during the optimization process (as discussed below).
- the adaptive approach is a multi-variable optimization problem. This allows fitness analytic system 110 to utilize algorithms and heuristics to find an optimal solution.
- the goal of this algorithm is to optimize a series of equations in the form defined in equation B, where EFF i are the unknown values representing the efficiency coefficients for each of the movements contained in the workout.
- fitness analytic system 110 may restrict the value of each efficiency coefficient within a predetermined range. For example, fitness analytic system 110 may restrict the value of each efficient coefficient between 0.23 and 0.27.
- the efficiency coefficient may be any value between 0 and 1.
- fitness analytic system 110 may use a Genetic Algorithm approach, as described herein.
- Fitness analytic system 110 may use the Genetic Algorithm approach to mimic the concept of Natural Selection by creating an environment where a population of candidate solutions compete and evolve towards an optimal solution.
- the Genetic Algorithm approach is an iterative approach where for each iteration (generation), the fitness (degree of correctness) of each candidate solution is evaluated and used to influence the probability that the solution is stochastically selected and used to form a new generation (after being mutated).
- the goal of this approach is to continually improve the fitness of candidate solutions from generation-to-generation until either an optimal solution is found or a predefined number of generations have elapsed.
- the fitness analytic system 110 identifies/represents a candidate solution (the set of efficiency coefficients EFF i ) as a binary array by concatenating the binary form of each individual movement efficiency, EFF i , as fixed point decimal values (precision can be determined by the application) into a single binary array.
- fitness analytic system 110 may evaluate fitness via equation (2).
- fitness analytic system 110 may select an optimal set of efficiency coefficients that can satisfy the widest range of benchmark equations (e.g., via equation 2). This approach will result in an adaptive calorie estimate, which takes into account both the differences in individuals and their progression in the form of technique, fitness, and diet.
- the coefficient map may be used to detect a user's (e.g., user 120 ) fitness strengths and deficiencies based on a movement level analysis and/or a muscle level analysis. For example, using a movement level analysis, fitness analytic system 110 may determine which movements the user needs to work on (either in technique, or in terms of muscle development) based on the low efficiency values. In another example, using muscle level analysis, fitness analytic system 110 may determine (or approximate) the effectiveness of a specific muscle by comparing the efficiencies of all movements that have a high utilization of that muscle of interest.
- fitness analytic system 110 can filter the efficiency coefficient for every movement associated with a specific muscle group (e.g., bicep muscle group, triceps muscle group) based on a utilization factor greater than a predetermined threshold (for example between 1% and 75%).
- a specific muscle group e.g., bicep muscle group, triceps muscle group
- FIG. 2 illustrates a fitness analytic apparatus 210 programmed with instructions to execute a fitness genome engine on a mobile platform, such as fitness genome engine 110 .
- the fitness analytic apparatus 210 includes a screen configured to present graphic user interfaces providing timeline and generator functionalities, social media group and following functionalities, analytic functionalities, glossary and instructional functionalities, athlete data functionalities, edit and score work out functionalities, and create workout functionalities.
- fitness analytic apparatus 210 may be (or may include) fitness genome engine 110 .
- the fitness analytic apparatus 210 includes hardware such as an accelerometer, a gyroscope, and other motion detection apparatuses. For example, the fitness analytic apparatus 210 may detect the motion of a user by querying motion data from the one or more motion detection apparatuses. Computer software programmed into memory for execution on processors in the fitness analytic apparatus 210 enable the functionalities described herein. The functionalities include fitness tracking and analysis. In some implementations, fitness analytic apparatus 210 includes conductivity measuring equipment, such as a sweat sensor, and/or temperature measurement equipment, such as a thermocouple.
- the combination of hardware and software in the fitness analytic apparatus 210 enables the generation of workouts, including the identification of fitness movements workout discovery with user friends, gym and groups.
- the fitness analytic apparatus 210 can synchronize and allow for offline access with fast response time and relate all movement style to impacted results such as muscle group, calories, etc.
- the connectivity of the fitness analytic apparatus 210 to server 220 permits the relation of workouts to friends, group and following pros (social network) as well as relating stretches to workouts and movements.
- the fitness analytic apparatus 210 identifies deficiencies of each user workout; it ties fitness, nutrition and biosignal in a single solution; it learns user workout with results to improve specifically to the user; and it provides detail analytics with necessary information to assist coaches to improve athlete performance such as orange theory.
- the fitness analytic apparatus 210 provides technical solutions to problems inherent to prior technologies. For example, the fitness analytic apparatus 210 can express the concept of a workout (from multiple fitness disciplines) into a generic format that can be processed efficiently.
- the fitness analytic apparatus 210 also defines a computational model that can be used to define property functions that quantify a given characteristic of an arbitrary workout (e.g. duration, calorie consumption, average power, etc).
- the fitness analytic apparatus 210 also defines a computational model that can be used to quantify ‘similarity’ between two arbitrary workouts and they do not define a computational model that includes a set of mutation operators which can be used to either modify an existing workout or create an entirely new workout.
- the fitness analytic apparatus 210 defines a computational model that allows users to combine mutation operators with property functions to create optimization functions. Such functions can modify an arbitrary workout in an attempt to optimize a given property of it (duration, calories, muscles, aesthetics, etc.) or synthesize a completely new workout.
- the fitness analytic apparatus 210 also defines a computational model that can incorporate an athletes performance (both quantitative data like “score” and body metrics (BPM, blood/oxygen level, etc) or qualitative metrics like “how much they enjoyed the workout?”) to both detect training deficiencies and suggest improvements to an athletes programming.
- FIGS. 3-6 depict illustrative graphic user interfaces providing timeline and generator functionalities in accordance with an illustrative embodiment.
- FIG. 3 illustrates a timeline view that displays workouts logged by athletes the user is following.
- the interface enables to user to search for athletes with profiles in the system. As such, the user can discover new workouts by looking at workouts done by others. The user can also challenge others by completing the same workout and logging workout results.
- FIG. 4 illustrates an interface showing a log for a particular workout including rankings, either full or scaled, to compare fitness performances.
- FIG. 5 illustrates and interface that shows one of many workouts. The system can generate hundreds of thousands of unique, non-repetitive workouts based on equipment availability. All workouts are scalable and can be modified. The workouts listed on the interface have links to descriptions about each movement in the workout.
- FIG. 6 illustrates an interface in which a user can select and deselect equipment available for generated workouts. The list preferably includes equipment in a typical functional fitness gym.
- FIGS. 7-10 depict illustrative graphic user interfaces providing social media group and following functionalities in accordance with an illustrative embodiment.
- FIG. 7 illustrates a selection menu for a user to select a number of different functions, including generating a workout, logging a workout, and other workout options.
- FIG. 8 illustrates an interface that shows information about groups with multiple workouts each day. Performance rankings can be displayed for all athletes following the program.
- FIG. 9 illustrates a search function in which athletes in the system can be found by full name or username.
- FIG. 10 illustrates an interface showing athlete images and names as well as links to profiles and timelines. Users can choose to follow or unfollow other athletes.
- FIGS. 11-13 depict illustrative graphic user interfaces providing analytic functionalities in accordance with an illustrative embodiment.
- FIG. 11 illustrates an interface showing a muscle diagram representing intensity of training on each muscle group for a particular week.
- FIG. 12 illustrates an interface with analytics for a duration of workouts performed. Duration of workouts can help indicate if workouts are varied to hit all types of metabolic states.
- FIG. 13 illustrates an interface with cardio analytics tracked weekly for distance running, rowing, and swimming.
- FIGS. 14-17 depict illustrative graphic user interfaces providing glossary and instructional functionalities in accordance with an illustrative embodiment.
- FIG. 14 illustrates an interface with a glossary of movements, equipment, and stretches. The interface is configured to show movement frequency of the user's workouts. As such, athletes can see what movements they are missing from their program. The interface also provides a listing of equipment found in a fitness gym and a listing of yoga stretches.
- FIG. 15 illustrates an interface of a glossary entry for “Snatch,” which is a particular movement. The interface identifies muscles that the movement targets, movement standards for technique, equipment necessary for the movement, suggested stretches for the movement, a sample movement video, and logged workouts containing the movement.
- FIG. 16 illustrates an image of equipment and possible movements with the equipment. The interface can also include websites where the equipment may be purchased.
- FIG. 17 illustrates an image of a stretch and details of standards and tips for the stretch.
- FIGS. 18-21 depict illustrative graphic user interfaces providing athlete data functionalities in accordance with an illustrative embodiment.
- FIG. 18 illustrates a timeline of logged workouts for a particular user. The workouts can be modified or discarded on the personal timeline.
- FIG. 19 illustrates an interface with a custom account picture and user details. The user details include height and weight, which are used to accurately estimate calories. In some embodiments, the height and weight are not synchronized with a central database for privacy purposes.
- FIG. 20 illustrates an interface having a calendar where the user can easily view days with and without logged workouts. The calendar view allows a quick view of a specific week in the workout timeline.
- FIG. 21 illustrates an interface with achievements of the user including personal records as well as lifts and benchmark workouts. The scores are updated automatically from logged workouts.
- FIGS. 22-25 depict illustrative graphic user interfaces providing edit and score work out functionalities in accordance with an illustrative embodiment.
- FIG. 22 illustrates and interface where a workout is edited and notes added.
- FIG. 23 illustrates an interface with a drop down menu for autocomplete of the workout editing. An information icon can be selected to provide details on a movement.
- FIG. 24 illustrates an interface in which timing scoring are entered for parts of the workout are entered.
- FIG. 25 illustrates an interface showing repetition scoring for a workout. Partial completed rounds can be highlighted in the interface.
- FIGS. 26-32 depict illustrative graphic user interfaces providing create workout functionalities in accordance with an illustrative embodiment.
- FIG. 26 illustrates an interface showing an entry or selection for a specific number of rounds for each movement time.
- FIG. 27 illustrates an interface for an entry or selection of multiple rounds varying in repetitions.
- FIG. 28 illustrates an interface for an entry or selection of as many rounds and/or repetitions as possible within a specified time.
- FIG. 29 illustrates an interface for an entry or selection of frequency of activity.
- FIG. 30 illustrates an interface for an entry or selection of a set of movements performed.
- FIG. 31 illustrates an interface for an entry or selection of a movement for time or distance.
- FIG. 32 illustrates an interface for an entry or selection of movements performed following a workout or a rest interface for a specific number of rounds.
- FIG. 33 is a flow diagram illustrating a method of encoding a workout in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed.
- the process 3300 may be implemented by a fitness analytic system such as fitness analytic system 110 of FIG. 1A . Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed.
- the system identifies a movement to include in a workout. The identification of a movement can be based on the fitness equipment available to the user. The identification of a movement can also be based on user-defined physical characteristics or preferences.
- the system determines a number of repetitions for the identified movement. Repetitions depend on the experience level of the user, the training regime selected, an analysis of workouts performed by the user, and other factors.
- the system identifies groups of movements to include in a defined workout.
- the groups of movements can include movements targeting certain muscles or focusing on different muscles for the defined workout. A number of considerations can be considered for the formation of groups of movements.
- the grouping can be based on user-defined physical characteristics or preferences. The grouping can also be based on groups of friends or people the user follows on social media.
- the system determines a number of repetitions for the group. Repetitions depend on the experience level of the user, the training regime selected, an analysis of workouts performed by the user, and other factors.
- FIG. 34 is a flow diagram illustrating a method of optimizing a workout in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed.
- the process 3400 may be implemented by a fitness analytic system such as fitness analytic system 110 of FIG. 1A . Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed.
- the system obtains a defined workout.
- the system can locate a workout from a local memory storage or from a remote memory, including a remote network location such as storage systems reached over the Internet.
- the system modifies the duration of the obtained workout. Modifications to workout duration can include increase or decrease of repetitions of movements or increase or decrease of repetitions of group performance. The modifications can be made in response to an analysis of performance of the user or in response to a training regime that has difficulty increasing or decreasing over time.
- the system modifies the aesthetic of the workout.
- the system defines different workouts with aesthetic qualities based on the movement, the repetitions, and the muscles used.
- the modification of the aesthetic can change the look of the workout based on user requirements.
- the system modifies the movement of the workout.
- the system can change movements in the workout in response to an analysis of the workout performance to increase or decrease difficulty or to change training goals.
- FIG. 35 is a flow diagram illustrating a method of forming a workout, in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed.
- the process 3400 may be implemented by a fitness analytic system such as fitness analytic system 110 of FIG. 1A . Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed.
- the system identifies a movement associated with a user.
- the system determines a movement repetition count associated with the movement.
- the system identifies a group of movements.
- the group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements.
- the system determines a group repetition count for the group of movements.
- the system forms a workout based on the group of movements and the group repetition count.
- the system modifies the workout based on performance data received from use of the workout.
- the system determines if a new movement is being performed. If yes, then the system returns to operation 3502 to identify the new movement associated with a user; otherwise, the system returns to operation 3512 to continue modifying the workout based on performance data received from use of the workout.
- any of the operations described herein can be implemented at least in part as computer-readable instructions stored on a computer-readable medium or memory. Upon execution of the computer-readable instructions by a processor, the computer-readable instructions can cause a computing device to perform the operations.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- a general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
- the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or non-transitory processor-readable storage medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module, which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor.
- non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer.
- Disk and disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media.
- the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable storage medium and/or computer-readable storage medium, which may be incorporated into a computer program product.
Landscapes
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physical Education & Sports Medicine (AREA)
- Public Health (AREA)
- Epidemiology (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
Methods and systems provide a software platform configured to provide analytics and recommendations. The software platform provides a software application that targets functional fitness with features that motivate and attract athletes for long-term use. The software application provides social networking functionalities including groups (e.g., gym, professionals, friends) as well as workout discovery, scalability, and fitness ranking. The software application further provides an engine that presents a workout generator based on available equipment and the user profile. The application includes an analysis tool that determines workout effectiveness including muscle groups, power measurements, equipment and movements, and effectiveness of workouts over time. In some embodiments, the application includes guidance on movements and stretches using instructions, videos, photos, etc.
Description
- This application claims priority to U.S. Provisional Application 62/395,071, filed Sep. 15, 2016, incorporated by reference in its entirety.
- Various technologies attempt to provide fitness tracking features and, in some instances, fitness analytics. However, heretofore, no existing solution can break down fitness movements to enable, on-demand, computer-generated workouts and provide workout discovery with their friends, gym and groups. Conventional systems also fail to synchronize and allow for offline access with fast response time and relate all movement styles to results such as impacted muscle groups, calories, etc. No existing solution can find complex relationships between workouts across users and groups in a social network. Conventional systems also fail to suggest stretching routines that target the movements that makeup a workout. Furthermore, conventional systems do not identify deficiencies in a user's workout routine; tie fitness, nutrition, sports, gamification, and biosignal in a single solution; learn user's workouts with results to improve specifically to the user; and provide detail analytics with necessary information to assist coaches to improve athlete performance.
- Prior systems, methods, and apparatus struggle from several technical problems. For example, no existing solution can express the concept of a workout (from multiple fitness disciplines) into a generic format that can be processed efficiently by a computer. Known systems fail to define a computational model that can be used to define property functions that quantify the different characteristics of an arbitrary workout (e.g., duration, calorie consumption, average power, etc). Similarly, heretofore, systems do not define a computational model that can be used to quantify ‘similarities’ between two arbitrary workouts and they do not define a computational model that includes a set of mutation operators which can be used to both modify existing workouts and create entirely new workouts.
- Furthermore, no existing solution defines a computational model that allows users to combine mutation operators with property functions to create optimization functions. Such functions could be used to modify an arbitrary workout in an attempt to optimize a given property of it (duration, calories, muscles, aesthetics, etc.) or synthesize a completely new workout. Prior systems do not define a computational model that can incorporate an athletes performance (both quantitative data like “score” and body metrics (BPM, blood/oxygen level, etc) or qualitative metrics like “how much they enjoyed the workout?”) to both detect training deficiencies and suggest improvements to an athlete's programming routine.
- An illustrative method according to a set of instructions stored on the memory of a computing device includes receiving, at a processor of the computing device, a movement selection; determining, by the processor, a movement repetition for the received movement selection; receiving, at the processor, a group of movement selections, wherein the group of movement selections includes a plurality of movement selections and a plurality of movement repetitions corresponding to each of the plurality of movement selections; determining, by the processor, a group repetition for the received group of movement selections; forming, by the processor, a workout based on the group of movement selections and the group repetitions; and modifying the workout based on data received from use of the workout.
- In another aspect, the present disclosure is directed to a method of forming a workout. The method is implemented by one or more processors of a fitness genome apparatus communicatively coupled with a server and according to a set of instructions stored on a memory of the computing device. The method includes identifying, by the fitness genome apparatus, a movement associated with a user. The method includes determining, by the fitness genome apparatus, a movement repetition count associated with the movement. The method includes identifying, by the fitness genome apparatus, a group of movements, wherein the group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements. The method includes determining, by the fitness genome apparatus, a group repetition count for the group of movements. The method includes forming, by the fitness genome apparatus, a workout based on the group of movements and the group repetition count. The method includes modifying, by the fitness genome apparatus, the workout based on performance data received from use of the workout. In some implementations, identifying the movement includes receiving, by the fitness genome apparatus, physical characteristic data associated with the user. In some implementations, identifying the movement includes detecting, by the fitness genome apparatus, a motion associated with the user. In some implementations, identifying the movement includes identifying, by fitness genome apparatus, the movement based on at least one of the physical characteristic data and the motion associated with the user.
- In some implementations, determining the group repetition count is based on at least one of experience data associated with the user, a training regime selected by the user, and historical workout data associated with the user.
- In some implementations, the method includes receiving, by the fitness genome apparatus and from the server, social media data comprising a list of people the user follows on a social media group. In some implementations, the method includes identifying, by the fitness genome apparatus, the group of movements based on the social media data.
- In some implementations, modifying the workout includes detecting, by the fitness genome apparatus, a motion associated with the user. In some implementations, modifying the workout includes determining, by the fitness genome apparatus, a training regime where the user has difficulty progressing over time. In some implementations, modifying the workout includes decreasing the group repetition count.
- In some implementations, modifying the workout includes detecting, by the fitness genome apparatus, a motion associated with the user. In some implementations, the method includes determining, by the fitness genome apparatus, a training regime having difficulty decreasing over time and increasing the group repetition count.
- In some implementations, the method includes classifying, by the fitness genome apparatus, the workout based on a property function, a distance function, and an optimization function. In some implementations, the property function quantifies at least one of a duration of the workout, a calorie consumption of the workout, and an average power of the workout. In some implementations, the distance function quantifies a similarity of the workout and a second workout. In some implementations, the optimization function comprises a mutation operator and the property functions.
- In some implementations, the method includes modifying the workout using an optimization function. In some implementations, the method includes detecting, by the fitness genome apparatus, training deficiencies based on the performance data. In some implementations, the method includes generating, by the fitness genome apparatus, suggestions to improve the user's performance. In some implementations, the method includes displaying, by the fitness genome apparatus, the suggestions on a screen of the computing device.
- In some implementations, the method includes determining, by the fitness genome apparatus, muscles targeted by the movement. In some implementations, the method includes identifying, by the fitness genome apparatus, a stretch exercise associated with the movement. In some implementations, the method includes displaying, by the fitness genome apparatus and on a screen of the computing device, a title of the stretch exercise, a description of the stretch exercise, and a figure performing the stretch exercise.
- In another aspect, the present disclosure is directed to a system to form a workout. The system includes a computing device communicatively coupled with a server, the computing device configured to identify a movement associated with a user. The computing device is configured to determine a movement repetition count associated with the movement. The computing device is configured to identify a group of movements. The group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements. The computing device is configured to determine a group repetition count for the group of movements. The computing device is configured to form a workout based on the group of movements and the group repetition count. The computing device is configured to modify the workout based on performance data received from use of the workout.
- In some implementations, the computing device is configured to receive, physical characteristic data associated with the user. In some implementations, computing device is configured to detect, a motion associated with the user. In some implementations, computing device is configured to identify the movement based on at least one of the physical characteristic data and the motion associated with the user.
- In some implementations, the computing device configured to determine the group repetition count based on at least one of experience data associated with the user, a training regime selected by the user, and historical workout data associated with the user.
- In some implementations, the computing device configured to receive, from the server, social media data comprising a list of people the user follows on a social media group and identify the group of movements based on the social media data. In some implementations, the computing device configured to detect a motion associated with the user, determine a training regime having difficulty increasing over time; and decrease the group repetition count to modify the workout. In some implementations, the computing device configured to detect a motion associated with the user, determine a training regime having difficulty decreasing over time, and increase the group repetition count to modify the workout.
- In some implementations, the computing device configured to classify the workout based on a property function, a distance function, and an optimization function. In some implementations, the property function quantifies at least one of a duration of the workout, a calorie consumption of the workout, and an average power of the workout. In some implementations, the distance function quantifies a similarity of the workout and a second workout. In some implementations, the optimization function comprises a mutation operator and the property functions.
- In some implementations, the computing device configured to modify the workout based on the optimization function. In some implementations, the computing device configured to detect training deficiencies based on the performance data, generate suggestions to improve the performance data, and display the suggestions on a screen of the computing device.
- In some implementations, the computing device configured to determine muscles targeted by the movement, identify a stretch exercise associated with the movement, and display, on a screen of the computing device, a title of the stretch exercise, a description of the stretch exercise, and figure performing the stretch exercise.
- Illustrative embodiments will hereafter be described with reference to the accompanying drawings.
-
FIG. 1A is a diagram demonstrating a fitness analytic system in accordance with an illustrative embodiment. -
FIG. 1B is a diagram of a muscle impact heat map, in accordance with an illustrative embodiment. -
FIG. 2 is a diagram demonstrating a fitness analytic apparatus in accordance with an illustrative embodiment. -
FIGS. 3-6 depict illustrative graphic user interfaces providing timeline and generator functionalities in accordance with an illustrative embodiment. -
FIGS. 7-10 depict illustrative graphic user interfaces providing social media group and following functionalities in accordance with an illustrative embodiment. -
FIGS. 11-13 depict illustrative graphic user interfaces providing analytic functionalities in accordance with an illustrative embodiment. -
FIGS. 14-17 depict illustrative graphic user interfaces providing glossary and instructional functionalities in accordance with an illustrative embodiment. -
FIGS. 18-21 depict illustrative graphic user interfaces providing athlete data functionalities in accordance with an illustrative embodiment. -
FIGS. 22-25 depict illustrative graphic user interfaces providing edit and score work out functionalities in accordance with an illustrative embodiment. -
FIGS. 26-32 depict illustrative graphic user interfaces providing create workout functionalities in accordance with an illustrative embodiment. -
FIG. 33 is a flow diagram illustrating a method of encoding a workout in accordance with an illustrative embodiment. -
FIG. 34 is a flow diagram illustrating a method of optimizing a workout in accordance with an illustrative embodiment. -
FIG. 35 is a flow diagram illustrating a method of forming a workout, in accordance with an illustrative embodiment - Described herein are illustrative embodiments for methods and systems that provide for a software platform configured to provide analytics and recommendations. In an illustrative embodiment, the software platform provides a software application that targets functional fitness with features that motivate and attract athletes for long-term use. The software application provides social networking functionalities including groups (e.g., gym, professionals, friends) as well as workout discovery, scalability, and fitness ranking. The software application further provides an engine that generates on-demand customized workouts based on available equipment and the user profile. The application includes an analysis tool that determines workout effectiveness based on metrics like muscle groups, power measurements, equipment and movements, etc. In some embodiments, the application includes guidance on movements and stretches using instructions, videos, photos, etc.
-
FIG. 1A depicts an illustrative fitnessanalytic system 110 including afitness genome engine 110. Thefitness genome engine 110 can be implemented as a processor with programmed instructions. Thefitness genome engine 110 processes workout data from one ormore users 120, identifying patterns and performing analytics. Theengine 110 is capable of breaking up a workout into its most fundamental components such as movements (with order and frequency), targeted muscles, consumed calories, equipment used, bio signal integration, and other user profile. Theengine 110 discovers patterns and relationships based on user's workout history for many possible applications, such as training analysis, workout recommendations, workout discovery, and social networking. The training analysis detects deficiencies in user workout programs. Theengine 110 is communicatively coupled to aserver 130 to enable social networking. The social networking aspect enables the connection of users to friends and groups doing similar workouts for performance measurements and ranking. - In some implementations,
user 120 may be any number of different types of user electronic devices configured to communicate via a network (e.g., Local Area Network (LAN) or Wide-Area Network (WAN), including without limitation, a laptop computer, desktop computer, a tablet computer, a mobile computing device (e.g., smartphone, smartwatch), or any other type and form of computing device or combinations of devices. In some implementations,user 120 may be a user of fitnessanalytic system 110. In some implementations,user 120 may include any or all hardware, software, and functionality asfitness genome engine 110. -
Fitness genome engine 110 may be included in any number of different types of electronic devices configured to communicate via a network (e.g., Local Area Network (LAN) or Wide-Area Network (WAN), including without limitation, a laptop computer, desktop computer, a tablet computer, a mobile computing device (e.g., smartphone, smartwatch), a server, a cloud computing device, or any other type and form of computing device or combinations of devices. -
Fitness genome engine 110 may include a processor 111 (not shown) and memory 112 (not shown). Memory 112 may store machine instructions that, when executed by processor 111 cause processor 111 to perform one or more of the operations described herein. Processor 111 may include a microprocessor, ASIC, FPGA, etc., or combinations thereof. In many implementations, processor 111 may be a multi-core processor or an array of processors. Memory 112 may include, but is not limited to, electronic, optical, magnetic, or any other storage devices capable of providing processor 111 with program instructions. Memory 112 may include a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, EEPROM, EPROM, flash memory, optical media, or any other suitable memory from which processor 111 can read instructions. The instructions may include code from any suitable computer programming language such as, but not limited to, C, C++, C#, Java, JavaScript, Perl, HTML, XML, Python and Visual Basic. -
Fitness genome engine 110 may include one or more network interfaces 113 (not shown). A network interface 113 may include any type and form of interface, including Ethernet including 10 Base T, 100 Base T, or 1000 Base T (“Gigabit”); any of the varieties of 802.11 wireless, such as 802.11a, 802.11b, 802.11g, 802.11n, or 802.11ac; cellular, including CDMA, LTE, 3G, or 4G cellular; Bluetooth or other short range wireless connections; or any combination of these or other interfaces for communicating with a network or other computing devices. In some implementations,user 120 may include a plurality of network interfaces 113 of different types, allowing for connections to a variety of networks, such as local area networks or wide area networks including the Internet, via different sub-networks. -
Fitness genome engine 110 may include one or more user interface or input/output devices 114 (not shown). A user interface device 114 may be any electronic device that conveys data to a user by generating sensory information (e.g., a visualization on a display, one or more sounds, tactile feedback, etc.) and/or converts received sensory information from a user into electronic signals (e.g., a keyboard, a mouse, a pointing device, a touch screen display, a microphone, etc.). The one or more user interface devices may be internal to the housing offitness genome engine 110, such as a built-in display, touch screen, microphone, etc., or external to the housing offitness genome engine 110, such as a monitor connected tofitness genome engine 110, a speaker connected tofitness genome engine 110, etc., according to various implementations. -
Fitness genome engine 110 may be included in memory 112, may be an application 114 (e.g., as shown inFIGS. 3-32 ), or may execute an application 114 using processor 111. Application 114 may be an application, applet, script, service, daemon, routine, or other executable logic for receiving content (e.g., audio, video, speech, motion detection data, movement detection data, accelerometer data, gyroscope data, vibration data, conductivity/sweat data, temperature data) and for transmitting responses, commands, or any other data associated with a user (e.g., user 120) offitness genome engine 110. -
Fitness genome engine 110 defines a fundamental data type called “workout.” From the workout data type, a variety of functions can be defined such as properties, distance, and optimization. Workouts are represented using a recursive data structure (Abstract Syntax Tree being one example) which allows for complex workouts to be represented as a collection of many, simpler, workouts. The most fundamental workout the system defines is a “Movement” which cannot be broken down into other workouts. -
Fitness genome engine 110 includes various property functions (referred to as “Analytics”) capable of processing the recursive data structure used to represent a workout. These property functions allow the system to calculate a number of different metrics that are useful for fitness analysis. The process may include a decomposition phase, an analysis phase, and a composition phase. - In the decomposition phase, the fitness analytic system 110 (via the property function) breaks up the workout into its most fundamental components (referred to hereinafter as “movements”). For example, the fitness
analytic system 110 may identify and/or extracts a push-up movement, a sit-up movement, and a back squat movement from the workout. The fitness analytic system 110 (via the property function) may determine the order and/or the number of times each of the identified/extracted movements were completed. In some implementations, the fitness analytic system 110 (via the property function) may determine the order and/or the number of times each of the identified/extracted movements were completed based on the workout “score.” In some implementations, movements are defined so that they are atomic such that the user (e.g., user 120) either completes the entire movement or none of it all. For example, the fitnessanalytic system 110 does not count the completion of half of a push-up as an official/completed push-up. In some implementations, a movement may have a magnitude component. This applies to movements that allow for variable difficulty (e.g., mass of a dumbbell, height of a rope, distance of a run). In some implementations, a special composite movement (referred to herein as “Movement Complex”) may be defined using other simpler movements as building blocks. This allows us to express a concept that is common to some types of weight training where a group of movements is treated atomically. For example, no breaking in between a Clean and Jerk movement and a Burpee Box Jump movement. -
Fitness genome engine 110 is a customizable fitness platform capable of supporting any number of different movement possibilities based on the application. In some implementations, the user (e.g., user 120) selects the one or more movements for thefitness genome engine 110 to support. In some implementations,fitness genome engine 110 includes a custom movement catalog defining an exhaustive list of all supported movements and their associated attributes. In some implementations,fitness genome engine 110 supports the following attributes: symbol, name, equation for work, muscle profile, and equipment. A symbol attribute is a unique variable name that can be used in workout expressions. A name attribute refers to the movement (e.g., singular and/or plural) within the fitness community. In some implementations, a name attribute refers to the movement in many different languages. A muscle profile attribute is the set of all (or a portion) of muscles activated during a movement. In some implementations, A muscle profile attribute includes the extent at which the muscles are activated relative to other muscles in the body (e.g., 0%=No Usage, 100%=Exclusive Usage). An equipment attribute is the set of equipment needed to perform a workout. - In the analysis phase, the fitness analytic system 110 (via the property function) performs calculations at the movement-level, utilizing the some or all of the attributes defined in the movement catalog. In the composition phase, the fitness analytic system 110 (via the property function) uses the values calculated during the analysis phase to derive a metric applying to the entire workout.
- Property functions that evaluate the characteristics of a workout can output either scalar values or they may output more complex data structures such as a set. Scalar values can express characteristics such as estimated duration, calorie consumption, and power. Sets can express properties such as active muscles, equipment, and useful stretches. Distance functions are a special type of function that can quantify the similarity of two workouts, for example. Using the functions described above, it possible to design optimization programs that can selectively modify an arbitrary workout to produce one with desired characteristics as defined by one or more property functions (e.g., optimal duration, aesthetics, or movement composition) and potentially some other set of constraints (e.g., thresholds, termination criteria, etc). In some implementations, Property functions may be used to calculate metrics for multiple workouts which can either be related or unrelated. Related workouts may be selected by category (e.g., leg workouts, bicep workouts, shoulder workouts, cardiovascular workouts) and/or based on time range (e.g., day of the week, week, month, year, etc).
- Property function may calculate, for example, energy expenditure, average power, muscle impact, and muscle push/pull ratio. Energy expenditure is the total calories consumed by the body during the workout (an example calculation described below). Energy expenditure (referred to herein as ‘E’) may be one of the most vital property functions because fitness
analytic system 110 uses energy expenditure to calculate, for example, Average Power, Muscle Ratio, and Muscle Impact. - Average power is the average power output of the body during a workout. In some implementations, fitness
analytic system 110 calculates the average power output of the body during a workout by dividing total energy expenditure by the workout duration based on the assumption that average power equates to energy over time. - As shown in
FIG. 1B , fitnessanalytic system 110 may generate a muscle impact heat map indicating muscle utilization for a workout. For example, fitnessanalytic system 110 may calculate a muscle impact heat map by determining the total energy expenditure for a workout and distributing the result across each muscle using the muscle profile attribute defined in the movement catalog. - Muscle push/pull ratio is the ratio of pushing to pulling performed by a muscle and its counter muscle. For example, the bicep muscle group pulls, while the triceps muscle group pushes. Fitness
analytic system 110 may calculate a muscle push/pull ratio using the ratio of energy expended by each muscle (as described herein). - The energy required to complete a movement is calculated based on the equation, Emovement=Wmovement EFFmovement where EFFmovement is the movement efficiency coefficient. Every movement has a custom equation for mechanical work, Wmovement, defined within the movement catalog as an attribute. These equations can be built on top of existing equations (W=F·s and W=T·θ being examples). Each equation may also include independent variables such as body height, body mass, and movement magnitude. As such, fitness
analytic system 110 adjusts its calculations based on the mass of the weight lifted, for example, during a bench press movement or a deadlift movement. This also allows fitnessanalytic system 110 to adjust calculations to both reflect the anatomy of the person completing the workout and account for movements with a variable magnitude component (e.g., mass for weightlifting, distance for running). These equations may also make assumptions about the different body ratios (e.g., arm spam is approximately equal to height) based on worldwide averages for humans. In some implementations, the efficiency coefficient may be necessary because the human body is not 100% efficient at converting the chemical energy contained within food to the mechanical energy needed to complete a movement. The coefficient encapsulates various concepts, such as genetics, physiological adaptations (caused by diet, age, etc.), technique/muscle recruitment, and fitness levels (from training). - Still referring to
FIG. 1A , fitnessanalytic system 110 supports several ways to determine the value of this coefficient (with varying levels of accuracy). In some implementations, fitnessanalytic system 110 may use a fixed value approach. For example, fitnessanalytic system 110 may use 25% as the efficiency coefficient for all movements. In some implementations, the fixed value may be any percentage value between 1% and 100%. In some implementations, fitnessanalytic system 110 may use a different coefficient for each movement, reflecting the different mechanics involved in each. For example, fitnessanalytic system 110 may use a unique coefficient for each movement derived based on empirical data. In some implementations, fitnessanalytic system 110 may use an adaptive approach, as described below. - In the adaptive approach, fitness
analytic system 110 may define a custom map of coefficients (containing one coefficient for each movement) for each user that can be adjusted over time using workout data provided by the user (i.e., an adaptive map of coefficients). For example, each user starts with a map of coefficients based on the fixed value approach or the unique coefficient approach. After the user (e.g., user 120) logs specific benchmark workouts, fitnessanalytic system 110 adjusts the coefficient (e.g., for each or a subset of the movements in that workout) to reflect the discrepancy between the user's score with a predefined baseline for that benchmark. For example, good results equate to increased efficiency and bad results equate to decreased efficiency. To derive a benchmark, fitness analytic system 110 (or user 120) selects the appropriate benchmark for the desired application (e.g., based on muscle group). In some implementations, fitnessanalytic system 110 receives an input selection fromuser 120 indicating the selected benchmark. Fitness analytic system 110 (or user 120) may determine a mathematical relationship between a score (e.g., time, total work, heart rate, etc.) and a workout efficiency coefficient, EFFworkout (Note: This is different from the movement coefficient, EFFmovement). In some implementations, fitness analytic system 110 (or user 120) may determine this relationship based on empirical data. In some implementations, fitnessanalytic system 110 calculates the workout efficiency coefficient based on the following equation: -
EFF workout=(W workout /E workout), (1) - where Eworkout is measured energy expenditure for the workout
- In some implementations, equation (1) may be expressed in terms of the efficiency coefficients for each movement included in the workout based on the following equation:
-
EFF workout=(EFF movement1 *R 1)+(EFF movement2 *R 2)+. . . +(EFF movementN *R N) (2) - where Ri is the total work involved for the movement, Wmovement, divided by the work for the entire workout, Wworkout.
- Fitness
analytic system 110 may use equation (2) during the optimization process (as discussed below). - The adaptive approach is a multi-variable optimization problem. This allows fitness
analytic system 110 to utilize algorithms and heuristics to find an optimal solution. The goal of this algorithm is to optimize a series of equations in the form defined in equation B, where EFFi are the unknown values representing the efficiency coefficients for each of the movements contained in the workout. In some implementations, fitnessanalytic system 110 may restrict the value of each efficiency coefficient within a predetermined range. For example, fitnessanalytic system 110 may restrict the value of each efficient coefficient between 0.23 and 0.27. The efficiency coefficient may be any value between 0 and 1. In some implementations, fitnessanalytic system 110 may use a Genetic Algorithm approach, as described herein. - Fitness
analytic system 110 may use the Genetic Algorithm approach to mimic the concept of Natural Selection by creating an environment where a population of candidate solutions compete and evolve towards an optimal solution. The Genetic Algorithm approach is an iterative approach where for each iteration (generation), the fitness (degree of correctness) of each candidate solution is evaluated and used to influence the probability that the solution is stochastically selected and used to form a new generation (after being mutated). The goal of this approach is to continually improve the fitness of candidate solutions from generation-to-generation until either an optimal solution is found or a predefined number of generations have elapsed. - In order for the fitness
analytic system 110 to use the Genetic Algorithm approach (as described above), the fitnessanalytic system 110 identifies/represents a candidate solution (the set of efficiency coefficients EFFi) as a binary array by concatenating the binary form of each individual movement efficiency, EFFi, as fixed point decimal values (precision can be determined by the application) into a single binary array. In some implementations, fitnessanalytic system 110 may evaluate fitness via equation (2). By performing the Genetic Algorithm approach, fitnessanalytic system 110 may select an optimal set of efficiency coefficients that can satisfy the widest range of benchmark equations (e.g., via equation 2). This approach will result in an adaptive calorie estimate, which takes into account both the differences in individuals and their progression in the form of technique, fitness, and diet. - The coefficient map may be used to detect a user's (e.g., user 120) fitness strengths and deficiencies based on a movement level analysis and/or a muscle level analysis. For example, using a movement level analysis, fitness
analytic system 110 may determine which movements the user needs to work on (either in technique, or in terms of muscle development) based on the low efficiency values. In another example, using muscle level analysis, fitnessanalytic system 110 may determine (or approximate) the effectiveness of a specific muscle by comparing the efficiencies of all movements that have a high utilization of that muscle of interest. That is, fitnessanalytic system 110 can filter the efficiency coefficient for every movement associated with a specific muscle group (e.g., bicep muscle group, triceps muscle group) based on a utilization factor greater than a predetermined threshold (for example between 1% and 75%). -
FIG. 2 illustrates a fitnessanalytic apparatus 210 programmed with instructions to execute a fitness genome engine on a mobile platform, such asfitness genome engine 110. The fitnessanalytic apparatus 210 includes a screen configured to present graphic user interfaces providing timeline and generator functionalities, social media group and following functionalities, analytic functionalities, glossary and instructional functionalities, athlete data functionalities, edit and score work out functionalities, and create workout functionalities. In some implementations, fitnessanalytic apparatus 210 may be (or may include)fitness genome engine 110. - The fitness
analytic apparatus 210 includes hardware such as an accelerometer, a gyroscope, and other motion detection apparatuses. For example, the fitnessanalytic apparatus 210 may detect the motion of a user by querying motion data from the one or more motion detection apparatuses. Computer software programmed into memory for execution on processors in the fitnessanalytic apparatus 210 enable the functionalities described herein. The functionalities include fitness tracking and analysis. In some implementations, fitnessanalytic apparatus 210 includes conductivity measuring equipment, such as a sweat sensor, and/or temperature measurement equipment, such as a thermocouple. - The combination of hardware and software in the fitness
analytic apparatus 210 enables the generation of workouts, including the identification of fitness movements workout discovery with user friends, gym and groups. The fitnessanalytic apparatus 210 can synchronize and allow for offline access with fast response time and relate all movement style to impacted results such as muscle group, calories, etc. The connectivity of the fitnessanalytic apparatus 210 toserver 220 permits the relation of workouts to friends, group and following pros (social network) as well as relating stretches to workouts and movements. - Advantageously, the fitness
analytic apparatus 210 identifies deficiencies of each user workout; it ties fitness, nutrition and biosignal in a single solution; it learns user workout with results to improve specifically to the user; and it provides detail analytics with necessary information to assist coaches to improve athlete performance such as orange theory. - The fitness
analytic apparatus 210 provides technical solutions to problems inherent to prior technologies. For example, the fitnessanalytic apparatus 210 can express the concept of a workout (from multiple fitness disciplines) into a generic format that can be processed efficiently. The fitnessanalytic apparatus 210 also defines a computational model that can be used to define property functions that quantify a given characteristic of an arbitrary workout (e.g. duration, calorie consumption, average power, etc). The fitnessanalytic apparatus 210 also defines a computational model that can be used to quantify ‘similarity’ between two arbitrary workouts and they do not define a computational model that includes a set of mutation operators which can be used to either modify an existing workout or create an entirely new workout. - Furthermore, the fitness
analytic apparatus 210 defines a computational model that allows users to combine mutation operators with property functions to create optimization functions. Such functions can modify an arbitrary workout in an attempt to optimize a given property of it (duration, calories, muscles, aesthetics, etc.) or synthesize a completely new workout. The fitnessanalytic apparatus 210 also defines a computational model that can incorporate an athletes performance (both quantitative data like “score” and body metrics (BPM, blood/oxygen level, etc) or qualitative metrics like “how much they enjoyed the workout?”) to both detect training deficiencies and suggest improvements to an athletes programming. -
FIGS. 3-6 depict illustrative graphic user interfaces providing timeline and generator functionalities in accordance with an illustrative embodiment.FIG. 3 illustrates a timeline view that displays workouts logged by athletes the user is following. The interface enables to user to search for athletes with profiles in the system. As such, the user can discover new workouts by looking at workouts done by others. The user can also challenge others by completing the same workout and logging workout results.FIG. 4 illustrates an interface showing a log for a particular workout including rankings, either full or scaled, to compare fitness performances.FIG. 5 illustrates and interface that shows one of many workouts. The system can generate hundreds of thousands of unique, non-repetitive workouts based on equipment availability. All workouts are scalable and can be modified. The workouts listed on the interface have links to descriptions about each movement in the workout.FIG. 6 illustrates an interface in which a user can select and deselect equipment available for generated workouts. The list preferably includes equipment in a typical functional fitness gym. -
FIGS. 7-10 depict illustrative graphic user interfaces providing social media group and following functionalities in accordance with an illustrative embodiment.FIG. 7 illustrates a selection menu for a user to select a number of different functions, including generating a workout, logging a workout, and other workout options.FIG. 8 illustrates an interface that shows information about groups with multiple workouts each day. Performance rankings can be displayed for all athletes following the program.FIG. 9 illustrates a search function in which athletes in the system can be found by full name or username.FIG. 10 illustrates an interface showing athlete images and names as well as links to profiles and timelines. Users can choose to follow or unfollow other athletes. -
FIGS. 11-13 depict illustrative graphic user interfaces providing analytic functionalities in accordance with an illustrative embodiment.FIG. 11 illustrates an interface showing a muscle diagram representing intensity of training on each muscle group for a particular week.FIG. 12 illustrates an interface with analytics for a duration of workouts performed. Duration of workouts can help indicate if workouts are varied to hit all types of metabolic states.FIG. 13 illustrates an interface with cardio analytics tracked weekly for distance running, rowing, and swimming. -
FIGS. 14-17 depict illustrative graphic user interfaces providing glossary and instructional functionalities in accordance with an illustrative embodiment.FIG. 14 illustrates an interface with a glossary of movements, equipment, and stretches. The interface is configured to show movement frequency of the user's workouts. As such, athletes can see what movements they are missing from their program. The interface also provides a listing of equipment found in a fitness gym and a listing of yoga stretches.FIG. 15 illustrates an interface of a glossary entry for “Snatch,” which is a particular movement. The interface identifies muscles that the movement targets, movement standards for technique, equipment necessary for the movement, suggested stretches for the movement, a sample movement video, and logged workouts containing the movement.FIG. 16 illustrates an image of equipment and possible movements with the equipment. The interface can also include websites where the equipment may be purchased.FIG. 17 illustrates an image of a stretch and details of standards and tips for the stretch. -
FIGS. 18-21 depict illustrative graphic user interfaces providing athlete data functionalities in accordance with an illustrative embodiment.FIG. 18 illustrates a timeline of logged workouts for a particular user. The workouts can be modified or discarded on the personal timeline.FIG. 19 illustrates an interface with a custom account picture and user details. The user details include height and weight, which are used to accurately estimate calories. In some embodiments, the height and weight are not synchronized with a central database for privacy purposes.FIG. 20 illustrates an interface having a calendar where the user can easily view days with and without logged workouts. The calendar view allows a quick view of a specific week in the workout timeline.FIG. 21 illustrates an interface with achievements of the user including personal records as well as lifts and benchmark workouts. The scores are updated automatically from logged workouts. -
FIGS. 22-25 depict illustrative graphic user interfaces providing edit and score work out functionalities in accordance with an illustrative embodiment.FIG. 22 illustrates and interface where a workout is edited and notes added.FIG. 23 illustrates an interface with a drop down menu for autocomplete of the workout editing. An information icon can be selected to provide details on a movement.FIG. 24 illustrates an interface in which timing scoring are entered for parts of the workout are entered.FIG. 25 illustrates an interface showing repetition scoring for a workout. Partial completed rounds can be highlighted in the interface. -
FIGS. 26-32 depict illustrative graphic user interfaces providing create workout functionalities in accordance with an illustrative embodiment.FIG. 26 illustrates an interface showing an entry or selection for a specific number of rounds for each movement time.FIG. 27 illustrates an interface for an entry or selection of multiple rounds varying in repetitions.FIG. 28 illustrates an interface for an entry or selection of as many rounds and/or repetitions as possible within a specified time.FIG. 29 illustrates an interface for an entry or selection of frequency of activity.FIG. 30 illustrates an interface for an entry or selection of a set of movements performed.FIG. 31 illustrates an interface for an entry or selection of a movement for time or distance.FIG. 32 illustrates an interface for an entry or selection of movements performed following a workout or a rest interface for a specific number of rounds. -
FIG. 33 is a flow diagram illustrating a method of encoding a workout in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Theprocess 3300 may be implemented by a fitness analytic system such as fitnessanalytic system 110 ofFIG. 1A . Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed. At anoperation 3305, the system identifies a movement to include in a workout. The identification of a movement can be based on the fitness equipment available to the user. The identification of a movement can also be based on user-defined physical characteristics or preferences. At anoperation 3310, the system determines a number of repetitions for the identified movement. Repetitions depend on the experience level of the user, the training regime selected, an analysis of workouts performed by the user, and other factors. - In an
operation 3315, the system identifies groups of movements to include in a defined workout. The groups of movements can include movements targeting certain muscles or focusing on different muscles for the defined workout. A number of considerations can be considered for the formation of groups of movements. The grouping can be based on user-defined physical characteristics or preferences. The grouping can also be based on groups of friends or people the user follows on social media. At anoperation 3320, the system determines a number of repetitions for the group. Repetitions depend on the experience level of the user, the training regime selected, an analysis of workouts performed by the user, and other factors. -
FIG. 34 is a flow diagram illustrating a method of optimizing a workout in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Theprocess 3400 may be implemented by a fitness analytic system such as fitnessanalytic system 110 ofFIG. 1A . Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed. At anoperation 3405, the system obtains a defined workout. The system can locate a workout from a local memory storage or from a remote memory, including a remote network location such as storage systems reached over the Internet. At anoperation 3410, the system modifies the duration of the obtained workout. Modifications to workout duration can include increase or decrease of repetitions of movements or increase or decrease of repetitions of group performance. The modifications can be made in response to an analysis of performance of the user or in response to a training regime that has difficulty increasing or decreasing over time. - In an
operation 3415, the system modifies the aesthetic of the workout. The system defines different workouts with aesthetic qualities based on the movement, the repetitions, and the muscles used. The modification of the aesthetic can change the look of the workout based on user requirements. At anoperation 3420, the system modifies the movement of the workout. The system can change movements in the workout in response to an analysis of the workout performance to increase or decrease difficulty or to change training goals. -
FIG. 35 is a flow diagram illustrating a method of forming a workout, in accordance with an illustrative embodiment. In alternative embodiments, fewer, additional, and/or different operations may be performed. Theprocess 3400 may be implemented by a fitness analytic system such as fitnessanalytic system 110 ofFIG. 1A . Also, the use of a flow diagram is not meant to be limiting with respect to the order of operations performed. At an operation 3502, the system identifies a movement associated with a user. At operation 3504, the system determines a movement repetition count associated with the movement. At operation 3506, the system identifies a group of movements. In some implementations, the group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements. At operation 3508, the system determines a group repetition count for the group of movements. At operation 3510, the system forms a workout based on the group of movements and the group repetition count. At operation 3512, the system modifies the workout based on performance data received from use of the workout. Atoperation 3514, the system determines if a new movement is being performed. If yes, then the system returns to operation 3502 to identify the new movement associated with a user; otherwise, the system returns to operation 3512 to continue modifying the workout based on performance data received from use of the workout. - In an illustrative embodiment, any of the operations described herein can be implemented at least in part as computer-readable instructions stored on a computer-readable medium or memory. Upon execution of the computer-readable instructions by a processor, the computer-readable instructions can cause a computing device to perform the operations.
- The foregoing description of illustrative embodiments has been presented for purposes of illustration and of description. It is not intended to be exhaustive or limiting with respect to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the disclosed embodiments. It is intended that the scope of the disclosure be defined by the claims appended hereto and their equivalents.
- The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of various implementations must be performed in the order presented. As will be appreciated by one of skill in the art the order of steps in the foregoing implementations may be performed in any order. Words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Further, any reference to claim elements in the singular, for example, using the articles “a,” “an” or “the” is not to be construed as limiting the element to the singular.
- The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the implementations disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some steps or methods may be performed by circuitry that is specific to a given function.
- In some exemplary implementations, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or non-transitory processor-readable storage medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module, which may reside on a non-transitory computer-readable or processor-readable storage medium. Non-transitory computer-readable or processor-readable storage media may be any storage media that may be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable storage medium and/or computer-readable storage medium, which may be incorporated into a computer program product.
Claims (20)
1. A method of forming a workout, the method implemented by one or more processors of a fitness genome apparatus communicatively coupled with a server and according to a set of instructions stored on a memory of the computing device, the method comprising:
identifying, by the fitness genome apparatus, a movement associated with a user;
determining, by the fitness genome apparatus, a movement repetition count associated with the movement;
identifying, by the fitness genome apparatus, a group of movements, wherein the group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements;
determining, by the fitness genome apparatus, a group repetition count for the group of movements;
forming, by the fitness genome apparatus, a workout based on the group of movements and the group repetition count; and
modifying, by the fitness genome apparatus, the workout based on performance data received from use of the workout.
2. The method of claim 1 , wherein identifying the movement comprises:
receiving, by the fitness genome apparatus, physical characteristic data associated with the user;
detecting, by the fitness genome apparatus, a motion associated with the user; and
identifying, by fitness genome apparatus, the movement based on at least one of the physical characteristic data and the motion associated with the user.
3. The method of claim 1 , wherein determining the group repetition count is based on at least one of experience data associated with the user, a training regime selected by the user, and historical workout data associated with the user.
4. The method of claim 1 , comprising
receiving, by the fitness genome apparatus and from the server, social media data comprising a list of people the user follows on a social media group; and
identifying, by the fitness genome apparatus, the group of movements based on the social media data.
5. The method of claim 1 , wherein modifying the workout comprises:
detecting, by the fitness genome apparatus, a motion associated with the user;
determining, by the fitness genome apparatus, a training regime having difficulty increasing over time; and
decreasing the group repetition count.
6. The method of claim 1 , wherein modifying the workout comprises:
detecting, by the fitness genome apparatus, a motion associated with the user;
determining, by the fitness genome apparatus, a training regime having difficulty decreasing over time; and
increasing the group repetition count.
7. The method of claim 1 , comprising:
classifying, by the fitness genome apparatus, the workout based on a property function, a distance function, and an optimization function;
wherein the property function quantifies at least one of a duration of the workout, a energy expenditure of the workout, and an average power of the workout;
wherein the distance function quantifies a similarity of the workout and a second workout; and
wherein the optimization function comprises a mutation operator and the property functions.
8. The method of claim 7 , comprising modifying the workout using the optimization function.
9. The method of claim 1 , comprising:
detecting, by the fitness genome apparatus, training deficiencies based on the performance data;
generating, by the fitness genome apparatus, suggestions to improve the performance data; and
displaying, by the fitness genome apparatus, the suggestions on a screen of the computing device.
10. The method of claim 1 , comprising:
determining, by the fitness genome apparatus, muscles targeted by the movement;
identifying, by the fitness genome apparatus, a stretch exercise associated with the movement; and
displaying, by the fitness genome apparatus and on a screen of the computing device, a title of the stretch exercise, a description of the stretch exercise, and a figure performing the stretch exercise.
11. A system to form a workout, the system comprising:
a computing device communicatively coupled with a server, the computing device configured to:
identify a movement associated with a user;
determine a movement repetition count associated with the movement;
identify a group of movements, wherein the group of movements includes a plurality of movements and a plurality of movement repetition counts corresponding to each of the plurality of movements;
determine a group repetition count for the group of movements;
form a workout based on the group of movements and the group repetition count; and
modify the workout based on performance data received from use of the workout.
12. The system of claim 10 , comprising the computing device configured to:
receive, physical characteristic data associated with the user;
detect, a motion associated with the user; and
identify the movement based on at least one of the physical characteristic data and the motion associated with the user.
13. The system of claim 10 , comprising the computing device configured to:
determine the group repetition count based on at least one of experience data associated with the user, a training regime selected by the user, and historical workout data associated with the user.
14. The system of claim 10 , comprising the computing device configured to:
receive, from the server, social media data comprising a list of people the user follows on a social media group; and
identify the group of movements based on the social media data.
15. The system of claim 10 , comprising the computing device configured to:
detect a motion associated with the user;
determine a training regime having difficulty increasing over time; and
decrease the group repetition count to modify the workout.
16. The system of claim 10 , comprising the computing device configured to:
detect a motion associated with the user;
determine a training regime having difficulty decreasing over time; and
increase the group repetition count to modify the workout.
17. The system of claim 10 , comprising the computing device configured to:
classify the workout based on a property function, a distance function, and an optimization function;
wherein the property function quantifies at least one of a duration of the workout, a calorie consumption of the workout, and an average power of the workout;
wherein the distance function quantifies a similarity of the workout and a second workout; and
wherein the optimization function comprises a mutation operator and the property functions.
18. The system of claim 17 , comprising the computing device configured to modify the workout based on the optimization function.
19. The system of claim 10 , comprising the computing device configured to:
detect training deficiencies based on the performance data;
generate suggestions to improve the performance data; and
display the suggestions on a screen of the computing device.
20. The system of claim 10 , comprising the computing device configured to:
determine muscles targeted by the movement;
identify a stretch exercise associated with the movement; and
display, on a screen of the computing device, a title of the stretch exercise, a description of the stretch exercise, and figure performing the stretch exercise.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/706,375 US20180071583A1 (en) | 2016-09-15 | 2017-09-15 | Software Platform Configured to Provide Analytics and Recommendations |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201662395071P | 2016-09-15 | 2016-09-15 | |
| US15/706,375 US20180071583A1 (en) | 2016-09-15 | 2017-09-15 | Software Platform Configured to Provide Analytics and Recommendations |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20180071583A1 true US20180071583A1 (en) | 2018-03-15 |
Family
ID=61559491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/706,375 Abandoned US20180071583A1 (en) | 2016-09-15 | 2017-09-15 | Software Platform Configured to Provide Analytics and Recommendations |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US20180071583A1 (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10901591B2 (en) * | 2015-12-15 | 2021-01-26 | Amazon Technologies, Inc. | Graphical user interface customization for automating complex operations |
| US20220233880A1 (en) * | 2019-06-11 | 2022-07-28 | Pandhora S.R.L. | Infrared ray equipment for robotic rehabilitation on a treadmill, having flexible pelvic attachment |
| US20220331659A1 (en) * | 2021-04-16 | 2022-10-20 | Fitbod, Inc. | Determining a user's current exercise capability |
| US20220331658A1 (en) * | 2021-04-16 | 2022-10-20 | Fitbod, Inc. | Machine-learned exercise capability prediction model |
| US11617527B2 (en) * | 2019-04-23 | 2023-04-04 | Polar Electro Oy | Muscle load monitoring |
| US11673025B2 (en) * | 2018-06-29 | 2023-06-13 | PEAR Sports LLC | Workout recommendation engine |
| US20240131393A1 (en) * | 2021-11-18 | 2024-04-25 | Rom Technologies, Inc. | System and method for using artificial intelligence and a payment system pertaining to components of mapped exercises |
| US12347542B2 (en) | 2021-04-16 | 2025-07-01 | Fitbod, Inc. | Predicting exercises based on user-selected variance |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070135264A1 (en) * | 2005-12-09 | 2007-06-14 | Outland Research, Llc | Portable exercise scripting and monitoring device |
| US20070219059A1 (en) * | 2006-03-17 | 2007-09-20 | Schwartz Mark H | Method and system for continuous monitoring and training of exercise |
| US20140163704A1 (en) * | 2012-12-09 | 2014-06-12 | General Instrument Corporation | System, apparel, and method for identifying performance of workout routines |
| US20140270375A1 (en) * | 2013-03-15 | 2014-09-18 | Focus Ventures, Inc. | System and Method for Identifying and Interpreting Repetitive Motions |
| US20150196805A1 (en) * | 2014-01-14 | 2015-07-16 | Zsolutionz, LLC | Fuzzy logic-based evaluation and feedback of exercise performance |
| US20170368413A1 (en) * | 2016-03-12 | 2017-12-28 | Arie Shavit | Training system and methods for designing, monitoring and providing feedback of training |
-
2017
- 2017-09-15 US US15/706,375 patent/US20180071583A1/en not_active Abandoned
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070135264A1 (en) * | 2005-12-09 | 2007-06-14 | Outland Research, Llc | Portable exercise scripting and monitoring device |
| US20070219059A1 (en) * | 2006-03-17 | 2007-09-20 | Schwartz Mark H | Method and system for continuous monitoring and training of exercise |
| US20140163704A1 (en) * | 2012-12-09 | 2014-06-12 | General Instrument Corporation | System, apparel, and method for identifying performance of workout routines |
| US20140270375A1 (en) * | 2013-03-15 | 2014-09-18 | Focus Ventures, Inc. | System and Method for Identifying and Interpreting Repetitive Motions |
| US20150196805A1 (en) * | 2014-01-14 | 2015-07-16 | Zsolutionz, LLC | Fuzzy logic-based evaluation and feedback of exercise performance |
| US20170368413A1 (en) * | 2016-03-12 | 2017-12-28 | Arie Shavit | Training system and methods for designing, monitoring and providing feedback of training |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10901591B2 (en) * | 2015-12-15 | 2021-01-26 | Amazon Technologies, Inc. | Graphical user interface customization for automating complex operations |
| US11673025B2 (en) * | 2018-06-29 | 2023-06-13 | PEAR Sports LLC | Workout recommendation engine |
| US11617527B2 (en) * | 2019-04-23 | 2023-04-04 | Polar Electro Oy | Muscle load monitoring |
| US20220233880A1 (en) * | 2019-06-11 | 2022-07-28 | Pandhora S.R.L. | Infrared ray equipment for robotic rehabilitation on a treadmill, having flexible pelvic attachment |
| US20220331659A1 (en) * | 2021-04-16 | 2022-10-20 | Fitbod, Inc. | Determining a user's current exercise capability |
| US20220331658A1 (en) * | 2021-04-16 | 2022-10-20 | Fitbod, Inc. | Machine-learned exercise capability prediction model |
| US12109454B2 (en) * | 2021-04-16 | 2024-10-08 | Fitbod, Inc. | Determining a user's current exercise capability |
| US12347542B2 (en) | 2021-04-16 | 2025-07-01 | Fitbod, Inc. | Predicting exercises based on user-selected variance |
| US20240131393A1 (en) * | 2021-11-18 | 2024-04-25 | Rom Technologies, Inc. | System and method for using artificial intelligence and a payment system pertaining to components of mapped exercises |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20180071583A1 (en) | Software Platform Configured to Provide Analytics and Recommendations | |
| Rajšp et al. | A systematic literature review of intelligent data analysis methods for smart sport training | |
| US20240157197A1 (en) | Method and system for human motion analysis and instruction | |
| Kranz et al. | The mobile fitness coach: Towards individualized skill assessment using personalized mobile devices | |
| US20180036591A1 (en) | Event-based prescription of fitness-related activities | |
| Kovalchik et al. | A shot taxonomy in the era of tracking data in professional tennis | |
| US20210001172A1 (en) | Exercise Counting and Form Guidance System | |
| EP3996822A1 (en) | Interactive personal training system | |
| CN110678932A (en) | Techniques for providing customized workout related recommendations | |
| JP5299965B2 (en) | Instruction support system and instruction support information display device | |
| CN105453128A (en) | Portable computing device and analysis of personal data captured therefrom | |
| CN102213957A (en) | Control method, and device and system for providing virtual private sport coach | |
| US20220054892A1 (en) | System and Method for Providing Real-Time Feedback Related to Fitness Training | |
| Lai et al. | The role of the network of matches on predicting success in table tennis | |
| Girard et al. | The effect of strength and plyometric training on functional dance performance in elite ballet and modern dancers | |
| van Meurs et al. | Interpersonal coordination in tennis: assessing the positional advantage index with Australian Open Hawkeye data | |
| Moffatt et al. | Classifying and quantifying team playing styles in the Australian Football League | |
| Silvino et al. | The Use of Machine Learning in Sports Performance: A Systematic Review | |
| Teune et al. | The influence of individual, task and environmental constraint interaction on skilled behaviour in Australian Football training | |
| Contreras-García et al. | Early specialization in formative basketball: A machine learning analysis of shooting patterns in U14 and professional players | |
| Lim et al. | Exploring CrossFit performance prediction and analysis via extensive data and machine learning | |
| Sneha et al. | Machine Learning Based Assessment of Elite Football Players Based on Anthropometric and Motor Fitness Parameters with Regard to their Playing Positions | |
| Burford | Predicting cycling performance using machine learning | |
| Rossi et al. | Beyond Training: A Personalized Holistic Injury Prediction in Triathletes | |
| Vaishnavi et al. | Nutrition Recommendation System for Sports Persons using Random Forest Algorithm |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |