Method and system for monitoring and assessing a strength resistance workout

The system addresses the challenge of inefficient workout tracking by providing real-time feedback and personalized recommendations using a sensor-device-server architecture, enhancing user engagement and training optimization.

US20260027417A1Pending Publication Date: 2026-01-29ISOMETRICS FITNESS LLC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
US19/017855
Authority / Receiving Office
US · United States
Patent Type
Applications(United States)
Current Assignee / Owner
Priority Date
2024-07-25
Filing Date
2025-01-13
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing weight training systems lack efficient methods to track workouts consistently and provide real-time feedback for improving and adjusting exercise regimens based on user data and historical trends.

Method used

A system comprising a sensor device, user device, and server that collects workout data, analyzes it in real-time and historically, provides personalized feedback, and generates workout recommendations using machine learning algorithms to optimize training efficacy and safety.

Benefits of technology

Enables real-time feedback and personalized workout recommendations, enhancing user engagement, motivation, and safety by adjusting exercise parameters based on user performance and historical data, thus optimizing training outcomes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US20260027417A1-D00000_ABST
    Figure US20260027417A1-D00000_ABST
Patent Text Reader

Abstract

Disclosed herein is a system for assessing a strength resistance workout, the system comprising a sensor device configured to measure at least one workout signal relating to measurement data associated with a movement of a weight; associate time data with the at least one workout signal; a user device configured to: receive workout data from the sensor device, the workout data comprising the at least one workout signal and the time data; receive user data provided from the input unit; a server configured to: obtain the workout data and the user data from the user device; analyze the workout data and the user data to assess a user workout according to predetermined workout parameters; generate a feedback notification; and, provide the feedback notification to the user device to facilitate presenting the feedback notification to a user.
Need to check novelty before this filing date? Find Prior Art

Description

RELATED APPLICATIONS

[0001] Benefit is claimed to U.S. provisional patent application Ser. No. 63 / 675,301, filed on Jul. 25, 2024, the contents of which are incorporated by reference herein in their entirety.FIELD

[0002] Disclosed herein generally relates to systems and methods for monitoring, tracking and assessing a weight training workout.BACKGROUND

[0003] Weight training is an exercise regimen that helps to improve health and muscle growth. Weight training requires maintaining a consistent schedule and an efficient manner to track the workout can help improve and adjust it as necessary.SUMMARY

[0004] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools and methods which are meant to be exemplary and illustrative, not limiting in scope.

[0005] There is provided in accordance with an embodiment, a system for assessing a strength resistance workout, the system including a sensor device configured to measure one or more workout signals relating to measurement data associated with a movement of a weight associate time data with the one or more workout signals, a user device configured to receive workout data from the sensor device, the workout data including the one or more workout signals and the time data, receive user data provided from the input unit, a server configured to obtain the workout data and the user data from the user device, analyze the workout data and the user data to assess a user workout according to predetermined workout parameters, generate a feedback notification, and provide the feedback notification to the user device to facilitate presenting the feedback notification to a user.

[0006] In some embodiments, the server is further configured to obtain historical workout data, analyze the historical workout data to determine trends, recognize patterns in the historical workout data, generate a personalized recommendation message based on the patterns recognized in the historical workout data, and provide the personalized recommendation message to the user device.

[0007] In some embodiments, the personalized recommendation message describes a personalized workout recommendation.

[0008] In some embodiments, the sensor device includes a connection element for attaching the housing to a weight machine.

[0009] In some embodiments, the server is further configured to generate an initial benchmark workout, provide the initial benchmark workout to the user device to be presented to the user, and collect the workout data associated with the initial benchmark workout.

[0010] In some embodiments, the server is further configured to generate a periodic benchmark workout, provide the periodic benchmark workout to the user device to be presented to the user, and collect the workout data associated with the periodic benchmark workout.

[0011] In some embodiments, the server is further configured to obtain feedback from the user device, wherein the feedback is provided by the user to the user device, analyze the feedback, and adjust the personalized recommendation for the user.

[0012] In some embodiments, the server analyzes the workout data in real-time and provides real-time feedback notifications to provide to the user device.

[0013] In some embodiments, the weights for which measurement data is received are part of a weight stack of a weight machine or of a free weight.

[0014] In some embodiments, the sensor device includes one or more sensors.

[0015] In some embodiments, the one or more sensors include a distance measuring sensor.

[0016] In some embodiments, the one or more sensors include an accelerometer.

[0017] In some embodiments, the server is further configured to collect acceleration data from the accelerometer, divide the acceleration data into a predetermined number of intervals, apply a Riemann Sum integration to the acceleration data, determine whether a velocity should be zero, perform a noise correction to the velocity when noise is detected in the velocity, provide an output velocity, read acceleration data received from the accelerometer, detect a rest phase according to the acceleration data, calculate a gravity vector, and apply the gravity vector to acceleration data.

[0018] In some embodiments, the one or more sensors include a gyroscope configured to record angular velocity, wherein the server is further configured to receive the angular velocity from the one or more sensors, define a horizontal plane according to the gravity vector, calculate a tilt angle relative to the horizontal plane, designate a tilt classification of the tilt angle, generate a feedback notice according to the tilt classification, and provide the feedback notice to the user device.

[0019] In some embodiments, the personalized recommendation message is provided to the user device in real-time during the workout of the user.

[0020] There is further provided in accordance with an embodiment, a method for assessing in real-time a user workout, the method including using one or more processors for obtaining workout data and user data from a user device, analyzing the workout data and the user data to assess a user workout according to predetermined workout parameters, generating a feedback notification, and providing the feedback notification to the user device to facilitate presenting the feedback notification to a user.

[0021] In some embodiments, the method further includes obtaining historical workout data, analyzing the historical workout data to determine trends, recognizing patterns in the historical workout data, generating a personalized recommendation message based on the patterns recognized in the historical workout data, and providing the personalized recommendation message to the user device.

[0022] In some embodiments, the method further includes generating an initial benchmark workout, providing the initial benchmark workout to the user device to be presented to the user, and collecting the workout data associated with the initial benchmark workout.

[0023] In some embodiments, the method further includes generating a periodic benchmark workout, providing the periodic benchmark workout to the user device to be presented to the user, collecting the workout data associated with the periodic benchmark workout, obtaining feedback from the user device, wherein the feedback is provided by the user to the user device analyzing the feedback, and adjusting the personalized recommendation for the user.

[0024] In some embodiments, the method further includes receiving workout data from a sensor device, the workout data comprising the one or more workout signals and the time data, and receiving the user data provided from an input unit of the user device.

[0025] In addition to the exemplary aspects and embodiments described above, further aspects and embodiments will become apparent by reference to the figures and by study of the following detailed description.BRIEF DESCRIPTION OF THE FIGURES

[0026] Some non-limiting exemplary embodiments or features of the disclosed subject matter are illustrated in the following drawings. Identical, duplicate, equivalent or similar structures, elements or parts that appear in one or more drawings are generally labeled with the same reference numeral, optionally with an additional letter or letters to distinguish between similar entities or variants of entities, and may not be repeatedly labeled and / or described.

[0027] Dimensions of components and features shown in the figures are chosen for convenience or clarity of presentation and are not necessarily shown to scale or true perspective. For convenience or clarity, some elements or structures are not shown or shown only partially and / or with different perspectives or from different points of view. References to previously presented elements are implied without necessarily further citing the drawing or description in which they appear.

[0028] FIG. 1 is a schematic illustration of a system for monitoring and assessing a strength resistance workout performed by a user using a weight machine, according to certain exemplary embodiments;

[0029] FIG. 2 is a schematic illustration of the system for monitoring and assessing a strength resistance workout performed by a user using free weights, according to certain exemplary embodiments;

[0030] FIGS. 3A-3B are schematic illustrations of a system for monitoring and assessing a strength resistance workout performed by a user using free weights where the movement includes an angle change, according to certain exemplary embodiments;

[0031] FIG. 4 is a schematic illustration of the sensor device of the system of FIG. 1, according to certain exemplary embodiments;

[0032] FIG. 5 is a schematic illustration of the user device of the system of FIG. 1, according to certain exemplary embodiments;

[0033] FIG. 6 is a schematic illustration of the server of the system of FIG. 1, according to certain exemplary embodiments;

[0034] FIG. 7 outlines operations of a method performed by the system of FIG. 1 for real-time feedback of the strength resistance workout, according to certain exemplary embodiments;

[0035] FIG. 8 outlines operations of a method performed by the system of FIG. 1 for analysis of historic workout data, according to certain exemplary embodiments;

[0036] FIG. 9 outlines operations of a method performed by the system of FIG. 1 for generating personalized benchmark workouts for a user, according to certain exemplary embodiments;

[0037] FIG. 10 outlines operations of a user interaction and feedback method performed by the system of FIG. 1, according to certain exemplary embodiments;

[0038] FIG. 11 outlines operations of computing velocity using acceleration data performed by the system of FIG. 1, according to certain exemplary embodiments;

[0039] FIG. 12 outlines operations of calibrating a gravity vector for accurate free-weight tracking by the system of FIG. 1, according to certain exemplary embodiments; and,

[0040] FIG. 13 outlines operations performed by the system of FIG. 1 for tracking stability and posture of a user, according to certain exemplary embodiments.DETAILED DESCRIPTION

[0041] Disclosed herein are a system and a method for monitoring, tracking, and modifying a strength resistance workout, according to some exemplary embodiments.

[0042] FIG. 1 is a schematic illustration of a system 100 for monitoring a strength resistance workout, according to certain exemplary embodiments. System 100 includes a sensor device 105, which is connected to a workout machine 110. The workout machine 110 includes a weight stack 111 that is connected to one or more cables 112 that facilitate movement of the weight stack 111 when exercise is performed by a user 120. Weight machine 110 includes a guide member 113 along which weight stack 111 moves along a predetermined linear path, for example, a vertical path as illustrated by arrow 114. In some embodiments, sensor device 105 includes a housing 106 having a connection element 107, which is configured to connect to guide member 113 and thereby be positioned in alignment with the movement direction of weight stack 111. It is appreciated by one skilled in the art that in some embodiments, connection element 107 can be configured to connect to weight stack 111 and thereby sensor device 105 moves with the weight stack 111 and thereby measures displacement from a frame 108 of weight machine 110. For both configurations sensor device 105 records displacement measurements of weight stack 111 during a workout.

[0043] System 100 includes a user device 150, for example, a smartphone, tablet, wearable devices or the like. User device 150 communicates with sensor device 105, for example, via a wireless connection, illustrated by arrow 155. For example, the wireless connection can include WiFi®, Bluetooth®, or the like. In some embodiments, user device 150 runs a fitness workout application that facilitates interaction with user 120 and presents workout information to user 120 as further described in conjunction with FIGS. 5-8.

[0044] System 100 includes a server 170, such as a cloud, which communicates with user device 150, for example, through wireless communication, such as WiFi® or the like, as illustrated by arrow 175. Server 170 receives workout data to analyze and assess workout patterns, generate a workout assessment model and provide personalized workout messages to user device 150 to provide workout suggestions and to provide injury prevention alerts.

[0045] In some embodiments, system 100 instructs user 120 to perform a benchmark workout thereby setting a preliminary assessment of a fitness level of user 120. The choice of exercise machines, as well as number of repetitions, weight and movement types will be recommended based on the historical exercise parameters recorded during a workout or as provided by user 120. The algorithm to construct the benchmark workout can be performed by using regression analysis and prediction of the workout ability of the user. The algorithm, for example, random forest, GBM or a neural network, or the like, would predict the weight based on historical workouts and would use classification models to select the class of number of sets and repetitions. The first benchmark workout does not have historical data, therefore the weight prediction for each machine and sets and reps classification would be determined based on similar (same class) of users.

[0046] In some embodiments, system 100 presents user 120 with a workout score. The score facilitates tracking the workout progress. In some embodiments, the workout score can be based on a user physiological baseline metrics, for example, gender, weight, height, age, BMI, resting heart rate, or the like. In some embodiments, the workout score can be based on the personal goals of user 120. For example, user 120 may want to increase stamina or posture. Server 170 or user device 150 can be configured to run software that can translate these goals into a set of features measured by sensor device 105 and build a regression formula to derive the workout score.

[0047] After a workout, user 120 can provide to system 100 a workout subjective feedback, which can include a plurality of parameters, such as a workout difficulty, a workout duration, a workout intensity, a pace of the exercise, satisfaction with selected exercises, recovery time, alignment of fitness goals, motivation and engagement in the workout, a physical response to the workout, the expectation versus the actuality of the workout, or the like. The workout feedback can be presented to user 120 via user device 150 as described in conjunction with FIG. 3.

[0048] In some embodiments, user device 150 is configured to provide a combination of visual, auditory, and haptic signals to guide user 120 during the workout, correcting form in real-time and advising on adjustments to prevent injury. System 100 can identify the base movement displacement of weight stack 111 according to the measurements by sensor device 105. During the workout, user device 150 can display a graph that represents the height of weight stack 111 over time to indicate whether an exercise is performed with a full range of motion, in the required period, or the like. User 120 can adjust his movement to make longer movements (displacement) or to make slower movements (velocity). In some embodiments, system 100 can track and display additional real-time parameters, such as time in concentric, eccentric, isometric workout states, movement completion rate, or the like. System 100 can alert if muscle fatigue level (shaking) exceeds a threshold or the like. For example, display a warning message or provide an audio warning via user device 150.

[0049] In some embodiments, system 100 is configured to provide workout motivation. Some of the questions presented to user 120 when to set a bench workout can include questions related to motivation engagement and expectations. System 100 tracks over time which users persist and those that quit the workout, as well as users that reduce or increase their workout routines. Using subjective answers, and workout parameters, and cross-correlating them with other users with similar answers can provide workout suggestions that also optimize motivation of the workout. In some embodiments, system 100 can integrate game-like elements such as achievements, leaderboards, and challenges based on real-time performance metrics to increase user engagement and motivation.

[0050] FIG. 2 is a schematic illustration of system 100 for monitoring and assessing a strength resistance workout performed by user 120 using a free weight 200, according to certain exemplary embodiments. In some embodiments, housing 106 is connected via connecting element 107 to free weight 200, thereby enabling sensor device 105 to measure the movement of free weight 200, for example, a vertical movement of free weight 200. Free weight can include a bar 205 and weights 210, 215 positioned at predetermined positions along bar 205.

[0051] FIGS. 3A-3B are schematic illustrations of system 100 for monitoring and assessing a strength resistance workout performed by user 120 using a free weight 300 performing a movement that includes an angle change, according to certain exemplary embodiments. Sensor device 105 connected to free weight 300. When user 120 performs a movement such as a bicep curl, the movement includes an angular movement, as represented by arrow 310.

[0052] FIG. 4 is a schematic illustration of sensor device 105, according to certain exemplary embodiments. Sensor device 105 includes one or more sensors 400, one of which may be a distance measurement sensor, for example, a radar sensor, an ultrasonic sensor, a laser sensor, or the like. One or more sensors are configured to receive displacement measurements that are associated with a movement of weight stack 111 (FIG. 1), free weight 210 (FIG. 2), and free weight 300 (FIGS. 3A-3B) during a workout of the user 120 (FIG. 1). Sensor device 105 includes one or more sensor processors 410 coupled to one or more sensors 400. In some embodiments, one or more sensor processors 410 can associate a time data, such as a time stamp, a time duration, or the like with the displacement measurements. Sensor device 105 includes a sensor device communication unit 405 configured to transmit displacement measurements and associated time-related data to user device 150 (FIG. 1). In some embodiments, sensor device communication unit 405 facilitates receiving commands from user device 150, for example, a command to start receiving and storing displacement measurements. Sensor device 105 includes a sensor device memory 415 configured to store displacement measurements and the associated time data.

[0053] In some embodiments, one or more sensors 400 can include an accelerometer sensor and a gyroscope sensor, which facilitate receiving accelerometer data and angle data associated with the movement of weights stack 111 (FIG. 1) or free weight 300 (FIG. 3). The start and stop of movement can be identified by the deceleration to zero velocity. Concentric and eccentric movements can be distinguished by changes in angle compared to the starting point and the negative or positive sign of the derived vertical velocity (FIG. 11).

[0054] FIG. 5 is a schematic illustration of a user device 150, according to certain exemplary embodiments User device 150 includes one or more device processors 500 configured to assess the user workout, as further described in conjunction with FIGS. 7-10. One or more processors 500 are coupled to a communication unit 505 configured to communicate with sensor device 105 (FIG. 1) and with server 170 (FIG. 1). One or more processors 500 are coupled to a user interface 510 and a display 515 to facilitate interaction with user 120 (FIG. 1). In some embodiments, user 120 can select a base category for a workout, based on providing responses to a plurality of questions regarding the workout goals and expectations of user 120.

[0055] One or more processors 500 are coupled to a memory, which stores computer software programs executed by one or more processors 500 to assess the workout. User device 150 is configured to execute an application to facilitate user interaction and for performing the fitness workout tracking and recommendation and running a fitness workout application.

[0056] FIG. 6 is a schematic illustration of server 170, according to certain exemplary embodiments. Server 170 includes one or more server processors 600 configured to generate a continuous real-time update model for tracking the workout of user 120 (FIG. 1). One or more server processors 600 are coupled to a server communication unit 605 that is configured to enable communication between server 170 and user device 150 (FIG. 1). One or more server processors 600 are coupled to server memory 610 that is configured to store data associated with the workout. In some embodiments, one or more server processors 600 can be configured to calculate optimal exercise parameters such as weights position, eccentric and concentric movement velocity, hold duration, hold distance (estimate joint angle), rest duration, and motion completeness. In some embodiments, one or more server processors 600 is configured to provide real-time feedback to the user 120 how to adjust a workout for maximum efficacy and safety. In some embodiments, real-time feedback can include injury prevention alerts, for example: muscle fatigue identified, reached isometric hold time target, reached isometric hold angle range, or the like. In some embodiments, one or more server processors 600 can be configured to generate a visual real-time movement graph, rest time between sets ended, movement too fast or too slow, and movement too short or too long, which are then provided to user device 150 and displayed for user 120.

[0057] In some embodiments, one or more server processors 600 can be configured to analyze long-term data to track progress, adjust future workouts, and optimize the exercise regimen based on past performance and progression trends.

[0058] FIG. 7 outlines operations of a method for real-time workout feedback performed by the system 100 (FIG. 1), according to certain exemplary embodiments. In operation 700, sensor device 105 (FIG. 1) collects workout data associated with the workout, for example, distance measurements, weight stack movements, or the like during the workout session. The workout data collected includes the signals of the distance measurements and the time-related data as described in conjunctions with FIGS. 1-3B.

[0059] In operation 705, sensor device 105 transmits the workout data to user device 150 (FIG. 1) which transmits the workout data to server 170 (FIG. 1).

[0060] In operation 710, server 170 determines whether the workout data has been received from user device 150.

[0061] If no data has been received, server 170 performs operation 715 to wait to receive new data. If server 170 has received data from sensor device 105, server 170 performs operation 720 and calculates parameters. User device 150 receives the workout data and calculates various workout parameters in real time. Parameters can include weight position, eccentric / concentric movement speed, hold duration, estimated joint angles or the like.

[0062] In operation 725, server 170 generates feedback about the workout performed by user 120 (FIG. 1). Based on the calculated parameters, server 170 generates real-time feedback for user 120. Feedback can include adjustments to form, pace, or intensity to maximize efficacy, safety or the like.

[0063] In operation 730, server 170 provides a feedback notification to user device 150 which displays the feedback notification, for example by displaying a feedback message on display 515 (FIG. 5). The feedback is delivered to user 120 through visual, auditory, and / or haptic signals via user device 150. Notifications may alert user 120 of muscle fatigue, optimal hold times, movement speed adjustments, or the like.

[0064] In operation 735, server 170 performs feedback integration. User 120 can provide reactions via user device 150 and adjustments that are performed during the workout session are collected by server 170 for further analysis and optimization of feedback analysis and assessment.

[0065] FIG. 8 outlines operations of a method performed by system 100 (FIG. 1) for analysis and assessment of workout data collected over a predetermined length of time, according to certain exemplary embodiments. In operation 800, server 170 retrieves historical workout data stored over a predetermined time period. For example, the historical workout data is stored in server memory 610 (FIG. 6).

[0066] In operation 805, server 170 performs a trend analysis of the historical workout data. The historical workout data is analyzed to identify trends and patterns in the user's workout history. The trends can include changes in performance, progression over time, areas of improvement, or the like. The trend identification relies on a long duration of workout data collected. For example, after three workouts server 170 can identify trends that enhance the workouts of user 120 (FIG. 1). For example, if the workouts were far apart, or there was some external element that disturbed the trend (the user was sick or on medicine some portion of the time). In this case, the system would have to wait for more data.

[0067] In operation 810, server 170 determines whether a trend has been identified.

[0068] In operation 815, server 170 does not identify any trends and waits for additional data to perform a trend analysis.

[0069] In operation 820, server 170 identifies one or more trends in the historic workout data and performs pattern recognition. Patterns in workout behavior, such as exercise preferences, frequency of workouts, intensity levels, or the like, are recognized. Patterns are recognized using time series techniques combined with machine learning for classification to a set of known progress patterns such as regression, stagnation, mild improvement, significant improvement, consistency, recovery, overtraining, injury risk or the like.

[0070] In operation 825, server 170 generates a personalized recommendation. The personalized recommendations are based on the analysis of trends and patterns of the personalized workouts. Recommendations can include adjustments to exercise regimen, intensity levels, rest intervals, or the like.

[0071] In operation 830, server 170 delivers the personalized recommendation to user device 150. On the user device 150, the personalized recommendation may be displayed as a visual message, an audio message or the like.

[0072] In operation 835, server 170 integrates feedback. User responses and actions taken based on the recommendations are recorded by system 100 to further refine the algorithm and improve future recommendations. User 120 can decide whether the system's analysis is correct, thereby providing positive feedback. In some embodiments, user 120 may also decide that the system analysis is incorrect, and provide this feedback to server 170 via user device 150. System 100 can interact with user 120 via user device 150 to obtain additional detailed feedback regarding specific classifications designated regarding the recommendation and incorporate the feedback to adjust and personalize the workout model.

[0073] FIG. 9 outlines operations of a method performed by system 100 (FIG. 1) for generating personalized benchmark workouts for user 120 (FIG. 1), according to certain exemplary embodiments. In operation 900, server 170 (FIG. 1) classifies all users into different categories based on a plurality of predetermined characteristics, such as fitness level, goals, preferences, or the like, and based on the historical workout data.

[0074] In operation 905, server 170 determines whether user 120 is a new user.

[0075] In operation 910, server 170 determines user 120 is a new user and therefore designates an initial benchmark workout. For new users or those without historical workout data, an initial benchmark workout is conducted to assess a baseline fitness level and capabilities. The benchmark workout includes a series of exercises targeting different muscle groups and fitness components, performed at moderate intensity and volume.

[0076] In operation 915, server 170 determines user 120 is not a new user and provides periodic benchmark workouts. Periodic benchmark workouts are conducted at regular intervals, for example, every few weeks or months, to assess progress and adjust workout parameters accordingly. In some embodiments, the choice of exercises, intensity levels, repetitions, sets, and rest intervals for benchmark workouts are based on the user's category and historical workout data.

[0077] In operation 920, server 170 performs data analysis and prediction. For user 120 who is not a new user, the historical workout data is analyzed to identify trends, patterns, and progression trends specific to each user category. For new users, the analysis is based only on the initial benchmark workout. Machine learning algorithms, such as regression analysis, random forest, gradient boosting, neural networks, or the like are used to predict future workout parameters based on historical workout data and user characteristics.

[0078] In operation 925, server 170 generates a workout recommendation. Based on the predicted workout parameters and the user category, personalized benchmark workouts are customized for each user. The algorithm selects appropriate exercises, sets, repetitions, weights, and or the like to optimize training effectiveness and progression for user 120.

[0079] In operation 930, server 170 provides the workout recommendation to user device 150 (FIG. 1). The personalized benchmark workout recommendations are delivered to user 120 through user device 150. The workout recommendations can include detailed workout plans, exercise instructions, progression guidelines, and motivational cues tailored to the user's goals or the like.

[0080] In operation 935 server 170 integrates feedback received after the performance of the benchmark workouts. User feedback and performance data from benchmark workouts are integrated back into the algorithm to refine future recommendations and improve accuracy. Feedback may include subjective ratings, perceived difficulty, satisfaction levels, and adherence to the prescribed workout regimen.

[0081] FIG. 10 outlines operations of a user interaction and feedback method performed by system 100 (FIG. 1), according to certain exemplary embodiments. In operation 1000, server 170 (FIG. 1) performs feedback collection. After completing a workout session, user 120 (FIG. 1) is prompted to provide feedback on various aspects of their experience, for example, by user device 150 (FIG. 1). In some embodiments, user device 150 presents an in-app survey, questionnaires, direct input fields or the like to collect the feedback. User device 150 transmits feedback to server 170.

[0082] In operation 1005, server 170 analyzes the parameter. The feedback collected are analyzed to extract meaningful insights regarding the user's workout experience. Parameters such as workout difficulty, duration, intensity, satisfaction, pacing, recovery time, alignment with fitness goals, motivation, physical response, and expectations vs. reality, or the like are evaluated. A user may choose to enter feedback showing satisfaction from the selected workout plan, which will lead the algorithm to decide to follow the existing workout plan. In some embodiments, repeated complaints about the workouts being too easy or too hard, or even subjective feedback saying that the user does not like a certain machine, will also lead to adjustments in the workout plan.

[0083] In operation 1010, server 170 processes the feedback to identify trends, patterns, and areas for improvement. Machine learning algorithms may be employed to categorize feedback responses, detect anomalies, and derive actionable insights.

[0084] In operation 1020, server 170 generates a recommendation. Based on the analysis of the feedback responses, server 170 generates personalized recommendations to enhance and improve the workout. The recommendations can include adjustments to workout parameters, exercise selection, intensity levels, rest intervals, motivational strategies or the like.

[0085] In operation 1020, server 170 provides the recommendation to user device 150. The personalized adjustment recommendations are delivered to user 120 through the smartphone application or the like. Recommendations may be provided as notifications, reminders, or suggestions within the user device application.

[0086] In operation 1025, server 170 closes the feedback loop. User actions and responses to the adjustment recommendations are monitored and recorded to close the feedback loop. Performance improvements, user satisfaction levels, and adherence to the recommended adjustments are tracked over time.

[0087] In operation 1030, server 170 continuously integrates improvements and refinements into the workout in accordance with the methods disclosed herein. The feedback loop informs ongoing iterations and refinements of system 100, aiming to enhance user experience, effectiveness, and satisfaction. Insights gained from user feedback contribute to the development of new features, algorithm improvements, and overall system optimization.

[0088] FIG. 11 outlines operations of computing velocity using acceleration data performed by the system 100 (FIG. 1), according to certain exemplary embodiments. In operation 1100, system server 170 collects acceleration data. System 100 is configured to compute a velocity based on momentary acceleration data, which his tailored for free weight and resistance training exercises.

[0089] Traditional methods to derive the velocity from acceleration rely on the function:v⁢ (t)=∫a⁢ (t)⁢ dt+C,which works when acceleration is continuous and an object is in free fall. For exercise measurements, this method is impractical due to the fact that the sensor measurements are momentary rather than continuous and that the exercise movement represents an acceleration pattern that cannot be captured by a function, as opposed to the aforementioned free-falling object. Rather, system 100 utilizes a Riemann sum-based numerical integration approach.

[0091] In operation 1105, server 170 divides the acceleration data into predetermined intervals. Server 170 divides the acceleration data into discrete intervals and then sums the intervals to estimate the velocity over time. In some cases, each interval is determined between two consecutive measurements.

[0092] In operation 1110, server 170 applies a Riemann Sum Integration to the acceleration data.

[0093] In operation 1115, server 170 determines whether the velocity should be zero.

[0094] In operation 1120, the server determines that the velocity should be zero and corrects the velocity data for noise. To address noise and cumulative errors, server 170 identifies phases where velocity is expected to equal zero. These points—such as the peak of a weight lift or the bottom of a weight-lowering phase—are predetermined based on the specific exercise performed by the user. When the velocity values near these phases deviate from zero due to noise, server 170 corrects the deviation by snapping the value to zero thereby ensuring accuracy. This enables precise tracking of the velocity at which the exercise is performed across diverse movement patterns thereby enhancing the reliability of the other implemented methods and provided performance metrics.

[0095] In operation 1125, if the velocity should not be zero or after the data is corrected for noise, server 170 provides an output velocity.

[0096] FIG. 12 outlines operations of calibrating a gravity vector “G(x,y,z)” for accurate free-weight tracking by system 100 (FIG. 1), according to certain exemplary embodiments. Accurate alignment of the gravity vector ensures that subsequent acceleration, velocity, and displacement measurements remain consistent and reliable. Another problem with accelerometers is that their alignment tends to drift over time, therefore the x, y, z axis needs to be calibrated to ensure proper alignment.

[0097] Calibration is performed during detected rest phases, typically lasting 1-2 seconds, where acceleration readings are static. During this period, the system records acceleration data to calculate the gravity vector, representing gravitational force along the device's x, y, and z axes. This vector serves as a reference for all movement calculations, aligning them with the true direction of motion. For example, it may be that gravity is mostly aligned to the y-axis of the device when attached to a weight. The system dynamically recalibrates the gravity vector whenever new rest phases are detected, allowing it to adapt to changes in barbell orientation mid-exercise. This process directly improves the accuracy of exercise-specific metrics, ensuring precise performance analysis across a wide range of movements.

[0098] In operation 1205, server 170 detects a rest phase. Server 170 determines that the static acceleration is a rest phase in the movement of the weight 200 or weight 300.

[0099] In operation 1210, server 170 records static acceleration data. Server 170 receives acceleration data from one or more sensors 105. The server 170 then recognizes static acceleration in the acceleration data, in which there is no change in the acceleration of the weight 205 (FIG. 2) or weight 300 (FIG. 3A-3B).

[0100] In operation 1215, server 170 calculates a gravity vector “G(x,y,z)”. When sensor device 105 (FIGS. 3A-3B) is attached to a free weight 300, the initial orientation of sensor device 105 is unknown and may change based on the movement of the free weight 300 or barbell 205 (FIG. 2).

[0101] In operation 1220, server 170 reads the static acceleration data.

[0102] In operation 1225, server 170 applies the gravity vector to the data and performs a computation of the read static acceleration data.

[0103] In operation 1230, server 170 generates a corrected data output.

[0104] In operation 1235, server 170 determines whether weight 205 or weight 300 is in a rest state. Where the server 170 determines that weight 205 or weight 305 are not in a rest state, then server 170 returns to perform operation 1220.

[0105] In operation 1235, server 170 determines that the weight is in a rest state and therefore recalibrates the gravity vector G(x,y,z).

[0106] FIG. 13 outlines operations performed by system 100 (FIG. 1) for tracking the stability and posture of a user, according to certain exemplary embodiments. In operation 1305, server 170 (FIG. 1) receives measurements from sensor device 105 (FIG. 1). Sensor device 105 includes one or more sensors 410 (FIG. 4) which includes a gyroscope sensor for recording angular velocity data. Server 170 receives the angular velocity data from sensor device 105. The angular velocity data enables server to perform real-time tracking of stability and posture during free-weight exercises involving barbell 205 (FIG. 2). This facilitates enhancing performance analysis and safety by detecting deviations in the barbell's orientation relative to the ground. The gyroscope sensor measures angular velocity along multiple axes to assess the barbell's orientation during performance of exercises. By integrating angular velocity over time, server 107 calculates the barbell's tilt angle relative to the horizontal plane. Identifying what is the horizontal plane with respect to the sensor device 105 is achieved by using the calculated gravity vector as described in conjunction with FIG. 12.

[0107] In operation 1310, server 170 uses the gravity vector to define a horizontal plane.

[0108] In operation 1320, server 170 generates a tilt classification. Based on the horizontal plain, server 170 calculates a tilt angle relative to the horizontal plane. Server 170 then evaluates the tilt of weight 205 (FIG. 2 (or weight 300 (FIGS. 3A-3B) using predefined thresholds. For example, thresholds can include: a parallel when a tilt angle is ≤5% tilt, which indicates stable posture, requiring no adjustment; moderately tilted when a tilt angle is between >5% and ≤15%, which suggests minor imbalances, prompting corrective feedback to the user; highly tilted, the tiled angle is >15%, which warns of significant instability, which may indicate improper form, uneven weight distribution, or safety risks.

[0109] In operation 1325, server 170 generates a stable position notice tilt angle is ≤5% tilt, which indicates stable posture, requiring no adjustment.

[0110] In operation 1330, server 170 generates a corrective feedback notice for form adjustment when it is detected that there is moderate tilting when a tilt angle is between >5% and ≤15%, which suggests minor imbalances, prompting corrective feedback to the user.

[0111] In operation 1335, server 170 generates a warning notice due to significant instability. Server 170 generates a warning notice, for example, when the when the tilt angle is >15%.

[0112] In operation 1340, server 170 provides the feedback notice to user device 150 (FIG. 1).

[0113] It is appreciated by one skilled in the art that the operations outlined in the methods of FIGS. 7-13 can also be performed by device processor 500 (FIG. 5).

[0114] In the context of some embodiments of the present disclosure, by way of example and without limiting, terms such as ‘operating’ or ‘executing’ imply also capabilities, such as ‘operable’ or ‘executable’, respectively.

[0115] Conjugated terms such as, by way of example, ‘a thing property’ implies a property of the thing, unless otherwise clearly evident from the context thereof.

[0116] The terms ‘processor’ or ‘computer’, or system thereof, are used herein as the ordinary context of the art, such as a general-purpose processor or a microprocessor, RISC processor, or DSP, possibly comprising additional elements such as memory or communication ports. Optionally or additionally, the terms ‘processor’ or ‘computer’ or derivatives thereof denote an apparatus that is capable of carrying out a provided or an incorporated program and / or is capable of controlling and / or accessing data storage apparatus and / or other apparatus such as input and output ports. The terms ‘processor’ or ‘computer’ denote also a plurality of processors or computers connected, and / or linked and / or otherwise communicating, possibly sharing one or more other resources such as a memory.

[0117] The terms ‘software’, ‘program’, ‘software procedure’ or ‘procedure’ or ‘software code’ or ‘code’ or ‘application’ may be used interchangeably according to the context thereof, and denote one or more instructions or directives or circuitry for performing a sequence of operations that generally represent an algorithm and / or other process or method. The program is stored in or on a medium such as RAM, ROM, or disk, or embedded in a circuitry accessible and executable by an apparatus such as a processor or other circuitry.

[0118] The processor and program may constitute the same apparatus, at least partially, such as an array of electronic gates, such as FPGA or ASIC, designed to perform a programmed sequence of operations, optionally comprising or linked with a processor or other circuitry.

[0119] The term computerized apparatus or a computerized system or a similar term denotes an apparatus comprising one or more processors operable or operating according to one or more programs.

[0120] As used herein, without limiting, a module represents a part of a system, such as a part of a program operating or interacting with one or more other parts on the same unit or on a different unit, or an electronic component or assembly for interacting with one or more other components.

[0121] As used herein, without limiting, a process represents a collection of operations for achieving a certain objective or an outcome.

[0122] As used herein, the term ‘server’ denotes a computerized apparatus providing data and / or operational service or services to one or more other apparatuses.

[0123] As used herein, the term ‘cloud’ denotes a computerized apparatus providing data and / or operational service or services to one or more other apparatuses.

[0124] The term ‘configuring’ and / or ‘adapting’ for an objective, or a variation thereof, implies using at least a software and / or electronic circuit and / or auxiliary apparatus designed and / or implemented and / or operable or operative to achieve the objective.

[0125] A device storing and / or comprising a program and / or data constitutes an article of manufacture. Unless otherwise specified, the program and / or data are stored in or on a non-transitory medium.

[0126] In case electrical or electronic equipment is disclosed it is assumed that an appropriate power supply is used for the operation thereof.

[0127] The flowchart and block diagrams illustrate architecture, functionality, or an operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosed subject matter. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of program code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, illustrated or described operations may occur in a different order or in combination or as concurrent operations instead of sequential operations to achieve the same or equivalent effect.

[0128] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising” and / or “having” and / or “includes” and / or “including” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0129] As used herein the term “configuring” and / or ‘adapting’ for an objective, or a variation thereof, implies using materials and / or components in a manner designed for and / or implemented and / or operable or operative to achieve the objective.

[0130] Unless otherwise specified, the terms ‘about’ and / or ‘close’ and / or ‘substantially’ with respect to a magnitude or a numerical value imply within an inclusive range of −10% to +10% of the respective magnitude or value.

[0131] Unless otherwise specified, the terms ‘about’ and / or ‘close’ and / or ‘substantially’ with respect to a dimension or extent, such as length, imply within an inclusive range of −10% to +10% of the respective dimension or extent.

[0132] Unless otherwise specified, the terms ‘about’ or ‘close’ or ‘substantially’ imply at or in a region of, or close to a location or a part of an object relative to other parts or regions of the object.

[0133] When a range of values is recited, it is merely for convenience or brevity and includes all the possible sub-ranges as well as individual numerical values within and about the boundary of that range. Any numeric value, unless otherwise specified, includes also practical close values enabling an embodiment or a method, and integral values do not exclude fractional values. Sub-range values and practical close values should be considered as specifically disclosed values.

[0134] As used herein, ellipsis ( . . . ) between two entities or values denotes an inclusive range of entities or values, respectively. For example, A . . . Z implies all the letters from A to Z, inclusively.

[0135] The present invention may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium (or media) with computer-readable program instructions, thereby causing a processor to carry out aspects of the present invention.

[0136] The computer-readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device having instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire. Rather, the computer-readable storage medium is a non-transient (i.e., not-volatile) medium.

[0137] Computer-readable program instructions described herein can be downloaded to respective computing / processing devices from a computer-readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0138] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.

[0139] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0140] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.

[0141] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0142] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0143] The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the embodiments described. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

[0144] Terms in the claims that follow should be interpreted, without limiting, as characterized or described in the specification.

Claims

1. A system for assessing a strength resistance workout, the system comprising:a sensor device configured to:measure at least one workout signal relating to measurement data associated with a movement of a weight;associate time data with the at least one workout signal;a user device configured to:receive workout data from the sensor device, the workout data comprising the at least one workout signal and the time data;receive user data provided from the input unit;a server configured to:obtain the workout data and the user data from the user device;analyze the workout data and the user data to assess a user workout according to predetermined workout parameters;generate a feedback notification; and,provide the feedback notification to the user device to facilitate presenting the feedback notification to a user.

2. The system according to claim 1, wherein the server is further configured to:obtain historical workout data;analyze the historical workout data to determine trends;recognize patterns in the historical workout data;generate a personalized recommendation message based on the patterns recognized in the historical workout data; and,provide the personalized recommendation message to the user device.

3. The system according to claim 2, wherein the personalized recommendation message describes a personalized workout recommendation.

4. The system according to claim 1, wherein the sensor device comprises:a connection element for attaching the housing to a weight machine.

5. The system according to claim 1, wherein the server is further configured to:generate an initial benchmark workout;provide the initial benchmark workout to the user device to be presented to the user; and,collect the workout data associated with the initial benchmark workout.

6. The system according to claim 1, wherein the server is further configured to:generate a periodic benchmark workout;provide the periodic benchmark workout to the user device to be presented to the user; and,collect the workout data associated with the periodic benchmark workout.

7. The system according to claim 1, wherein the server is further configured to:obtain feedback from the user device, wherein the feedback is provided by the user to the user device;analyze the feedback; and,adjust the personalized recommendation for the user.

8. The system according to claim 1, wherein the server analyzes the workout data in real-time and provides real-time feedback notifications to provide to the user device.

9. The system according to claim 1, wherein the weights for which measurement data is received are part of a weight stack of a weight machine or of a free weight.

10. The system according to claim 1, wherein the sensor device comprises at least one sensor.

11. The system according to claim 10, wherein the at least one sensor is a distance measuring sensor.

12. The system according to claim 10, wherein the at least one sensor includes an accelerometer.

13. The system according to claim 12, wherein the server is further configured to:collect acceleration data from the accelerometer;divide the acceleration data into a predetermined number of intervals;apply a Riemann Sum integration to the acceleration data;determine whether a velocity should be zero;perform a noise correction to the velocity when noise is detected in the velocity;provide an output velocity;read acceleration data received from the accelerometer;detect a rest phase according to the acceleration data;calculate a gravity vector; and,apply the gravity vector to acceleration data.

14. The system according to claim 13, wherein the at least one sensor includes a gyroscope configured to record angular velocity;wherein the server is further configured to:receive the angular velocity from the at least one sensor;define a horizontal plane according to the gravity vector;calculate a tilt angle relative to the horizontal plane;designate a tilt classification of the tilt angle;generate a feedback notice according to the tilt classification;provide the feedback notice to the user device.

15. The system according to claim 1, wherein the personalized recommendation message is provided to the user device in real-time during the workout of the user.

16. A method for assessing in real-time a user workout, the method comprising using at least one processor for:obtaining workout data and user data from a user device;analyzing the workout data and the user data to assess a user workout according to predetermined workout parameters;generating a feedback notification; and,providing the feedback notification to the user device to facilitate presenting the feedback notification to a user.

17. The method according to claim 16, further comprising:obtaining historical workout data;analyzing the historical workout data to determine trends;recognizing patterns in the historical workout data;generating a personalized recommendation message based on the patterns recognized in the historical workout data; and,providing the personalized recommendation message to the user device.

18. The method according to claim 16, further comprising:generating an initial benchmark workout;providing the initial benchmark workout to the user device to be presented to the user; and,collecting the workout data associated with the initial benchmark workout.

19. The method according to claim 16, further comprising:generating a periodic benchmark workout;providing the periodic benchmark workout to the user device to be presented to the user;collecting the workout data associated with the periodic benchmark workout;obtaining feedback from the user device, wherein the feedback is provided by the user to the user device;analyzing the feedback; and,adjusting the personalized recommendation for the user.

20. The method according to claim 16, further comprising:receiving workout data from a sensor device, the workout data comprising the at least one workout signal and the time data; andreceiving the user data provided from an input unit of the user device.

Citation Information

Patent Citations

  • Manufactures and graphical interfaces rendering gait acceleration data in three dimensions

    US10220577B1

  • Performance monitoring systems and methods for edging sports

    US20160038788A1

  • Stylus for coordinate measuring

    US20180081455A1

  • Racking and unracking exercise machine

    US20200054914A1

  • Exercise device

    US20230277892A1