METHOD AND SYSTEM FOR DELIVERING BIOMECHANICAL FEEDBACK TO HUMAN AND OBJECT MOTION
A method and system to deliver biomechanical feedback utilizes three major elements: (1) multiple hardware data capture devices, including optical motion capture, inertial measurement units, infrared scanning devices, and two-dimensional RGB consecutive image capture devices, (2) a cross-platform compatible physics engine compatible with optical motion capture, inertial measurement units, infrared scanning devices, and two-dimensional RGB consecutive image capture devices, and (3) interactive platforms and user-interfaces to deliver real-time feedback to motions of human subjects and any objects in their possession and proximity.
This disclosure relates to a method and system for delivering biomechanical feedback to human and object motions.
BACKGROUND OF INVENTIONSystems capable of delivering human and object motion currently exist but are typically very sophisticated and expensive. As well, the format of the feedback provided by these systems varies considerably. Typically, there are no exhaustive methods and systems to deliver biomechanical feedback across multiple platforms and entities consistently. For example, optical motion capture is currently used in motion capture studios and sports technology companies to analyze humans and objects. These motion capture laboratories and studios focus on biomechanical research of human subjects to analyze performance, recovery, and injury risk identifiers, amongst others. Many biomechanical researchers develop proprietary software and processing algorithms to extract kinematic and kinetic measures of human and object motion. The application of physics engines to extract these metrics are based on the precision and location of retro-reflective markers on bony anatomical landmarks of the body and objects. Feedback is usually given in highly technical formats that often leave the test-subject unaware of the true underlying biomechanical flaw and fail to address corrective exercises, drills, and training regimens to improve performance and recovery, and reduce the risk of injury. As well, when and if prescriptive feedback is given, there are few methods to assess compliance with such feedback and there are few systems available for appropriate re-evaluation of the human subject and object.
Accordingly, a need exists for a system that provides biomechanical feedback in a format which is usable by an actor/athlete to improve their performance and reduce their risk of injury and that is supported by statistical relationship models, interactive platforms, and more advanced hardware platforms.
Wearable technology is becoming a primary means of assessing human and object motion. This technology is based upon embedding sensor technology in wearable garments. An example of such use is the ability to extract data from one or more on miniaturized accelerometers and gyroscopes for the purpose of reconstructing three-dimensional motion, however, there are limitations to the precision and accuracy of wearable technology that often misleads users with information that is not supported by statistical models. Wearable technology also does not provide comprehensive motion detection of all body and object segments, and, thus, does not allow for extensive prescriptive feedback to improve performance and recovery, and, thereby, reduce the risk of injury. Wearable technology is often wirelessly interfaced with mobile devices to compute kinematics and kinetics, and to display biomechanical feedback in single sessions. That said, there is no cross-platform continuity to keep users engaged, and few methods to monitor compliance and deliver significant feedback.
Accordingly, a further need exists for a system that incorporates advanced physics engine capabilities, advanced hardware processing and sensor technology, and interactive interfaces to produce meaningful data usable by an actor/athlete to improve their performance and reduce their risk of injury.
SUMMARY OF THE INVENTIONDisclosed is a method and system to deliver biomechanical feedback to subjects. The system utilizes three major elements: (1) multiple hardware data capture devices, including optical motion capture, inertial measurement units, infrared scanning devices, and two-dimensional RGB consecutive image capture devices, (2) a cross-platform compatible physics engine compatible with optical motion capture, inertial measurement units, infrared scanning devices, and two-dimensional RGB consecutive image capture devices, and (3) interactive platforms and user-interfaces to deliver real-time feedback to motions of humans and any objects in their possession and proximity.
The first element, a cross-platform compatible physics engine, imports data captured from a variety of hardware devices. Data imported from the hardware devices are then fed through kinematics and kinetics algorithms to extract desired biomechanical data. Data is then compiled by the physics engine across multiple subjects and across multiple sessions of a single subject. The physics engine also computes mechanical equivalencies to allow compatibility across hardware platforms. Mechanical equivalencies include correlating database data to injury and performance statistics, correlating discrete kinematics and kinetics of a body to discrete kinematics and kinetics of objects, principal component analysis to correlate time-series data of the body to objects, comparison of subject and object data to compiled databases, and extraction of prescriptive feedback based on all mechanical equivalencies
The second element, the hardware data capture devices, may comprise a variety of peripheral devices that collect two-dimensional or three-dimensional motion data of subject or object. In one embodiment, such peripheral devices may comprise (1) optical motion capture devices to collect three-dimensional positional data on reflective markers placed on the body and/or an object, (2) inertial measurement units with gyroscopes and accelerometers placed on the body, on an object, or in garments, to collect three-dimensional translation and rotation motion data of object(s) or segment(s) of the subjects body, (3) infrared scanning devices, such as the Microsoft Kinect or Google Tango, to capture three-dimensional point clouds of movement data and incorporate skeletal and object tracking algorithms to extract three-dimensional joint and object positions, and (4) Red Green Blue (RGB) two-dimensional consecutive image capture devices to collect movement images and to incorporate skeletal and object tracking algorithms to extract three-dimensional joint and object positions and kinematics.
The hardware data capture devices of the second element may further comprise wearable sensor technology which utilizes motion sensing hardware embedded in wearable garments to compute human and object motion. The wearable technology may be coupled the physics engine and interactive interface to offer prescriptive feedback to flaws identified in the subject's and object's motion. Such feedback may be based on an exhaustive body of object motion correlations made during biomechanical research, and be provided to the user via the interactive interface.
The third element, the interactive interface, utilizes information generated by the physics engine to create a user-interface that displays data to the user. This interactive interface may be implemented in variety of forms such as mobile device screens (iOS/Android), Web-Based interfaces (HTML), Heads-Up-Displays (VR/AR Headsets), and Windows/OSX static formats (spreadsheets, PDF's, etc.). The interactive interface has the capability of feeding information to the user, as well as the ability to collect information from the user for the purpose of monitoring compliance and monitoring usability of the interface. The interactive platform may be utilized to provide to the user insight gathered from biomechanical research and marker-based motion capture methods. Such interactive platforms will be able to offer prescriptive feedback based on motion data gathered from either the wearable technology, or the motion sensing mechanism built into the interactive platform and enable compliance monitoring and continuous engagement across a suite of wearable technology methods. Information may be stored on a back-end storage server and also exported to the physic engine and to one or more of the hardware devices.
According to one aspect of the disclosure, system for providing prescriptive feedback based on motion of a human subject or object comprises: A) a hardware engine for gathering data about the motion of a subject or object, B) a physics engine operatively coupled to the hardware engine and configured for processing the gathered motion data and correlating the processed motion data with previously stored biomechanical data representing idealized motion models, and C) an interactive interface operatively coupled to the data gathering devices and the physics engine and configured for providing prescriptive feedback on flaws identified in the subject's or object's motion.
According to another aspect of the disclosure, a method for providing prescriptive feedback based on motion of a human subject or object comprises: A) gathering data about the motion of a subject or object, B) processing the gathered motion data and correlating the processed motion data with previously stored biomechanical data representing idealized motion models, and C) providing prescriptive feedback on flaws identified in the subject's or object's motion. In one embodiment method further comprises D) enabling compliance monitoring of the motion of the subject and/or object.
According to yet another aspect of the disclosure, a method for offering prescriptive feedback based on motion of a human subject and/or objects comprises: A) gathering motion data from either a wearable garment or device having motion sensing hardware embedded therein or from a motion sensing mechanism built into the interactive platform, B) processing motion data, C) correlating the process motion data with previously stored biomechanical data representing idealized motion models, and D) providing prescriptive feedback on flaws identified in the subject's and object's motion based on the motion data gathered from either the wearable technology or interactive platform.
The present disclosure is illustratively shown and described with reference to the accompanying drawing in which:
The present disclosure will be more completely understood through the following description, which should be read in conjunction with the drawings. In this description, like numbers refer to similar elements within various embodiments of the present disclosure. The skilled artisan will readily appreciate that the methods, apparatus and systems described herein are merely exemplary and that variations can be made without departing from the spirit and scope of the disclosure.
Is used herein, the term “engine” means one or more elements, whether implemented in hardware, software, firmware, or any combination thereof, capable of performing any function described herein, including a collection of such elements which collaboratively perform functions wholly or partially, serially or in parallel, synchronously or asynchronously, remotely or locally, regardless of data formats or protocols.
Referring to
Physics engine 100 functions as a cross-platform compatible method to transform raw three-dimensional data captured from various hardware data collection devices into usable biomechanical feedback.
An pseudocode example of the type of kinematic and kinetic algorithmic computations performed by physics engine 11 on data from optical motion capture device 212, infrared scanning devices 214 and image and video capture devices 215, is as follows:
-
- Define a multisegment or single segment biomechanics model comprising bilateral and/or unilateral segments, such as the hands, forearms, upper arms, upper trunk, neck, head, pelvis, upper thighs, lower shanks, feet, and any objects used in the proximity
- Define long-axis unit vectors of the body or object segments in the model using three-dimensional XYZ marker data
- Define Planar-axis unit vectors of each of the above segments
- Compute a cross product of the long and planar axes to determine the third unit vector of each segment
- Compute the cross product of the third unit-vector and the long-axis unit vector to create three orthonormal unit vectors for each segment in the model
- Compute angular velocity vectors of each model segment using a derivative method of unit vectors of each segment
- Compute relative joint angles (in euler and polar coordinate systems) using each segment's set of unit vectors
- Define human mass model using subject weight and height and anthropometrics of body segments to calculate mass moments of inertia about each segment, and center of mass locations
- Compute accelerations of each marker and of each segment center of mass using a five-point central difference filter
- Compute angular accelerations of each model segment using a five point central difference filter of angular velocity
- Compute an inverse dynamics model of motion using angular velocity components of each segment, angular acceleration components of each segment, and linear acceleration components of each segment's center of mass
- Event detection algorithms are used to determine points of interest during a particular motion
- Kinematics and Kinetic values are extracted at points of interest (examples of kinematics and kinetic values are peak angular velocity of the pelvis segment during a sport motion (in meters per second), or shoulder rotation at foot contact during a throwing motion (in degrees)
To compute kinematics and kinetics from inertial measurement units 213, the following steps are undertaken: - Raw sensor data is fused together using an axis-angle integration method.
- A rotation matrix of the sensor is initialized using the gravity vector during a still point (Gravity can also be detected when there is no still point by measuring integration offset after the axis-angle method is completed)
- Angular rate data from the gyroscope is integrated into a rotation matrix at each sample during the motion
- Each rotation matrix from each sample is multiplied consecutively to the initialized rotation matrix in a body-fixed method
- Acceleration data is transformed into the global frame using the rotation matrix computed from the angular rate data
- Gravity is subtracted from the rotated acceleration data in the global reference frame
- Rotated acceleration data is integrated into velocity and position of the sensor and/or any point on a rigid body to which the sensor is attached
- Raw acceleration and angular rate data is transformed into the inertial reference frame at the center of mass of the segment or object to which the sensor is attached
- All processed data is rotated by an offset error that may exist in a system
- All rotated and inertial data is filtered using a fourth order low pass filter
- Inertial reference frame acceleration data and angular rate data are fed into an open-chain inverse dynamics kinetic model to solve for reaction forces and torques about vertices within a human or object mass model defined by anthropometrics, height, weight, or lookup tables of object properties
- Event detection algorithms are used to determine points of interest during a particular motion (An example of an event detection algorithm in baseball pitching encompases the generation of Principal Components of a historical dataset (training data). When a given buffer of data in a hardware device meets the criteria of fitting the principal components, an event (such as a pitch) is detected. Event detection is used to prevent undesired motion from being detected in a given application).
- Kinematics and Kinetic values are extracted at points of interest from integrated positions, velocities, accelerations, angular rates, and reaction force and torque data.
The above identified process for the computation of kinematics and kinetics data are repeated for multiple trials of a subject's or object's motion and compiled in a memory or database, as illustrated by process block 203. In one embodiment, similar computed kinematics and kinetics data are compiled across multiple subjects and stored for further analysis, as also illustrated by process block 203. Physics engine 100 then provides relevant portions of the compiled kinematics and kinetics data to mechanical equivalency models, as illustrated by process block 204. As part of this process, physics engine 100 correlates the compiled data to performance and injury data, as illustrated by process block 300. Discrete data are correlated to performance and injury data by way of person correlations and Bayesian mixed regression to eliminate non-contributing factors. Physics engine 100 further correlates discrete kinematics and kinetics data of the body to discrete kinematics and kinetics of the object or other body segments, as illustrated by process block 302. Discrete body data are correlated other discrete body and object data 302 in a similar method to 300 by way of person correlations and Bayesian mixed regression. Also as part of this process, physics engine 100 correlates time-series data of the body to time-series data of other body parts or objects using principal component analysis, as illustrated by process block 303. Time-series segment data are reduced to multiple, e.g. over 80, principal components. The reduced components are then correlated to principal components of other body or object segments and are used to extract additional motion given raw data from one or more body segments. Discrete and time-series data are compared to a database of motion, as illustrated by process block 305, by use of averages and standard deviations of data across multiple subjects. Based upon relationships established during process blocks 300, 302, 303, 305, physics engine 100 further extracts prescriptive feedback using correlation models and the subject's/object's motion, as illustrated by process block 304. After the prescriptive feedback information is gathered by the physics engine 100, the prescriptive feedback is exported to interactive engine 101, as illustrated by process block 205, and presented to the subject/object in a matter that facilitates altering the mechanics in a way that leads to increased performance or reduced risk of injury.
As seen in
Referring to
In one embodiment, the mThrow sleeve garment 803, as illustrated in
In another embodiment, the mThrow Pro garment 804, as illustrated in
In another embodiment, the mRun ACL Sleeve garment 806, as illustrated in
In another embodiment, the mRun ACL Leggings Pro garment 807, as illustrated in
In another embodiment, the SmartSocks garment 809, as illustrated in
In another embodiment, the mSense device 801, as illustrated in
In another embodiment, the mSwing glove garment 816, as illustrated in
In another embodiment, the mBand wristband garment 817, as illustrated in
The previously described physics engine 100 and the processes or functions performed thereby may be implemented with computer program code executing under the control of an operating system and running on one or more primary hardware platforms as described with reference to
The mass storage device 520 may be connected to the CPU 502 through a mass storage controller (not illustrated) connected to the bus 510. The mass storage device 520 and its associated computer-readable media can provide non-volatile storage for the computer architecture 500. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available computer storage media that can be accessed by the computer architecture 500.
By way of example, and not limitation, computer-readable media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for the non-transitory storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer-readable media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (DVD), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer architecture 500.
According to various embodiments, the computer architecture 500 may operate in a networked environment using logical connections to remote physical or virtual entities through a network such as the network 599. The computer architecture 500 may connect to the network 599 through a network interface unit 504 connected to the bus 510. It will be appreciated that the network interface unit 504 may also be utilized to connect to other types of networks and remote computer systems. The computer architecture 500 may also include an input/output controller for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not illustrated). Similarly, an input/output controller may provide output to a video display 506, a printer, or other type of output device. A graphics processor unit 525 may also be connected to the bus 510.
As mentioned briefly above, a number of program modules and data files may be stored in the mass storage device 520 and RAM 532 of the computer architecture 500, including an operating system 522 suitable for controlling the operation of a networked desktop, laptop, server computer, or other computing environment. The mass storage device 520, ROM 534, and RAM 532 may also store one or more program modules. In particular, the mass storage device 520, the ROM 534, and the RAM 532 may store the engine 524 for execution by the CPU 502. The engine 524 can include software components for implementing portions of the processes described herein. The mass storage device 520, the ROM 534, and the RAM 532 may also store other types of program modules.
Software modules, such as the various modules within the engine 524 may be associated with the system memory 530, the mass storage device 520, or otherwise. According to embodiments, the analytics engine 524 may be stored on the network 599 and executed by any computer within the network 599. Databases 572 and 575, which may be used to store any of the acquired or processed data or idealized models, and/or kinematics and kinetic data described herein, such databases being coupled remotely to network 599 and network interface 504.
The software modules may include software instructions that, when loaded into the CPU 502 and executed, transform a general-purpose computing system into a special-purpose computing system customized to facilitate all, or part of, the techniques disclosed herein. As detailed throughout this description, the program modules may provide various tools or techniques by which the computer architecture 500 may participate within the overall systems or operating environments using the components, logic flows, and/or data structures discussed herein.
The CPU 502 may be constructed from any number of transistors or other circuit elements, which may individually or collectively assume any number of states. More specifically, the CPU 502 may operate as a state machine or finite-state machine. Such a machine may be transformed to a second machine, or specific machine by loading executable instructions contained within the program modules. These computer-executable instructions may transform the CPU 502 by specifying how the CPU 502 transitions between states, thereby transforming the transistors or other circuit elements constituting the CPU 502 from a first machine to a second machine, wherein the second machine may be specifically configured to manage the generation of indices. The states of either machine may also be transformed by receiving input from one or more user input devices associated with the input/output controller, the network interface unit 504, other peripherals, other interfaces, or one or more users or other actors. Either machine may also transform states, or various physical characteristics of various output devices such as printers, speakers, video displays, or otherwise.
Encoding of executable computer program code modules may also transform the physical structure of the storage media. The specific transformation of physical structure may depend on various factors, in different implementations of this description. Examples of such factors may include, but are not limited to: the technology used to implement the storage media, whether the storage media are characterized as primary or secondary storage, and the like. For example, if the storage media are implemented as semiconductor-based memory, the program modules may transform the physical state of the system memory 530 when the software is encoded therein. For example, the software may transform the state of transistors, capacitors, or other discrete circuit elements constituting the system memory 530.
As another example, the storage media may be implemented using magnetic or optical technology. In such implementations, the program modules may transform the physical state of magnetic or optical media, when the software is encoded therein. These transformations may include altering the magnetic characteristics of particular locations within given magnetic media. These transformations may also include altering the physical features or characteristics of particular locations within given optical media, to change the optical characteristics of those locations. It should be appreciated that various other transformations of physical media are possible without departing from the scope of and spirit of the present description.
The reader can appreciate that the various systems and elements and methods described herein enables delivery of near real-time feedback to motions of human subjects and any objects in their possession and proximity.
Although the various embodiments of the system and techniques disclosed herein have been described with reference to specific sports and/or garments related to such activities, it will be obvious to those reasonably skilled in the art that modifications to the systems and processes disclosed herein may occur, without departing from the true spirit and scope of the disclosure. For example, any type of wearable garment which is capable of transmitting motion data useful for analysis may be utilized with the systems and techniques described herein. Further, notwithstanding the network implementation described, any existing or future network or communications infrastructure technologies may be utilized, including any combination of public and private networks. In addition, although specific algorithmic flow diagrams or data structures may have been illustrated, these are for exemplary purposes only, other processes which achieve the same functions or utilized different data structures or formats are contemplated to be within the scope of the concepts described herein. As such, the exemplary embodiments described herein are for illustrative purposes and are not meant to be limiting
Claims
1. A system for providing prescriptive feedback based on motion of a human subject or object comprising:
- A) a hardware engine for gathering data about the motion of a subject or object,
- B) a physics engine operatively coupled to the hardware engine and configured for processing the gathered motion data and correlating the processed motion data with previously stored biomechanical data representing idealized motion models, and
- C) an interactive interface operatively coupled to the data gathering devices and the physics engine and configured for providing prescriptive feedback on flaws identified in the subject's or object's motion.
2. The system of claim 2 wherein the interactive interface is further configured for enabling compliance monitoring of the subject's or object's motion.
3. The system of claim 1 wherein the hardware engine comprises a plurality of data gathering devices configured for gathering data about the motion of a subject or object.
4. The system of claim 3 wherein at least one of the plurality of data gathering devices comprises an optical motion capture device to collect three-dimensional positional data from reflective markers placed on the subject or object.
5. The system of claim 3 wherein at least one of the plurality of data gathering devices comprises an inertial measurement unit disposed on the subject or object to collect three-dimensional translation and rotation motion data.
6. The system of claim 3 wherein at least one of the plurality of data gathering devices comprises an infrared scanning device configured to capture three-dimensional point clouds of movement data.
7. The system of claim 3 wherein the physics engine is configured to perform one or more algorithmic processes of the gathered motion data to compute kinematics and kinetics of the subject or object.
8. The system of claim 7 wherein the physics engine is configured to determine points of interest during a particular motion using event detection algorithms.
9. The system of claim 7 wherein the physics engine is configured to define a model of the subject having a plurality of segments.
10. The system of claim 9 wherein the physics engine is further configured to compute an inverse dynamics model of motion of the subject using angular velocity components of each segment, angular acceleration components of each segment, and linear acceleration components of each segment center of mass.
11. A method for providing prescriptive feedback based on motion of a human subject or object comprising:
- A) gathering data about the motion of a subject or object,
- B) processing the gathered motion data and correlating the processed motion data with previously stored biomechanical data representing idealized motion models, and
- C) providing prescriptive feedback on flaws identified in the subject's or object's motion.
12. The method of claim 11 further comprising:
- E) enabling compliance monitoring of motion of the subject or object.
13. The method of claim 11 wherein the interactive interface is further configured for enabling compliance monitoring of the subject's or object's motion.
14. The method of claim 11 wherein A) gathering data about the motion of a subject or object comprises:
- A1) gathering data about the motion of a subject or object with an optical motion capture device to collect three-dimensional positional data from reflective markers placed on the subject or object.
15. The method of claim 11 wherein A) gathering data about the motion of a subject or object comprises:
- A1) gathering data about the motion of a subject or object with an inertial measurement unit disposed on the subject or object to collect three-dimensional translation and rotation motion data.
16. The method of claim 11 wherein A) gathering data about the motion of a subject or object comprises:
- A1) gathering data about the motion of a subject or object with an infrared scanning device configured to capture three-dimensional point clouds of movement data.
17. The method of claim 11 wherein B) comprises:
- B1) performing one or more algorithmic processes of the gathered motion data to compute kinematics and kinetics of the subject or object.
18. The method of claim 17 wherein B) comprises:
- B1) determining points of interest during a particular motion using event detection algorithms.
19. The method of claim 17 wherein B) comprises:
- B1) defining a model of the subject having a plurality of segments.
20. The method of claim 17 wherein B) comprises:
- B1) computing an inverse dynamics model of motion of the subject using angular velocity components of each segment, angular acceleration components of each segment, and linear acceleration components of each segment center of mass.
21. A method for providing prescriptive feedback based on motion of a human subject or object comprising:
- A) gathering data about the motion of a subject or object,
- B) processing motion data,
- C) correlating the process motion data with previously stored biomechanical data representing idealized motion models, and
- D) providing prescriptive feedback on flaws identified in the subject's and object's motion based on the motion data gathered from either the wearable technology or interactive platform.
Type: Application
Filed: Mar 17, 2015
Publication Date: Sep 17, 2015
Inventors: Ben Hansen (Bradenton, FL), Joe Nolan (Massapequa, NY), Keith Robinson (Seaford, NY), Dave Fortenbaugh (Birmingham, AL)
Application Number: 14/660,338