Systems and methods for real-time data quantification, acquisition, analysis and feedback
First Claim
1. A method for monitoring motion parameters and providing near-instantaneous user feedback from real-time motion sensor data comprising:
- loading a template motion profile, the template motion profile describing a multi-dimensional representation of acceleration and orientation over time;
receiving, from one or more inertial measurement units, real-time sensor data from a motion sensor while a user performs a test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion;
calculating a test motion profile based on the real-time sensor data from the one or more inertial measurement units, the test motion profile describing a multi-dimensional representation of the test motion performed by the user;
comparing the template motion profile to the test motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile by calculating the aggregate difference between the test motion profile and template motion profile over a predefined period of time using the real-time sensor data from the one or more inertial measurement units;
providing to the user, responsive to determining the calculated aggregate difference between the test motion profile and template motion profile exceeds a predetermined threshold aggregate difference amount, feedback based on a magnitude of the calculated aggregate difference, wherein the user receives the feedback between 5 and 20 milliseconds after receiving the real-time sensor data from the motion sensor;
receiving, from the one or more inertial measurement units, a plurality of sets of motion sensor data from a motion sensor, each of the plurality of sets of sensor data being captured while the user performs the test motion at chronologically distinct time periods, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion;
calculating a plurality of test motion profiles corresponding to the received plurality of sets of motion sensor data at the chronologically distinct time periods, the test motion profiles describing position and orientation of the motion sensor over time while the user performs the test motion;
comparing the plurality of test motion profiles to the template motion profile to determine a change in deviation from the template motion profile over time and an average deviation between each of the plurality of the test motion profiles at the chronologically distinct time periods; and
if it is determined that the change in deviation over time decreases at a rate that is greater than a pre-determined threshold rate or determined that the average deviation is less than a pre-determined deviation threshold, then generating an updated template motion profile and generating instructions for the user to perform an updated motion corresponding to the updated template motion profile.
3 Assignments
0 Petitions
Accused Products
Abstract
This disclosure relates to systems, media, and methods for quantifying and monitoring exercise parameters and/or motion parameters, including performing data acquisition, analysis, and providing scientifically valid, clinically relevant, and/or actionable diagnostic feedback. Disclosed embodiments may receive real-time sensor data from a motion sensor or sensors mounted on a user and/or equipment while a user performs a test motion. Disclosed embodiments may also calculate a test motion profile based on the real-time sensor data, the test motion profile describing a multi-dimensional representation of the test motion performed by the user or computed motion profiles. Disclosed embodiments may include comparing the test motion profile to a template motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile. Still further embodiments may correlate test motion profiles over time with health indicators.
-
Citations
24 Claims
-
1. A method for monitoring motion parameters and providing near-instantaneous user feedback from real-time motion sensor data comprising:
-
loading a template motion profile, the template motion profile describing a multi-dimensional representation of acceleration and orientation over time; receiving, from one or more inertial measurement units, real-time sensor data from a motion sensor while a user performs a test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a test motion profile based on the real-time sensor data from the one or more inertial measurement units, the test motion profile describing a multi-dimensional representation of the test motion performed by the user; comparing the template motion profile to the test motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile by calculating the aggregate difference between the test motion profile and template motion profile over a predefined period of time using the real-time sensor data from the one or more inertial measurement units; providing to the user, responsive to determining the calculated aggregate difference between the test motion profile and template motion profile exceeds a predetermined threshold aggregate difference amount, feedback based on a magnitude of the calculated aggregate difference, wherein the user receives the feedback between 5 and 20 milliseconds after receiving the real-time sensor data from the motion sensor; receiving, from the one or more inertial measurement units, a plurality of sets of motion sensor data from a motion sensor, each of the plurality of sets of sensor data being captured while the user performs the test motion at chronologically distinct time periods, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a plurality of test motion profiles corresponding to the received plurality of sets of motion sensor data at the chronologically distinct time periods, the test motion profiles describing position and orientation of the motion sensor over time while the user performs the test motion; comparing the plurality of test motion profiles to the template motion profile to determine a change in deviation from the template motion profile over time and an average deviation between each of the plurality of the test motion profiles at the chronologically distinct time periods; and if it is determined that the change in deviation over time decreases at a rate that is greater than a pre-determined threshold rate or determined that the average deviation is less than a pre-determined deviation threshold, then generating an updated template motion profile and generating instructions for the user to perform an updated motion corresponding to the updated template motion profile. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for monitoring motion parameters and providing near-instantaneous user feedback from real-time motion sensor data comprising:
-
loading a template motion profile, the template motion profile describing a multi-dimensional representation of acceleration and orientation over time; receiving, from one or more inertial measurement units, real-time sensor data from a motion sensor while a user performs a test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a test motion profile based on the real-time sensor data from the one or more inertial measurement units, the test motion profile describing a multi-dimensional representation of the test motion performed by the user; comparing the template motion profile to the test motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile by calculating the aggregate difference between the test motion profile and template motion profile over a predefined period of time using the real-time sensor data from the one or more inertial measurement units; providing to the user, responsive to determining the calculated aggregate difference between the test motion profile and template motion profile exceeds a predetermined threshold aggregate difference amount, feedback based on a magnitude of the calculated aggregate difference, wherein the user receives the feedback between 5 and 20 milliseconds after receiving the real-time sensor data from the motion sensor; receiving, from the one or more inertial measurement units, a plurality of sets of motion sensor data from a motion sensor, each of the plurality of sets of sensor data being captured while the user performs the test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a plurality of test motion profiles corresponding to the received plurality of sets of motion sensor data, the test motion profiles describing position and orientation of the motion sensor over time while the user performs the test motion; comparing the plurality of test motion profiles to the template motion profile to determine a deviation from the template motion profile over time and an average deviation; providing to a third party, using a graphical user interface and in real-time, a visual indication of the plurality of test motion profiles in relation to the template motion profile, the deviation from the template motion profile over time, and the average deviation, the graphical user interface including a selection area for the third party to provide feedback to the user, including selecting a feedback mechanism to provide the feedback and an output pattern for the selected feedback mechanism; and responsive to receiving a selection from the third party at the selection area of the graphical user interface, generating a signal to provide real-time feedback to the user based on the selected feedback mechanism and the selected output pattern for the selected feedback mechanism. - View Dependent Claims (8)
-
-
9. A system for monitoring motion parameters and providing near-instantaneous user feedback from real-time motion sensor data comprising:
-
a motion sensor that includes one or more inertial measurement units; a non-transitory computer readable storage medium configured to store instructions; and one or more processors programmed to execute the stored instructions to; load a template motion profile, the template motion profile describing a multi-dimensional representation of acceleration and orientation over time; receive, from the one or more inertial measurement units, real-time sensor data from a motion sensor while a user performs a test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculate a test motion profile based on the real-time sensor data from the one or more inertial measurement units, the test motion profile describing a multi-dimensional representation of the test motion performed by the user; compare the template motion profile to the test motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile by calculating the aggregate difference between the test motion profile and template motion profile over a predefined period of time using the real-time sensor data from the one or more inertial measurement units; provide to the user, responsive to determining the calculated aggregate difference between the test motion profile and template motion profile exceeds a predetermined threshold aggregate difference amount, feedback based on a magnitude of the calculated aggregate difference, wherein the user receives the feedback between 5 and 20 milliseconds after receiving the real-time sensor data from the motion sensor; receive, from the one or more inertial measurement units, a plurality of sets of motion sensor data from a motion sensor, each of the plurality of sets of sensor data being captured while the user performs the test motion at chronologically distinct time periods, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculate a plurality of test motion profiles corresponding to the received plurality of sets of motion sensor data at the chronologically distinct time periods, the test motion profiles describing position and orientation of the motion sensor over time while the user performs the test motion; compare the plurality of test motion profiles to the template motion profile to determine a change in deviation from the template motion profile over time and an average deviation between each of the plurality of the test motion profiles at the chronologically distinct time periods; and if it is determined that the change in deviation over time decreases at a rate that is greater than a pre-determined threshold rate or determined that the average deviation is less than a pre-determined deviation threshold, then generating an updated template motion profile and generating instructions for the user to perform an updated motion corresponding to the updated template motion profile. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system for monitoring motion parameters and providing near-instantaneous user feedback from real-time motion sensor data comprising:
-
a motion sensor that includes one or more inertial measurement units; a non-transitory computer readable storage medium configured to store instructions; and one or more processors programmed to execute the stored instructions to; load a template motion profile, the template motion profile describing a multi-dimensional representation of acceleration and orientation over time; receive, from the one or more inertial measurement units, real-time sensor data from a motion sensor while a user performs a test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculate a test motion profile based on the real-time sensor data from the one or more inertial measurement units, the test motion profile describing a multi-dimensional representation of the test motion performed by the user; compare the template motion profile to the test motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile by calculating the aggregate difference between the test motion profile and template motion profile over a predefined period of time using the real-time sensor data from the one or more inertial measurement units; provide to the user, responsive to determining the calculated aggregate difference between the test motion profile and template motion profile exceeds a predetermined threshold aggregate difference amount, feedback based on a magnitude of the calculated aggregate difference, wherein the user receives the feedback between 5 and 20 milliseconds after receiving the real-time sensor data from the motion sensor; receive, from one or more inertial measurement units, a plurality of sets of motion sensor data from a motion sensor, each of the plurality of sets of sensor data being captured while the user performs the test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculate a plurality of test motion profiles corresponding to the received plurality of sets of motion sensor data, the test motion profiles describing position and orientation of the motion sensor over time while the user performs the test motion; compare the plurality of test motion profiles to the template motion profile to determine a deviation from the template motion profile over time and an average deviation; provide to a third party, using a graphical user interface and in real-time, a visual indication of the plurality of test motion profiles in relation to the template motion profile, the deviation from the template motion profile over time, and the average deviation, the graphical user interface including a selection area for the third party to provide feedback to the user, including selecting a feedback mechanism to provide the feedback and an output pattern for the selected feedback mechanism; and responsive to receiving a selection from the third party at the selection area of the graphical user interface, generate a signal to provide real-time feedback to the user based on the selected feedback mechanism and the selected output pattern for the selected feedback mechanism. - View Dependent Claims (16)
-
-
17. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
loading a template motion profile, the template motion profile describing a multi-dimensional representation of acceleration and orientation over time; receiving, from one or more inertial measurement units, real-time sensor data from a motion sensor while a user performs a test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a test motion profile based on the real-time sensor data from the one or more inertial measurement units, the test motion profile describing a multi-dimensional representation of the test motion performed by the user; comparing the template motion profile to the test motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile by calculating the aggregate difference between the test motion profile and template motion profile over a predefined period of time using the real-time sensor data from the one or more inertial measurement units; providing to the user, responsive to determining the calculated aggregate difference between the test motion profile and template motion profile exceeds a predetermined threshold aggregate difference amount, feedback based on a magnitude of the calculated aggregate difference, wherein the user receives the feedback between 5 and 20 milliseconds after receiving the real-time sensor data from the motion sensor; receiving, from the one or more inertial measurement units, a plurality of sets of motion sensor data from a motion sensor, each of the plurality of sets of sensor data being captured while the user performs the test motion at chronologically distinct time periods, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a plurality of test motion profiles corresponding to the received plurality of sets of motion sensor data at the chronologically distinct time periods, the test motion profiles describing position and orientation of the motion sensor over time while the user performs the test motion; comparing the plurality of test motion profiles to the template motion profile to determine a change in deviation from the template motion profile over time and an average deviation between each of the plurality of the test motion profiles at the chronologically distinct time periods; and if it is determined that the change in deviation over time decreases at a rate that is greater than a pre-determined threshold rate or determined that the average deviation is less than a pre-determined deviation threshold, then generating an updated template motion profile and generating instructions for the user to perform an updated motion corresponding to the updated template motion profile. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
loading a template motion profile, the template motion profile describing a multi-dimensional representation of acceleration and orientation over time; receiving, from one or more inertial measurement units, real-time sensor data from a motion sensor while a user performs a test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a test motion profile based on the real-time sensor data from the one or more inertial measurement units, the test motion profile describing a multi-dimensional representation of the test motion performed by the user; comparing the template motion profile to the test motion profile to determine a deviation amount for the test motion profile indicating how the test motion deviated from the template motion profile by calculating the aggregate difference between the test motion profile and template motion profile over a predefined period of time using the real-time sensor data from the one or more inertial measurement units; providing to the user, responsive to determining the calculated aggregate difference between the test motion profile and template motion profile exceeds a predetermined threshold aggregate difference amount, feedback based on a magnitude of the calculated aggregate difference, wherein the user receives the feedback between 5 and 20 milliseconds after receiving the real-time sensor data from the motion sensor; receiving, from the one or more inertial measurement units, a plurality of sets of motion sensor data from a motion sensor, each of the plurality of sets of sensor data being captured while the user performs the test motion, the motion sensor being attached to the user or equipment operated by the user with which the user performs the test motion; calculating a plurality of test motion profiles corresponding to the received plurality of sets of motion sensor data, the test motion profiles describing position and orientation of the motion sensor over time while the user performs the test motion; comparing the plurality of test motion profiles to the template motion profile to determine a deviation from the template motion profile over time and an average deviation; providing to a third party, using a graphical user interface and in real-time, a visual indication of the plurality of test motion profiles in relation to the template motion profile, the deviation from the template motion profile over time, and the average deviation, the graphical user interface including a selection area for the third party to provide feedback to the user, including selecting a feedback mechanism to provide the feedback and an output pattern for the selected feedback mechanism; and responsive to receiving a selection from the third party at the selection area of the graphical user interface, generating a signal to provide real-time feedback to the user based on the selected feedback mechanism and the selected output pattern for the selected feedback mechanism. - View Dependent Claims (24)
-
Specification