[go: up one dir, main page]

WO2013040424A1 - System and methods for evaluating and providing feedback regarding movement of a subject - Google Patents

System and methods for evaluating and providing feedback regarding movement of a subject Download PDF

Info

Publication number
WO2013040424A1
WO2013040424A1 PCT/US2012/055530 US2012055530W WO2013040424A1 WO 2013040424 A1 WO2013040424 A1 WO 2013040424A1 US 2012055530 W US2012055530 W US 2012055530W WO 2013040424 A1 WO2013040424 A1 WO 2013040424A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
subject
output
movement
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2012/055530
Other languages
French (fr)
Inventor
Michael Lyons
Gregory MEESS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cornell University
Original Assignee
Cornell University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cornell University filed Critical Cornell University
Publication of WO2013040424A1 publication Critical patent/WO2013040424A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Measuring devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor or mobility of a limb
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2505/00Evaluating, monitoring or diagnosing in the context of a particular type of medical care
    • A61B2505/09Rehabilitation or training
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/48Other medical applications
    • A61B5/486Biofeedback

Definitions

  • the present invention relates generally to evaluating a subject, and more specifically, to an improved system and methods for evaluating a position or movement of a subject and providing feedback regarding such position or movement.
  • Health care providers recognize the health benefits of regular exercise. However, there are certain risks associated with many exercises. For example, if a person does not perform an exercise with a certain form or pace, the person risks injury. Also, performing an exercise incorrectly may not optimize the person's efforts to achieve a certain goal, such as improving strength, flexibility, or agility.
  • a health care provider may instruct and supervise a person's exercise.
  • supervision of a health care provider including, for example, a personal trainer, athletic trainer, physical therapist, or occupational therapist, often is cost prohibitive. Even if a health care provider shows the person how to perform an exercise a few times, the person may not perform the exercise correctly in subsequent sessions when the health care provider is no longer supervising.
  • Another challenge associated with exercise is that it often takes considerable time before a person can perceive results. Accordingly, it is beneficial to have some sort of immediate feedback to the person regarding the performance. Such feedback may be related to the form and pace of the exercise, for example, to optimize exercise performance. Feedback also may be related to encouragement or entertainment to foster compliance or adherence with an exercise plan.
  • the present invention includes a system and methods for evaluating movement of a subject.
  • a "subject” may include a person, an animal, a machine such as a robot, or another object that is capable of moving.
  • a "user” may be any person using the system, specifically, a subject or may be a non-subject.
  • a non-subject person may include a coach, a trainer, a therapist, a teacher, or another, who is assisting the subject with evaluating or learning a position or movement.
  • Certain embodiments of the present invention are configured to evaluate a specific type of movement or a wide range of types of movements.
  • An embodiment configured to evaluate a specific type of movement may be configured to evaluate an unassisted movement such as an abdominal crunch, sit-up, lunge, swimming stroke, running gait, gymnastics skill, a yoga position, a Pilates position, martial arts action, or other movement that may be performed without assistance from a device.
  • Certain embodiments may be configured to evaluate a device-associated movement such as rowing, bicycling, bicep curl, leg curl, lateral arm raise, bench press, chest fly, thigh lift, golf swing, tennis swing, typing on a keyboard, using a tool, to name a few.
  • a “device” may include a free weight, weight machine, a bicycle, rowing machine, paddle, tool, keyboard, sport equipment, such as a golf club, tennis racket, baseball bat, bowling ball, soccer ball, football, cricket bat, fishing pole, uneven bar, vault, ice skate, or skateboard, or other device configured to be used in association with a movement of the subject.
  • sport equipment such as a golf club, tennis racket, baseball bat, bowling ball, soccer ball, football, cricket bat, fishing pole, uneven bar, vault, ice skate, or skateboard, or other device configured to be used in association with a movement of the subject.
  • Embodiments of the present invention may include a detection component, output component, and a controller component.
  • a detection component may be configured to detect information about the movement, position, or orientation of a subject, a portion of the subject such as a body part, or a device.
  • a detection component may include an accelerometer, motion detector, sensor, camera, video camera, or other measuring element.
  • a detection component may be configured to send and receive information to and from a controller component.
  • a detection component is mounted on, integrated with, or otherwise connected to a wearable component to form a wearable detection component.
  • a wearable detection component may be configured to be positioned relative to the subject such as around a finger, hand, lower arm, upper arm, foot, lower leg, upper leg, both legs, hips, waist, chest, shoulders, head, or other portion of the subject.
  • the wearable detection component is tailored, for example, sized and shaped to be worn by a particular subject or a particular portion of the subject.
  • Other embodiments of a wearable detection component are customizable such that each wearable detection component can be worn by subjects having a variety of sizes and shapes or can be worn by a single subject on more than one body part.
  • a customizable wearable detection component may include a customization component such as flexible material or fasteners that may be fastened at various levels to accommodate various sizes and shapes.
  • Fasteners may include hook and loop fastener, hook and eye component, reusable adhesive, single-use adhesive, button, clip, slide, clasp, male closure component and female closure component, or any other configuration that will releasably join one section of the wearable component to another section of the wearable component to manage the size and shape of the wearable component.
  • the material of the wearable component also may be configured to protect the subject from electrical shocks using, for example, an insulation layer positioned closest to the subject's body while wearing the system 10 or a component of a system 10.
  • a detection component is mounted on, integrated with, or otherwise connected to a device.
  • a device-associated detection component may be configured to detect information about the movement, position, or orientation of a device, while the device is in use by the subject. Accordingly, information about the subject can be derived from information generated from a device-associated detection component.
  • Certain embodiments include an output component configured to provide feedback, such as haptic feedback, auditory feedback, visual feedback, or olfactory feedback.
  • An output component may be positioned to be perceivable to the subject or to another user of the system.
  • An output component may be configured to send and receive information to and from a controller component.
  • An output component also may be configured to provide a scaled output. For example, if a subject moves a small amount (below a certain threshold) outside of a desired path, the output intensity may be low. If a subject move outside of a desired path an increased amount (between another set of thresholds), the output intensity may be a medium level. If a subject moves far outside of a desired path (above a higher threshold), the output intensity may be a high level.
  • An output component may be configured to provide any number of levels of output intensity.
  • a haptic feedback output component may include a vibration motor, pager motor, shape-shifting component (e.g., button pops out), tapping pointer, or indicator, each of which is configured to cause some tactile output.
  • An auditory feedback output component may include a speaker, amplifier, or any other sound emitter.
  • a visual feedback output component may include a monitor, screen, touchscreen, display, light bulb, LED, or other interface that permits displaying visual information.
  • Certain embodiments of the present invention include a controller component configured to process information from the detection component and communicate with the detection component and the output component.
  • a controller component may include a microcontroller or processor such as a special purpose or a general-purpose digital signal processor that processes certain information.
  • a controller component also may include other components to form a computer system, which is described more completely in the detailed description of this application.
  • An objective of the present invention includes evaluating movement of a subject.
  • Another objective of certain embodiments of the present invention includes evaluating the movement of one limb of a subject.
  • Another objective of certain embodiments of the present invention includes evaluating the movement of two limbs of a subject.
  • Another objective of certain embodiments of the present invention includes evaluating the movement of a core of a subject.
  • Another objective of certain embodiments of the present invention includes evaluating the movement of an entire body of a subject.
  • Another objective of certain embodiments of the present invention includes evaluating a position of a subject.
  • Another objective of certain embodiments of the present invention includes providing feedback regarding subject movement. Another objective of certain embodiments of the present invention includes providing haptic feedback regarding subject movement.
  • Another objective of certain embodiments of the present invention includes providing auditory feedback regarding subject movement.
  • Another objective of certain embodiments of the present invention includes providing visual feedback regarding subject movement.
  • Another objective of certain embodiments of the present invention includes providing olfactory feedback regarding subject movement.
  • An additional objective of certain embodiments of the present invention is to provide entertainment to a subject.
  • An additional objective of certain embodiments of the present invention is to provide reinforcement and encouragement to a subject.
  • An additional objective of certain embodiments of the present invention is to provide a cost-efficient system for instructing a subject on how to perform certain positions, exercises, or movements.
  • An additional objective of certain embodiments of the present invention is to provide a cost-efficient system for teaching a subject how to interact with a device such as a tool, for example, to perform a task.
  • An additional objective of certain embodiments of the present invention is to position one or more output components relative to the subject such that the subject will quickly perceive how to improve execution of a position or movement.
  • An additional objective of certain embodiments of the present invention is to perform a dumbbell bicep curl and avoid setting off an output component such as a vibration motor.
  • An additional objective of certain embodiments of the present invention is to interpret an output vibration as a gentle push against a subject body part such that the sensation may be perceived as physical push toward an improved form or movement.
  • FIG. 1A is a block diagram of an embodiment of the present invention
  • FIG. 1 B is a block diagram of an embodiment of the present invention.
  • FIG. 1C is a block diagram of an embodiment of the present invention.
  • FIG. 2 is a block diagram of an embodiment of the present invention
  • FIG. 3 is a block diagram of an embodiment of the present invention.
  • FIG. 4 is an anterior view of a human body
  • FIG. 5A illustrates a subject using an embodiment of the present invention
  • FIG. 5B illustrates a subject using an embodiment of the present invention
  • FIG. 6A illustrates a subject using an embodiment of the present invention
  • FIG. 6B illustrates a subject using an embodiment of the present invention
  • FIG. 7 illustrates a subject using an embodiment of the present invention
  • FIG. 8 illustrates a subject using an embodiment of the present invention
  • FIG. 9 illustrates a subject using an embodiment of the present invention
  • FIG. 10 illustrates a method embodiment of the present invention
  • FIG. 11 illustrates a method embodiment of the present invention
  • FIG. 12 illustrates a method embodiment of the present invention
  • FIG. 13 illustrates a method embodiment of the present invention
  • FIG. 14 illustrates an embodiment of a detection component
  • FIG. 15 illustrates an embodiment of an output component
  • FIG. 16 illustrates an embodiment of a power regulator
  • FIG. 17 illustrates an embodiment of an exemplary computer system
  • FIG. 18 illustrates an embodiment of a cloud computing system.
  • FIG. 1A illustrates an embodiment of the present invention that includes a detection component 20 and an output component 30. Additional embodiments may include voltage regulators, 1k resistors, BUZ73 CMOS, diodes, controller component s such as a microcontroller 41 , and a software program 100.
  • a detection component 20 may be configured to detect information about the movement, position, or orientation of a subject, a portion of the subject such as a body part, or a device.
  • a detection component 20 may include an accelerometer, motion detector, sensor, camera, video camera, or other measuring element.
  • FIG. 14 illustrates an embodiment of an accelerometer circuit.
  • six ports on the microcontroller 41 may be initialized to take in six analog inputs and used to guide the output component.
  • the analog inputs used port A.O through A.5 where ports A.1 , A.3, and A.5 may be used for the accelerometer readings from upper arm, and the remaining ports A.O, A.2, and A.4 may be used for accelerometer readings from a first portion of a subject 15.
  • These ports outline the interface between the microcontroller 41 and the outputs from the accelerometers.
  • Powering the accelerometers may include using a voltage regulator circuit.
  • a detection component 20 may be positioned directly in contact with the subject 15 or directly in contact with a wearable component that is directly in contact with a subject 15. Certain embodiments of a detection component 20 are configured not to directly contact the subject 5. In such embodiments, the detection component 20 may detect information about the subject 15 indirectly, such as by detecting a position or movement of a device 70 with which the subject 15 is interacting or by sending out a signal and assessing the signal response.
  • an output component 30 may be configured to provide feedback, such as haptic feedback, auditory feedback, visual feedback, or olfactory feedback.
  • An output component 30 may be positioned to be perceivable to the subject 15 or to another user of the system 10.
  • output component 30 configured to provide haptic feedback is discussed below. However, certain components and steps can be adapted to permit other types of feedback.
  • An embodiment of an output component 30 may include a pager motor including a motor driver circuit 32, as illustrated in FIG. 15.
  • the pager motor circuit 32 may be separated from the accelerometer by an interface to the software 100.
  • the pager motor 32 may be powered by a six "pulse-width modulation" or "PWM" channel output from a microcontroller 41.
  • a microcontroller 41 include a microcontroller timer having two PWM channels.
  • the output of the PWM channel may be dependent on the analog inputs from the accelerometer hardware outputs and calculations done by the software.
  • the PWM channel output may be outputted on either pin B.3, B.4, D.4, D.5, D.6, or D.7 depending on the location of the pager motor on the subject 15 body part such as an arm.
  • the circuit illustrated in FIG. 15 may be used. From the pin, the output of the PWM channel may be put through a one kilo-ohm resistor to ground and to the gate of a CMOS BUZ73 chip. Depending on the output of the PWM channel, the BUZ73 allows the Vcc voltage to flow through the diode and then through the pager motor to ground. A higher period of the PWM channel may cause a higher voltage to pass through the pager motor, thereby increasing the amount of force emitted by the output component. The voltage from the vibration motor flow through the BUZ73 from drain to source and the source is then connected to ground. The maximum voltage, and thus the maximum force provided by the motor, allowed by the vibration motor is 4.5 V which is slightly less than Vcc of five volts.
  • Certain embodiments of a system of the present invention may include a controller component 40 configured to process information.
  • a controller component 40 also may process instructions for controlling other components of the system 10.
  • a controller component 40 is configured to communicate with a detection component 20 and an output component 30.
  • certain embodiments of a detection component 20 are configured to send and receive information to and from an output component 30 or controller component 40.
  • an output component 30 are configured to send and receive information to and from a detection component 20 or controller component 40.
  • Communication between system components may be facilitated by physical wires 22 or wireless communication such as radio frequency receivers and transmitters, Bluetooth, ZigBee, 802.15.4, or any other manner for communicating data known in the art.
  • FIG. 2 illustrates an embodiment of a system 10 that includes more than one detection component - a first detection component 20A and a second detection component 20B.
  • Each embodiment of a system 10 may include one or multiple detection components 20.
  • FIG. 2 illustrates an embodiment of a system 10 including remote information storage unit 50.
  • remote information storage unit 50 may be used to store tracked information related to the subject's position or movement.
  • a remote information storage unit 50 may include a database related to a subject's goals, optimal values, or improved position and movement information. Such information may permit comparison between the detected values, goal values, and optimal values of position or movement measurements.
  • position or movement information may include height, weight, speed, velocity, orientation, force, size, torque, angle relative to a reference point, rate of repetition, or value defined by another measurement.
  • the "optimal values" of a measurement may include values of position or movement known in the art to maximize strength training, muscle toning, flexibility, task-learning, efficient movement, or another objective of the subject.
  • position and movement information related to executing an exercise - either with a weight or without a weight - may include information about a target muscle group.
  • a target muscle group for a bicep curl is the "bicep brachii" or "bicep".
  • a subject may maximize force applied to the bicep, and accordingly, improve strength, by executing a bicep curl within certain parameters.
  • Such parameters include lifting and lowering the forearm at an appropriate rate, angle, with steady wrist orientation, avoiding dropping a shoulder, consistently with respect to another bicep, and other.
  • FIG. 4 illustrates an embodiment of a subject 15, specifically, a human.
  • a subject 15 may be anything capable of moving.
  • the subject 15 is illustrated holding a device 70, specifically, a weight.
  • the arm of the subject 15 is generally straight.
  • arm of the subject 15 is shown in a flexion position.
  • the arrows 5 illustrate the general movement of the subject's arm.
  • the detection component 20 illustrated in FIG. 5A and FIG. 5B is positioned to permit detection of information regarding elbow movement and shoulder movement.
  • a detection component 20 may be mounted on a wearable component 60.
  • the illustrated embodiment of a wearable component 60 is an arm band 61.
  • a wearable component 60 may be any article generally worn by a subject or configured to be worn by a subject.
  • a wearable component 60 may include a head band, ear bud, shoe, sock, glove, sleeve, shirt, pants, shorts, ring, any other article of clothing or accessory.
  • a wearable component 60 may be configured to receive a detection component 20 by including a detection component holder or attachment element. Certain embodiments of a wearable component 60 may be retrofitted to receive a detection component 20.
  • an output component 30, such as a vibration motor 31 may be positioned to provide haptic feedback to the subject.
  • the output component 30 may be positioned to relative to the body part that has a form or is moving in a way that the subject wishes to modify.
  • each vibration motor 31 is positioned to correspond with a general direction in which the elbow 14 could shift. Specifically, a first vibration motor 31 A is positioned near the anterior side 12 of the arm, a second vibration motor 31 B is positioned near the posterior side 13 of the arm, and a third vibration motor 31 C is positioned near the outer side of the arm. If the subject is moving the elbow 14 too far in the anterior direction 12, the anterior vibration motor 31 A will be activated. If the subject moves the elbow 14 too far in the posterior direction 13, the posterior vibration motor 31 B will be activated. Clearly, such positioning of the vibration motors 31 helps the subject to perceive what corrections maybe be made to improve performance.
  • the controller component 40 is also mounted on, integrated with, or otherwise connected to the wearable component 60.
  • the embodiment illustrated in FIG. 6A includes a first wearable component 60A and a second wearable component 60B.
  • the second wearable component 60B includes a second detection component 20B, a fourth vibration motor 31 D, fifth vibration motor 31 E, and sixth vibration motor 31 F.
  • the fourth vibration motor 31 D is positioned on the top of the subject 15 arm and is activated upon, for example, rate of bicep curl exceeding 1.7 radians per second or another reference point, when the movement is at full extension, and just past the point of load maximization.
  • the point defined as just past the point of load maximization is around one hundred to one hundred and ten degree angle at the elbow 14.
  • the point of maximum load may be at ninety degrees where the torque of the weight is maximized because torque is a function of sine.
  • the rate checking of the bicep curl is done through a change in angle calculation in order to maintain a sufficiently low angular velocity.
  • the two vibration motors 31 E, 3 F positioned, for example, on the bottom of the lower arm will emit an output configured to be perceivable by the subject. Such an output will provide information about whether the subject is using optimal form with respect to a wrist 16 position or orientation. If the wrist deviates in rotation past a wrist reference point value in either direction, the vibration motors 31 may be activated to notify the subject that the load on the bicep brachii muscle is not maximized and other muscles on the arm, such as the brachialis, are being used instead.
  • the rate and angle calculation may be done in the software of the controller component 40. If the rate and angle results deviate past a certain threshold from the optimal values, the vibration motor 31 corresponding to that deviation will be activated.
  • Embodiments of the present invention also may include a detection component 20 associated with or integrated in a device 70.
  • a device- associated detection component 20C may provide information about the rate of movement of the device 70 or other information about the subject's use of the device 70.
  • a device-associated detection component 20C may be integrated with a game controller, sport equipment, or any other device.
  • a device-associated detection component 20C may include multiple device components 20.
  • a first detection component 20 may be positioned relative to the gripping portion of the bat to measure information about the subject's grip, swing, and speed of movement.
  • a baseball bat a second detection component 20 may be positioned relative to the intended contact area of the bat to measure information about the subject's swing, the speed of the ball, the timing of contact with the ball, the angle of the bat relative to the subject, the angle of the contact area relative to the gripping area, and other information.
  • a device such as a bicycle
  • a device may include a first detection component 20 positioned relative to a first bicycle pedal and a second detection component 20 positioned relative to a second bicycle pedal to permit comparison of the force used by each leg and possibly detect imbalances between the effort or strength in each leg.
  • a device such as a rowing machine, may include a detection component positioned relative to each foot pedal and each handle.
  • Embodiments of a detection component 20 may be configured in a game console, a computer system, or another device. In such embodiments, a detection component 20 may be positioned such that it is not in either direct or indirect contact with the subject.
  • FIG. 7 illustrates an embodiment of the present invention in association with a subject 15 performing a lunge type exercise.
  • the wearable components 60 are configured as a first leg sleeve 62A, a second leg sleeve 62B, and a shoe 63.
  • measurements of a body part of the subject 15 may be obtained or recorded, but no output is provided to that body part.
  • the detection component 20 attached to the shoe 63 detects information about the shoe 63 and the subject 15 wearing the shoe 63, but does not permit delivery of an output to the subject 15 foot.
  • an output component 30 is configured to deliver an output directed to the body part measured by the detection component 20.
  • the first leg sleeve 62A includes a detection component 20 such as an accelerometer and an output component 30 such as a vibration motor configured to deliver a vibration to a side of the leg.
  • FIG. 8 illustrates an embodiment of the present invention in which the subject 15 is performing a reverse crunch exercise.
  • the wearable components 60 are configured as a leg sleeve 62 and a core wrap 64.
  • a wearable component 60 can be configured for any part of the body and a subject 15 may wear any number of wearable components 60.
  • the components illustrated in FIG. 8 are configured to function in association with a computer system 80 or a remote controller component 40.
  • Certain embodiments of the present invention include a wearable detection unit 65 that includes a wearable component 60 and a detection component 20.
  • Other embodiments may include a wearable detection output unit 66 that includes a wearable component 60, a detection component 20, and an output component 30.
  • FIG. 9A and FIG. 9B illustrate embodiments of the present invention configured as combination units 65, 66.
  • the wearable components 60 are configured as finger rings positioned on fingers 17 of the subject 5. Such embodiments may be useful for learning to type, learning to play the guitar or piano, or other types of finger-based skills.
  • the system 10 may be used in configuration with a method 100.
  • An embodiment of a method 100 implements a system 10 having a detection component 20 configured as an accelerometer, an output component 30 configured as a motor, and a controller component 40 configured as a microcontroller is discussed.
  • this discussion is a non-limiting example. The discussion will also identify a number of reference values, threshold values, and optimal values that are non-limiting examples of how the system 10 and methods 100 may be implemented.
  • Certain embodiments of a method 100 include a software program executing certain steps.
  • One such program includes steps such as initializing the microcontroller to setup six different analog inputs, six pulse width modulator channels, the uart for debugging statements, and enabling the timer zero overflow vector.
  • steps such as initializing the microcontroller to setup six different analog inputs, six pulse width modulator channels, the uart for debugging statements, and enabling the timer zero overflow vector.
  • a timer zero overflow vector may continually decrement the variable called an "accumulator" to zero value.
  • the accumulator may be set to a high value of twelve, which results in a running period of roughly forty nine to fifty micro-seconds. Such time base may be used for other calculations. While the accumulator is being decremented, the program enters a main loop and checks to see if the time based time period is up.
  • the program reads in its analog inputs and stores the relevant values as characters in universal variables.
  • the program then executes a feedback control in which relevant parameters of the upper arm and the lower arm are evaluated.
  • relevant parameters may include a number of different angles and speed of exercise execution.
  • Each parameter value is evaluated against base values that are calculated by from the optimal rates and appropriate degrees of freedom.
  • the pulse-width modulator period may be adjusted to cause the corresponding vibration motor to vibrate at increasingly high speed to indicate how far the user is deviating from the optimized form of the bicep curl.
  • the subject 15 can improve performance of the exercise by, for example, moving the relevant body part away from or toward the haptic feedback stimulus.
  • Certain embodiments of the architecture include a software/hardware interface 103 between the hardware and software components configured to permit exchange of a hardware input and an software output.
  • the code After initializing, the code enters a continuous loop.
  • the software may read the analog voltages from the accelerometers, then calculates and sets the appropriate motor speeds to provide user feedback through an output component. This whole process may take place at 20 Hz or any speed configured to permit seamless operation from a human perspective.
  • a Mega32 chip could be used and the clock speed was set to 16 MHz.
  • Additional steps of the program 100 may include running an initialization function.
  • function port A may be set to an input by setting up the analog input on the port.
  • the analog input may be enabled by setting the ADC left adjust result bit to one of the ADMUX register.
  • the MUXO bit of the ADMUX register may be set to one to set the gain of the analog input.
  • the analog input may be enabled by setting the ADEN bit of the ADC control and status register.
  • the ADC start conversion bit may be set to one to start the analog conversion.
  • the uart may be enabled to permit debugging of the code during testing by reading appropriate parameters to the hyperterminal.
  • a printf statement may be used to show that the program is executing.
  • the data direction registers are set for the PWM channel outputs.
  • the pin set to outputs may be B.3, B.4, D.6, D.7, D.4, and D.5.
  • the prescalars, through timer counter control register B, for timers zero and one may be set to four which corresponds to a division of the clock speed by 1024.
  • the timer counter control register for timers one is configured to permit the timer to run in fast mode such as an 8-bit mode. Running in fast 8-bit mode is necessary because the output of the PWM channel would have a different magnitude going with a time base of approximately 50 milliseconds.
  • the prescalar of timer one is also set to 1024.
  • the timer zero overflow interrupt service routine may be enabled.
  • the accumulator variables used in the timer zero overflow ISR is initialized and the ISRs are cranked up.
  • the main loop In the main function the main loop is begun, and before program execution continues, there may be a waiting period.
  • the time based may be established by using the timer zero overflow interrupt service routine which may require twelve cycles of 4.1 milliseconds to complete before the program is run again. This allows for synchronous and easy calculations of the arm position and change in angle.
  • the readAccel() function After checking the time base, the readAccel() function is called which reads in all six analog inputs from the accelerometers into their corresponding global variables.
  • the ADMUX register may be set and ADC control and status register which starts the conversion on all six analog inputs.
  • the program then waits until the conversion is complete and then may read the value into a chart with the appropriate name of the axis being measured on the upper or lower arm.
  • a number of analogy inputs, such as 5 or 10 or 20 repetitions may be recorded and then are averaged for improved results and more accurate outputs.
  • the average values are then scaled based on a calibration function developed from data taken on each accelerometer's angle sensitivity with respect to each axis. Then the relevant angles are calculated using an arctangent function and stored in global variables.
  • the relevant angles of the upper arm are the angle between the x and y axis, and the z and y axis.
  • the relevant angles are between the z and x axis, and the z and y axis. These angles are calculation based on the forces in the g field measured by the accelerometers.
  • the program then returns to the main loop and may enter the motorControlO function, which is displayed in FIG. 13.
  • motorControl control is separated between the upper arm and lower arm vibration motor outputs.
  • the angle between the z and y axis is evaluated in the negative range. If the angle exceeds negative thirty degrees, then the output of the PWM channel to side of the upper arm may be set to full level output. If the angle is between negative fifteen and thirty there is a linear scaling function of increasing magnitude to notify the user of incorrect position of the elbow. This assists the subject in avoiding swinging and using momentum to lift the weight.
  • the angle between the x and y axis is evaluated, and if it exceeds positive thirty, then the output to the front of the upper arm may be set to full level output.
  • the next section of the motorControl() function keeps track of the movement and positioning of the lower arm.
  • a calculation of the change in the angle between the z and y axis is done so that the rate of the bicep curl can be tracked.
  • the first condition evaluated is the angle between the z and x axis. If the angle is greater than negative seventy and less than negative fifty degrees, then a linear scaling function is used for the output to the pager motor. If the angle exceeds negative fifty degrees, the output to the pager motor may be set to its maximum value. This purpose of this vibration motor is to improve the positioning of the wrist such that it remains generally perpendicular to the forearm during the bicep curl. Any rotation in the wrist may change the positioning of the muscles in the arm. This change in position can result in other muscles, such as the brachialis to be used instead of the bicep brachii muscle.
  • the same angle - that is, the angle between the z and x axis - is evaluated but the variation in the opposite direction.
  • the angle in the opposite direction is less likely to go awry because it is difficult for most people to move a wrist too far in the medial direction but the condition may be evaluated for complete form analysis.
  • the pager motor output may be set to full. If the angle is between forty and sixty degrees, then a linear scaling function for the output may be used.
  • Another condition evaluated in this low arm section is the change in angle between the z and y axis which is the angle on which the movement of the weight is executed. If the change in angle per fifty millisecond time divisions is greater than five degrees and less than twelve degrees, a linear scaling function is used to scale an output of the pager motor on the top of the lower arm. If the change in angle exceeds twelve degrees, then the output to the pager motor may be set to full level output. The negative version of these changes in angle also may be evaluated with the same methodology.
  • Embodiments of the present invention also may include a user interface configured to permit a user to operate the system 10.
  • the user interface may be perceived through any input/output display interface. Through the user interface, the user may identify the position or movement the subject will execute, designate which type of output the subject will receive, or enter information about optimal values of subject position or movement. If an embodiment of a system includes multiple detection components (e.g., a first wearable detection component, a second wearable detection component, a device-associated detection component), the user interface also may permit the user to record which detection components will be active at a particular time or for a particular session.
  • detection components e.g., a first wearable detection component, a second wearable detection component, a device-associated detection component
  • Another embodiment of the present invention includes a method 100 for evaluating movement of a subject.
  • One step of a method embodiment may include detecting information about a subject using a detection component.
  • Another step may include sending the information about the subject to a controller component.
  • the controller component may convert the detected information into a proper form for input into an algorithm or other computations.
  • the controller component may compare the detected information to optimal values for the movement of the subject or the position of the subject.
  • the controller component also may generate an output request configured to cause an output to convey information about the comparison between the detected information and the optimal values for the movement of the subject or the position of the subject. Such an output may be generated using an algorithm.
  • the controller component may transfer the output request to an output component.
  • the output component may emit the output.
  • Another method embodiment of the present invention may include a user arranging a wearable detection component on one or more portions of the subject.
  • a user also may place a device-associated detection component on a device.
  • the subject then takes a certain position or moves in a specific manner.
  • the detection component measures some aspect of the subject's position or movement to create detected information.
  • the detected information may be sent to a controller component, where it can be compared to optimal values for the movement of the subject or the position of the subject.
  • the controller component also may generate an output request configured to cause an output to convey information about the comparison between the detected information and the optimal values for the movement of the subject or the position of the subject.
  • Such an output may be generated using an algorithm.
  • the controller component may transfer the output request to an output component.
  • the output component may emit the output. The user may then perceive the output.
  • FIG. 17 illustrates an exemplary computer system 80 that may be used as a part of the system or to implement certain methods according to the invention.
  • One or more computer systems 80 may carry out the methods presented herein as computer code.
  • Computer system 80 includes an input/output display interface 802 connected to communication infrastructure 804 - such as a bus -, which forwards data such as graphics, text, and information, from the communication infrastructure 804 or from a frame buffer (not shown) to other components of the computer system 80.
  • the input/output display interface 802 may be, for example, a keyboard, touch screen, joystick, trackball, mouse, monitor, speaker, printer, any other computer peripheral device, or any combination thereof, capable of entering and/or viewing data.
  • Computer system 80 includes one or more processors 806, which may be a special purpose or a general-purpose digital signal processor that processes certain information.
  • Computer system 80 also includes a main memory 808, for example random access memory (“RAM”), read-only memory (“ROM”), mass storage device, or any combination thereof.
  • Computer system 80 may also include a secondary memory 810 such as a hard disk unit 812, a removable storage unit 814, or any combination thereof.
  • Computer system 80 may also include a communication interface 816, for example, a modem, a network interface (such as an Ethernet card or Ethernet cable), a communication port, a PCMCIA slot and card, wired or wireless systems (such as Wi-Fi, Bluetooth, Infrared), local area networks, wide area networks, intranets, etc.
  • main memory 808, secondary memory 810, communication interface 816, or a combination thereof function as a computer usable storage medium, otherwise referred to as a computer readable storage medium, to store and/or access computer software including computer instructions.
  • computer programs or other instructions may be loaded into the computer system 80 such as through a removable storage device, for example, a floppy disk, ZIP disks, magnetic tape, portable flash drive, optical disk such as a CD or DVD or Blu-ray, Micro-Electro-Mechanical Systems ("MEMS”), nanotechnological apparatus.
  • MEMS Micro-Electro-Mechanical Systems
  • computer software including computer instructions may be transferred from the removable storage unit 814 or hard disc unit 812 to the secondary memory 810 or through the communication infrastructure 804 to the main memory 808 of the computer system 80.
  • Communication interface 816 allows software, instructions and data to be transferred between the computer system 80 and external devices or external networks.
  • Software, instructions, and/or data transferred by the communication interface 816 are typically in the form of signals that may be electronic, electromagnetic, optical or other signals capable of being sent and received by the communication interface 816. Signals may be sent and received using wire or cable, fiber optics, a phone line, a cellular phone link, a Radio Frequency ("RF”) link, wireless link, or other communication channels.
  • RF Radio Frequency
  • Computer programs when executed, enable the computer system 80, particularly the processor 806, to implement the methods of the invention according to computer software including instructions.
  • the computer system 80 described herein may perform any one of, or any combination of, the steps of any of the methods presented herein. It is also contemplated that the methods according to the invention may be performed automatically, or may be invoked by some form of manual intervention.
  • the computer system 80 of FIG. 17 is provided only for purposes of illustration, such that the invention is not limited to this specific embodiment. It is appreciated that a person skilled in the relevant art knows how to program and implement the invention using any computer system.
  • the computer system 80 may be a handheld device and include any small-sized computer device including, for example, a personal digital assistant ("PDA"), smart hand-held computing device, cellular telephone, or a laptop or netbook computer, hand held console or MP3 player, tablet, or similar hand held computer device, such as an iPad ® , iPad Touch ® or iPhone ® .
  • PDA personal digital assistant
  • smart hand-held computing device such as an iPad ® , iPad Touch ® or iPhone ®
  • cellular telephone such as an iPad ® , iPad Touch ® or iPhone ®
  • laptop or netbook computer such as an iPad ® , iPad Touch ® or iPhone ®
  • FIG. 18 illustrates an exemplary cloud computing system 90 that may be used to implement the methods according to the present invention.
  • the cloud computing system 90 includes a plurality of interconnected computing environments.
  • the cloud computing system 90 utilizes the resources from various networks as a collective virtual computer, where the services and applications can run independently from a particular computer or server configuration making hardware less important.
  • the cloud computing system 90 includes at least one client computer 92.
  • the client computer 92 may be any device through the use of which a distributed computing environment may be accessed to perform the methods disclosed herein, for example, a traditional computer, portable computer, mobile phone, personal digital assistant, tablet to name a few.
  • the client computer 92 includes memory such as random access memory (“RAM”), read-only memory (“ROM”), mass storage device, or any combination thereof.
  • RAM random access memory
  • ROM read-only memory
  • mass storage device or any combination thereof.
  • the memory functions as a computer usable storage medium, otherwise referred to as a computer readable storage medium, to store and/or access computer software and/or instructions.
  • the client computer 92 also includes a communications interface, for example, a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, wired or wireless systems, etc.
  • the communications interface allows communication through transferred signals between the client computer 92 and external devices including networks such as the Internet 94 and cloud data center 96. Communication may be implemented using wireless or wired capability such as cable, fiber optics, a phone line, a cellular phone link, radio waves or other communication channels.
  • the client computer 92 establishes communication with the Internet 94 - specifically to one or more servers - to, in turn, establish communication with one or more cloud data centers 96.
  • a cloud data center 96 includes one or more networks 99a, 99b, 99c managed through a cloud management system 98.
  • Each network 99a, 99b, 99c includes resource servers 97a, 97b, 97c, respectively.
  • Servers 97a, 97b, 97c permit access to a collection of computing resources and components that can be invoked to instantiate a virtual machine, process, or other resource for a limited or defined duration.
  • one group of resource servers can host and serve an operating system or components thereof to deliver and instantiate a virtual machine.
  • resource servers can accept requests to host computing cycles or processor time, to supply a defined level of processing power for a virtual machine.
  • a further group of resource servers can host and serve applications to load on an instantiation of a virtual machine, such as an email client, a browser application, a messaging application, or other applications or software.
  • the cloud management system 98 can comprise a dedicated or centralized server and/or other software, hardware, and network tools to communicate with one or more networks 99a, 99b, 99c, such as the Internet or other public or private network, with all sets of resource servers 97a, 97b, 97c.
  • the cloud management system 98 may be configured to query and identify the computing resources and components managed by the set of resource servers 97a, 97b, 97c needed and available for use in the cloud data center 96.
  • the cloud management system 98 may be configured to identify the hardware resources and components such as type and amount of processing power, type and amount of memory, type and amount of storage, type and amount of network bandwidth and the like, of the set of resource servers 97a, 97b, 97c needed and available for use in the cloud data center 96.
  • the cloud management system 98 can be configured to identify the software resources and components, such as type of Operating System ("OS"), application programs, and the like, of the set of resource servers 97a, 97b, 97c needed and available for use in the cloud data center 96.
  • OS Operating System
  • the present invention is also directed to computer products, otherwise referred to as computer program products, to provide software to the cloud computing system 90.
  • Computer products store software on any computer useable medium, known now or in the future. Such software, when executed, may implement the methods according to certain embodiments of the invention.
  • Examples of computer useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, optical storage devices, Micro-Electro-Mechanical Systems (“MEMS”), nanotechnological storage device, etc.), and communication mediums (e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.). It is to be appreciated that the embodiments described herein may be implemented using software, hardware, firmware, or combinations thereof.
  • the cloud computing system 90 of FIG. 18 is provided only for purposes of illustration and does not limit the invention to this specific embodiment. It is appreciated that a person skilled in the relevant art knows how to program and implement the invention using any computer system or network architecture.

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Dentistry (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Physiology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Embodiments of the present invention permit evaluating and teaching a user how to move in a specific manner, such as performing an exercise. Certain embodiments include a detection component configured to detect the user movement, an output component configured to provide feedback regarding the user movement, and a controller component for processing the information generated by the other components. Certain embodiments also may permit tracking information regarding the user movement.

Description

SYSTEM AND METHODS FOR EVALUATING AND PROVIDING FEEDBACK REGARDING MOVEMENT OF A SUBJECT
PRIORITY CLAIM
This application claims the benefit of U.S. Provisional Application No.
61/534,643 filed September 14, 2011.
FIELD OF THE INVENTION
The present invention relates generally to evaluating a subject, and more specifically, to an improved system and methods for evaluating a position or movement of a subject and providing feedback regarding such position or movement.
BACKGROUND OF THE INVENTION
Health care providers recognize the health benefits of regular exercise. However, there are certain risks associated with many exercises. For example, if a person does not perform an exercise with a certain form or pace, the person risks injury. Also, performing an exercise incorrectly may not optimize the person's efforts to achieve a certain goal, such as improving strength, flexibility, or agility.
Clearly, it is advantageous to perform an exercise with appropriate form and pace. There are challenges associated with learning the appropriate form and pace of an exercise. For example, a person could obtain information about an exercise from a general source such as a book, an article, or a video. However, the person may find it difficult to self-evaluate and determine whether the exercise is performed correctly. Also, general source information is not tailored to the specific person's body or goals.
To provide outside evaluation and personalized instruction, a health care provider may instruct and supervise a person's exercise. However, supervision of a health care provider including, for example, a personal trainer, athletic trainer, physical therapist, or occupational therapist, often is cost prohibitive. Even if a health care provider shows the person how to perform an exercise a few times, the person may not perform the exercise correctly in subsequent sessions when the health care provider is no longer supervising.
Another challenge associated with exercise is that it often takes considerable time before a person can perceive results. Accordingly, it is beneficial to have some sort of immediate feedback to the person regarding the performance. Such feedback may be related to the form and pace of the exercise, for example, to optimize exercise performance. Feedback also may be related to encouragement or entertainment to foster compliance or adherence with an exercise plan.
Also, it may be beneficial to track data regarding the person's exercise.
Currently available systems and methods for tracking exercise data often require manual entry of information into a database or log book, which is time consuming and prone to error.
Clearly, there is a demand for a system and methods configured to evaluate movement of a subject, provide feedback regarding such movement, and permit automatic tracking of exercise data. The present invention satisfies this demand.
SUMMARY OF THE INVENTION
The present invention includes a system and methods for evaluating movement of a subject. For purposes of this application, a "subject" may include a person, an animal, a machine such as a robot, or another object that is capable of moving. Also for purposes of this application, a "user" may be any person using the system, specifically, a subject or may be a non-subject. A non-subject person may include a coach, a trainer, a therapist, a teacher, or another, who is assisting the subject with evaluating or learning a position or movement.
Certain embodiments of the present invention are configured to evaluate a specific type of movement or a wide range of types of movements. An embodiment configured to evaluate a specific type of movement may be configured to evaluate an unassisted movement such as an abdominal crunch, sit-up, lunge, swimming stroke, running gait, gymnastics skill, a yoga position, a Pilates position, martial arts action, or other movement that may be performed without assistance from a device. Certain embodiments may be configured to evaluate a device-associated movement such as rowing, bicycling, bicep curl, leg curl, lateral arm raise, bench press, chest fly, thigh lift, golf swing, tennis swing, typing on a keyboard, using a tool, to name a few. For purposes of this application, a "device" may include a free weight, weight machine, a bicycle, rowing machine, paddle, tool, keyboard, sport equipment, such as a golf club, tennis racket, baseball bat, bowling ball, soccer ball, football, cricket bat, fishing pole, uneven bar, vault, ice skate, or skateboard, or other device configured to be used in association with a movement of the subject.
Embodiments of the present invention may include a detection component, output component, and a controller component.
A detection component may be configured to detect information about the movement, position, or orientation of a subject, a portion of the subject such as a body part, or a device. A detection component may include an accelerometer, motion detector, sensor, camera, video camera, or other measuring element. A detection component may be configured to send and receive information to and from a controller component.
In certain embodiments, a detection component is mounted on, integrated with, or otherwise connected to a wearable component to form a wearable detection component. A wearable detection component may be configured to be positioned relative to the subject such as around a finger, hand, lower arm, upper arm, foot, lower leg, upper leg, both legs, hips, waist, chest, shoulders, head, or other portion of the subject. In certain embodiments, the wearable detection component is tailored, for example, sized and shaped to be worn by a particular subject or a particular portion of the subject. Other embodiments of a wearable detection component are customizable such that each wearable detection component can be worn by subjects having a variety of sizes and shapes or can be worn by a single subject on more than one body part.
A customizable wearable detection component may include a customization component such as flexible material or fasteners that may be fastened at various levels to accommodate various sizes and shapes. Fasteners may include hook and loop fastener, hook and eye component, reusable adhesive, single-use adhesive, button, clip, slide, clasp, male closure component and female closure component, or any other configuration that will releasably join one section of the wearable component to another section of the wearable component to manage the size and shape of the wearable component.
The material of the wearable component also may be configured to protect the subject from electrical shocks using, for example, an insulation layer positioned closest to the subject's body while wearing the system 10 or a component of a system 10.
In certain embodiments, a detection component is mounted on, integrated with, or otherwise connected to a device. A device-associated detection component may be configured to detect information about the movement, position, or orientation of a device, while the device is in use by the subject. Accordingly, information about the subject can be derived from information generated from a device-associated detection component.
Certain embodiments include an output component configured to provide feedback, such as haptic feedback, auditory feedback, visual feedback, or olfactory feedback. An output component may be positioned to be perceivable to the subject or to another user of the system. An output component may be configured to send and receive information to and from a controller component.
An output component also may be configured to provide a scaled output. For example, if a subject moves a small amount (below a certain threshold) outside of a desired path, the output intensity may be low. If a subject move outside of a desired path an increased amount (between another set of thresholds), the output intensity may be a medium level. If a subject moves far outside of a desired path (above a higher threshold), the output intensity may be a high level. An output component may be configured to provide any number of levels of output intensity. A haptic feedback output component may include a vibration motor, pager motor, shape-shifting component (e.g., button pops out), tapping pointer, or indicator, each of which is configured to cause some tactile output.
An auditory feedback output component may include a speaker, amplifier, or any other sound emitter.
A visual feedback output component may include a monitor, screen, touchscreen, display, light bulb, LED, or other interface that permits displaying visual information.
Certain embodiments of the present invention include a controller component configured to process information from the detection component and communicate with the detection component and the output component. A controller component may include a microcontroller or processor such as a special purpose or a general-purpose digital signal processor that processes certain information. A controller component also may include other components to form a computer system, which is described more completely in the detailed description of this application.
An objective of the present invention includes evaluating movement of a subject.
Another objective of certain embodiments of the present invention includes evaluating the movement of one limb of a subject.
Another objective of certain embodiments of the present invention includes evaluating the movement of two limbs of a subject.
Another objective of certain embodiments of the present invention includes evaluating the movement of a core of a subject.
Another objective of certain embodiments of the present invention includes evaluating the movement of an entire body of a subject.
Another objective of certain embodiments of the present invention includes evaluating a position of a subject.
Another objective of certain embodiments of the present invention includes providing feedback regarding subject movement. Another objective of certain embodiments of the present invention includes providing haptic feedback regarding subject movement.
Another objective of certain embodiments of the present invention includes providing auditory feedback regarding subject movement.
Another objective of certain embodiments of the present invention includes providing visual feedback regarding subject movement.
Another objective of certain embodiments of the present invention includes providing olfactory feedback regarding subject movement.
An additional objective of certain embodiments of the present invention is to provide entertainment to a subject.
An additional objective of certain embodiments of the present invention is to provide reinforcement and encouragement to a subject.
An additional objective of certain embodiments of the present invention is to provide a cost-efficient system for instructing a subject on how to perform certain positions, exercises, or movements.
An additional objective of certain embodiments of the present invention is to provide a cost-efficient system for teaching a subject how to interact with a device such as a tool, for example, to perform a task.
An additional objective of certain embodiments of the present invention is to position one or more output components relative to the subject such that the subject will quickly perceive how to improve execution of a position or movement.
An additional objective of certain embodiments of the present invention is to perform a dumbbell bicep curl and avoid setting off an output component such as a vibration motor.
An additional objective of certain embodiments of the present invention is to interpret an output vibration as a gentle push against a subject body part such that the sensation may be perceived as physical push toward an improved form or movement.
The present invention and its attributes and advantages will be further understood and appreciated with reference to the detailed description below of presently contemplated embodiments, taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The preferred embodiments of the invention will be described in conjunction with the appended drawings provided to illustrate and not to the limit the invention, where like designations denote like elements, and in which:
FIG. 1A is a block diagram of an embodiment of the present invention;
FIG. 1 B is a block diagram of an embodiment of the present invention;
FIG. 1C is a block diagram of an embodiment of the present invention;
FIG. 2 is a block diagram of an embodiment of the present invention;
FIG. 3 is a block diagram of an embodiment of the present invention;
FIG. 4 is an anterior view of a human body;
FIG. 5A illustrates a subject using an embodiment of the present invention;
FIG. 5B illustrates a subject using an embodiment of the present invention;
FIG. 6A illustrates a subject using an embodiment of the present invention;
FIG. 6B illustrates a subject using an embodiment of the present invention;
FIG. 7 illustrates a subject using an embodiment of the present invention; FIG. 8 illustrates a subject using an embodiment of the present invention; FIG. 9 illustrates a subject using an embodiment of the present invention; FIG. 10 illustrates a method embodiment of the present invention;
FIG. 11 illustrates a method embodiment of the present invention;
FIG. 12 illustrates a method embodiment of the present invention;
FIG. 13 illustrates a method embodiment of the present invention;
FIG. 14 illustrates an embodiment of a detection component;
FIG. 15 illustrates an embodiment of an output component;
FIG. 16 illustrates an embodiment of a power regulator; FIG. 17 illustrates an embodiment of an exemplary computer system; and FIG. 18 illustrates an embodiment of a cloud computing system.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
For purposes of this application, certain embodiments of the present invention are discussed in reference to a system and methods configured for use in evaluating movement of an arm and, specifically working on the bicep brachii muscle, but the discussion is merely exemplary. The present invention is applicable to evaluating any position or movement of a subject including unassisted movement or device-associated movement.
FIG. 1A illustrates an embodiment of the present invention that includes a detection component 20 and an output component 30. Additional embodiments may include voltage regulators, 1k resistors, BUZ73 CMOS, diodes, controller component s such as a microcontroller 41 , and a software program 100.
A detection component 20 may be configured to detect information about the movement, position, or orientation of a subject, a portion of the subject such as a body part, or a device. A detection component 20 may include an accelerometer, motion detector, sensor, camera, video camera, or other measuring element.
FIG. 14 illustrates an embodiment of an accelerometer circuit. In the accelerometer interface, six ports on the microcontroller 41 may be initialized to take in six analog inputs and used to guide the output component. The analog inputs used port A.O through A.5 where ports A.1 , A.3, and A.5 may be used for the accelerometer readings from upper arm, and the remaining ports A.O, A.2, and A.4 may be used for accelerometer readings from a first portion of a subject 15. These ports outline the interface between the microcontroller 41 and the outputs from the accelerometers. Powering the accelerometers may include using a voltage regulator circuit. An embodiment of a circuit 24 for a power regulator, which may power the accelerometers at, for example, 3.3 V, is illustrated in FIG. 16. Regarding the location of a detection component 20, a detection component 20 may be positioned directly in contact with the subject 15 or directly in contact with a wearable component that is directly in contact with a subject 15. Certain embodiments of a detection component 20 are configured not to directly contact the subject 5. In such embodiments, the detection component 20 may detect information about the subject 15 indirectly, such as by detecting a position or movement of a device 70 with which the subject 15 is interacting or by sending out a signal and assessing the signal response.
Another component of embodiments of the system 10, an output component 30, may be configured to provide feedback, such as haptic feedback, auditory feedback, visual feedback, or olfactory feedback. An output component 30 may be positioned to be perceivable to the subject 15 or to another user of the system 10.
An embodiment of the output component 30 configured to provide haptic feedback is discussed below. However, certain components and steps can be adapted to permit other types of feedback.
An embodiment of an output component 30 may include a pager motor including a motor driver circuit 32, as illustrated in FIG. 15. The pager motor circuit 32 may be separated from the accelerometer by an interface to the software 100. The pager motor 32 may be powered by a six "pulse-width modulation" or "PWM" channel output from a microcontroller 41.
Certain embodiments of a microcontroller 41 include a microcontroller timer having two PWM channels. The output of the PWM channel may be dependent on the analog inputs from the accelerometer hardware outputs and calculations done by the software. The PWM channel output may be outputted on either pin B.3, B.4, D.4, D.5, D.6, or D.7 depending on the location of the pager motor on the subject 15 body part such as an arm.
In order to power these motors directly without causing them to overheat, the circuit illustrated in FIG. 15 may be used. From the pin, the output of the PWM channel may be put through a one kilo-ohm resistor to ground and to the gate of a CMOS BUZ73 chip. Depending on the output of the PWM channel, the BUZ73 allows the Vcc voltage to flow through the diode and then through the pager motor to ground. A higher period of the PWM channel may cause a higher voltage to pass through the pager motor, thereby increasing the amount of force emitted by the output component. The voltage from the vibration motor flow through the BUZ73 from drain to source and the source is then connected to ground. The maximum voltage, and thus the maximum force provided by the motor, allowed by the vibration motor is 4.5 V which is slightly less than Vcc of five volts.
Certain embodiments of a system of the present invention may include a controller component 40 configured to process information. A controller component 40 also may process instructions for controlling other components of the system 10. As illustrated in FIG. 1 B, a controller component 40 is configured to communicate with a detection component 20 and an output component 30. As illustrated in FIG. 1 C, certain embodiments of a detection component 20 are configured to send and receive information to and from an output component 30 or controller component 40. Also illustrated in FIG. 1 C, certain embodiments of an output component 30 are configured to send and receive information to and from a detection component 20 or controller component 40.
Communication between system components may be facilitated by physical wires 22 or wireless communication such as radio frequency receivers and transmitters, Bluetooth, ZigBee, 802.15.4, or any other manner for communicating data known in the art.
FIG. 2 illustrates an embodiment of a system 10 that includes more than one detection component - a first detection component 20A and a second detection component 20B. Each embodiment of a system 10 may include one or multiple detection components 20.
The embodiment of a system 0 illustrated in FIG. 2 also includes multiple output components - a first output component 30A and a second output component 30B. Each embodiment of a system 10 may include one or multiple output components 30. FIG. 3 illustrates an embodiment of a system 10 including remote information storage unit 50. For purposes of this application, the term "remote" means not directly physically connected, and does not require any distance other than lack of physical contact. A remote information storage unit 50 may be used to store tracked information related to the subject's position or movement. Also, a remote information storage unit 50 may include a database related to a subject's goals, optimal values, or improved position and movement information. Such information may permit comparison between the detected values, goal values, and optimal values of position or movement measurements. More generally, position or movement information may include height, weight, speed, velocity, orientation, force, size, torque, angle relative to a reference point, rate of repetition, or value defined by another measurement. For purposes of this application, the "optimal values" of a measurement may include values of position or movement known in the art to maximize strength training, muscle toning, flexibility, task-learning, efficient movement, or another objective of the subject.
Also, position and movement information related to executing an exercise - either with a weight or without a weight - may include information about a target muscle group. For example, a target muscle group for a bicep curl is the "bicep brachii" or "bicep". A subject may maximize force applied to the bicep, and accordingly, improve strength, by executing a bicep curl within certain parameters. Such parameters include lifting and lowering the forearm at an appropriate rate, angle, with steady wrist orientation, avoiding dropping a shoulder, consistently with respect to another bicep, and other.
FIG. 4 illustrates an embodiment of a subject 15, specifically, a human. As described above, a subject 15 may be anything capable of moving.
In FIG. 5A and FIG. 5B, the subject 15 is illustrated holding a device 70, specifically, a weight. In FIG. 5A, the arm of the subject 15 is generally straight. In FIG. 5B, arm of the subject 15 is shown in a flexion position. The arrows 5 illustrate the general movement of the subject's arm. The detection component 20 illustrated in FIG. 5A and FIG. 5B is positioned to permit detection of information regarding elbow movement and shoulder movement.
As illustrated in FIG. 5A and FIG. 5B, a detection component 20 may be mounted on a wearable component 60. The illustrated embodiment of a wearable component 60 is an arm band 61. However, a wearable component 60 may be any article generally worn by a subject or configured to be worn by a subject. For example, a wearable component 60 may include a head band, ear bud, shoe, sock, glove, sleeve, shirt, pants, shorts, ring, any other article of clothing or accessory. A wearable component 60 may be configured to receive a detection component 20 by including a detection component holder or attachment element. Certain embodiments of a wearable component 60 may be retrofitted to receive a detection component 20.
In certain embodiments, an output component 30, such as a vibration motor 31 , may be positioned to provide haptic feedback to the subject. In such embodiments, the output component 30 may be positioned to relative to the body part that has a form or is moving in a way that the subject wishes to modify. For example, in the illustrated embodiment, each vibration motor 31 is positioned to correspond with a general direction in which the elbow 14 could shift. Specifically, a first vibration motor 31 A is positioned near the anterior side 12 of the arm, a second vibration motor 31 B is positioned near the posterior side 13 of the arm, and a third vibration motor 31 C is positioned near the outer side of the arm. If the subject is moving the elbow 14 too far in the anterior direction 12, the anterior vibration motor 31 A will be activated. If the subject moves the elbow 14 too far in the posterior direction 13, the posterior vibration motor 31 B will be activated. Clearly, such positioning of the vibration motors 31 helps the subject to perceive what corrections maybe be made to improve performance.
In certain embodiments, the controller component 40 is also mounted on, integrated with, or otherwise connected to the wearable component 60.
The embodiment illustrated in FIG. 6A includes a first wearable component 60A and a second wearable component 60B. The second wearable component 60B includes a second detection component 20B, a fourth vibration motor 31 D, fifth vibration motor 31 E, and sixth vibration motor 31 F. The fourth vibration motor 31 D is positioned on the top of the subject 15 arm and is activated upon, for example, rate of bicep curl exceeding 1.7 radians per second or another reference point, when the movement is at full extension, and just past the point of load maximization. The point defined as just past the point of load maximization is around one hundred to one hundred and ten degree angle at the elbow 14. The point of maximum load may be at ninety degrees where the torque of the weight is maximized because torque is a function of sine. The rate checking of the bicep curl is done through a change in angle calculation in order to maintain a sufficiently low angular velocity.
The two vibration motors 31 E, 3 F positioned, for example, on the bottom of the lower arm will emit an output configured to be perceivable by the subject. Such an output will provide information about whether the subject is using optimal form with respect to a wrist 16 position or orientation. If the wrist deviates in rotation past a wrist reference point value in either direction, the vibration motors 31 may be activated to notify the subject that the load on the bicep brachii muscle is not maximized and other muscles on the arm, such as the brachialis, are being used instead. The rate and angle calculation may be done in the software of the controller component 40. If the rate and angle results deviate past a certain threshold from the optimal values, the vibration motor 31 corresponding to that deviation will be activated.
Embodiments of the present invention also may include a detection component 20 associated with or integrated in a device 70. A device- associated detection component 20C may provide information about the rate of movement of the device 70 or other information about the subject's use of the device 70. A device-associated detection component 20C may be integrated with a game controller, sport equipment, or any other device.
Certain embodiments of a device-associated detection component 20C may include multiple device components 20. For example, in a device such as a baseball bat, a first detection component 20 may be positioned relative to the gripping portion of the bat to measure information about the subject's grip, swing, and speed of movement. A baseball bat a second detection component 20 may be positioned relative to the intended contact area of the bat to measure information about the subject's swing, the speed of the ball, the timing of contact with the ball, the angle of the bat relative to the subject, the angle of the contact area relative to the gripping area, and other information. Another embodiment of a device, such as a bicycle, may include a first detection component 20 positioned relative to a first bicycle pedal and a second detection component 20 positioned relative to a second bicycle pedal to permit comparison of the force used by each leg and possibly detect imbalances between the effort or strength in each leg. Yet another embodiment of a device, such as a rowing machine, may include a detection component positioned relative to each foot pedal and each handle.
Embodiments of a detection component 20 may be configured in a game console, a computer system, or another device. In such embodiments, a detection component 20 may be positioned such that it is not in either direct or indirect contact with the subject.
FIG. 7 illustrates an embodiment of the present invention in association with a subject 15 performing a lunge type exercise. The wearable components 60 are configured as a first leg sleeve 62A, a second leg sleeve 62B, and a shoe 63. In certain embodiments, measurements of a body part of the subject 15 may be obtained or recorded, but no output is provided to that body part. As an example, the detection component 20 attached to the shoe 63 detects information about the shoe 63 and the subject 15 wearing the shoe 63, but does not permit delivery of an output to the subject 15 foot. However, in certain embodiments, an output component 30 is configured to deliver an output directed to the body part measured by the detection component 20. As an example, the first leg sleeve 62A includes a detection component 20 such as an accelerometer and an output component 30 such as a vibration motor configured to deliver a vibration to a side of the leg. FIG. 8 illustrates an embodiment of the present invention in which the subject 15 is performing a reverse crunch exercise. The wearable components 60 are configured as a leg sleeve 62 and a core wrap 64. Clearly, a wearable component 60 can be configured for any part of the body and a subject 15 may wear any number of wearable components 60. The components illustrated in FIG. 8 are configured to function in association with a computer system 80 or a remote controller component 40.
Certain embodiments of the present invention include a wearable detection unit 65 that includes a wearable component 60 and a detection component 20. Other embodiments may include a wearable detection output unit 66 that includes a wearable component 60, a detection component 20, and an output component 30. FIG. 9A and FIG. 9B illustrate embodiments of the present invention configured as combination units 65, 66. The wearable components 60 are configured as finger rings positioned on fingers 17 of the subject 5. Such embodiments may be useful for learning to type, learning to play the guitar or piano, or other types of finger-based skills.
The system 10 may be used in configuration with a method 100. An embodiment of a method 100 implements a system 10 having a detection component 20 configured as an accelerometer, an output component 30 configured as a motor, and a controller component 40 configured as a microcontroller is discussed. However, this discussion is a non-limiting example. The discussion will also identify a number of reference values, threshold values, and optimal values that are non-limiting examples of how the system 10 and methods 100 may be implemented.
Certain embodiments of a method 100 include a software program executing certain steps. One such program includes steps such as initializing the microcontroller to setup six different analog inputs, six pulse width modulator channels, the uart for debugging statements, and enabling the timer zero overflow vector. After the microcontroller components initialize, a timer zero overflow vector may continually decrement the variable called an "accumulator" to zero value. The accumulator may be set to a high value of twelve, which results in a running period of roughly forty nine to fifty micro-seconds. Such time base may be used for other calculations. While the accumulator is being decremented, the program enters a main loop and checks to see if the time based time period is up. If the time base period is up, then the program reads in its analog inputs and stores the relevant values as characters in universal variables. The program then executes a feedback control in which relevant parameters of the upper arm and the lower arm are evaluated. Such parameters may include a number of different angles and speed of exercise execution. Each parameter value is evaluated against base values that are calculated by from the optimal rates and appropriate degrees of freedom. Depending on where the analog input value lands, the pulse-width modulator period may be adjusted to cause the corresponding vibration motor to vibrate at increasingly high speed to indicate how far the user is deviating from the optimized form of the bicep curl. Clearly, the subject 15 can improve performance of the exercise by, for example, moving the relevant body part away from or toward the haptic feedback stimulus.
Certain embodiments of the architecture include a software/hardware interface 103 between the hardware and software components configured to permit exchange of a hardware input and an software output. After initializing, the code enters a continuous loop. On each iteration of the loop, the software may read the analog voltages from the accelerometers, then calculates and sets the appropriate motor speeds to provide user feedback through an output component. This whole process may take place at 20 Hz or any speed configured to permit seamless operation from a human perspective. In certain embodiments of the present invention, a Mega32 chip could be used and the clock speed was set to 16 MHz.
Additional steps of the program 100 may include running an initialization function. As illustrated in FIG. 11 , to start off the initialization, function port A may be set to an input by setting up the analog input on the port. The analog input may be enabled by setting the ADC left adjust result bit to one of the ADMUX register. Also, the MUXO bit of the ADMUX register may be set to one to set the gain of the analog input. Next, the analog input may be enabled by setting the ADEN bit of the ADC control and status register. In addition, the ADC start conversion bit may be set to one to start the analog conversion. After the analog inputs on port A are enabled, the uart may be enabled to permit debugging of the code during testing by reading appropriate parameters to the hyperterminal.
A printf statement may be used to show that the program is executing. Next, the data direction registers are set for the PWM channel outputs. The pin set to outputs may be B.3, B.4, D.6, D.7, D.4, and D.5. Next, the prescalars, through timer counter control register B, for timers zero and one may be set to four which corresponds to a division of the clock speed by 1024. The timer counter control register for timers one is configured to permit the timer to run in fast mode such as an 8-bit mode. Running in fast 8-bit mode is necessary because the output of the PWM channel would have a different magnitude going with a time base of approximately 50 milliseconds. The prescalar of timer one is also set to 1024. Next, the timer zero overflow interrupt service routine may be enabled. The accumulator variables used in the timer zero overflow ISR is initialized and the ISRs are cranked up.
In the main function the main loop is begun, and before program execution continues, there may be a waiting period. The time based may be established by using the timer zero overflow interrupt service routine which may require twelve cycles of 4.1 milliseconds to complete before the program is run again. This allows for synchronous and easy calculations of the arm position and change in angle. After checking the time base, the readAccel() function is called which reads in all six analog inputs from the accelerometers into their corresponding global variables.
Also in the readAccel() function, as displayed in FIG. 12, the ADMUX register may be set and ADC control and status register which starts the conversion on all six analog inputs. The program then waits until the conversion is complete and then may read the value into a chart with the appropriate name of the axis being measured on the upper or lower arm. A number of analogy inputs, such as 5 or 10 or 20 repetitions may be recorded and then are averaged for improved results and more accurate outputs. The average values are then scaled based on a calibration function developed from data taken on each accelerometer's angle sensitivity with respect to each axis. Then the relevant angles are calculated using an arctangent function and stored in global variables. The relevant angles of the upper arm are the angle between the x and y axis, and the z and y axis. For the lower arm, the relevant angles are between the z and x axis, and the z and y axis. These angles are calculation based on the forces in the g field measured by the accelerometers.
The program then returns to the main loop and may enter the motorControlO function, which is displayed in FIG. 13. In motorControl, control is separated between the upper arm and lower arm vibration motor outputs. For the upper arm, the angle between the z and y axis is evaluated in the negative range. If the angle exceeds negative thirty degrees, then the output of the PWM channel to side of the upper arm may be set to full level output. If the angle is between negative fifteen and thirty there is a linear scaling function of increasing magnitude to notify the user of incorrect position of the elbow. This assists the subject in avoiding swinging and using momentum to lift the weight. Next, the angle between the x and y axis is evaluated, and if it exceeds positive thirty, then the output to the front of the upper arm may be set to full level output. If the angle is between thirty and zero degrees, then a linear scaling function is used to run the pager motor. Finally, on the upper arm, the angle between the x and y axis is evaluated to determine whether it exceeds negative forty degrees and whether the PWM channel may be set to the maximum value. If the angle is between negative twenty and forty, then a linear scaling function is used for the output to the pager motor. This section of code assesses whether the elbow and shoulder are shifting outward. It is beneficial to keep the elbow and shoulder stationary (and not shifting outward) to permit the pivot point of the weight to be stationary, which allows for the force produced by the weight through gravity to be counter acted entirely by the bicep brachii muscle.
The next section of the motorControl() function keeps track of the movement and positioning of the lower arm. A calculation of the change in the angle between the z and y axis is done so that the rate of the bicep curl can be tracked. The first condition evaluated is the angle between the z and x axis. If the angle is greater than negative seventy and less than negative fifty degrees, then a linear scaling function is used for the output to the pager motor. If the angle exceeds negative fifty degrees, the output to the pager motor may be set to its maximum value. This purpose of this vibration motor is to improve the positioning of the wrist such that it remains generally perpendicular to the forearm during the bicep curl. Any rotation in the wrist may change the positioning of the muscles in the arm. This change in position can result in other muscles, such as the brachialis to be used instead of the bicep brachii muscle.
Next, the same angle - that is, the angle between the z and x axis - is evaluated but the variation in the opposite direction. The angle in the opposite direction is less likely to go awry because it is difficult for most people to move a wrist too far in the medial direction but the condition may be evaluated for complete form analysis. In this embodiment, if the angle is less than forty degrees, then the pager motor output may be set to full. If the angle is between forty and sixty degrees, then a linear scaling function for the output may be used.
Another condition evaluated in this low arm section is the change in angle between the z and y axis which is the angle on which the movement of the weight is executed. If the change in angle per fifty millisecond time divisions is greater than five degrees and less than twelve degrees, a linear scaling function is used to scale an output of the pager motor on the top of the lower arm. If the change in angle exceeds twelve degrees, then the output to the pager motor may be set to full level output. The negative version of these changes in angle also may be evaluated with the same methodology.
Once the motorControl() program reaches an end point, the time base is run out, and the next cycle of analog inputs and motor outputs are set to permit an improved execution of the dumbbell bicep curl to maximize the load on the bicep brachii muscle.
Embodiments of the present invention also may include a user interface configured to permit a user to operate the system 10. The user interface may be perceived through any input/output display interface. Through the user interface, the user may identify the position or movement the subject will execute, designate which type of output the subject will receive, or enter information about optimal values of subject position or movement. If an embodiment of a system includes multiple detection components (e.g., a first wearable detection component, a second wearable detection component, a device-associated detection component), the user interface also may permit the user to record which detection components will be active at a particular time or for a particular session.
Another embodiment of the present invention includes a method 100 for evaluating movement of a subject. One step of a method embodiment may include detecting information about a subject using a detection component. Another step may include sending the information about the subject to a controller component. Upon the controller component receiving the information about the subject, the controller component may convert the detected information into a proper form for input into an algorithm or other computations. The controller component may compare the detected information to optimal values for the movement of the subject or the position of the subject. The controller component also may generate an output request configured to cause an output to convey information about the comparison between the detected information and the optimal values for the movement of the subject or the position of the subject. Such an output may be generated using an algorithm. The controller component may transfer the output request to an output component. The output component may emit the output.
Another method embodiment of the present invention may include a user arranging a wearable detection component on one or more portions of the subject. A user also may place a device-associated detection component on a device. The subject then takes a certain position or moves in a specific manner. The detection component measures some aspect of the subject's position or movement to create detected information. The detected information may be sent to a controller component, where it can be compared to optimal values for the movement of the subject or the position of the subject. The controller component also may generate an output request configured to cause an output to convey information about the comparison between the detected information and the optimal values for the movement of the subject or the position of the subject. Such an output may be generated using an algorithm. The controller component may transfer the output request to an output component. The output component may emit the output. The user may then perceive the output.
FIG. 17 illustrates an exemplary computer system 80 that may be used as a part of the system or to implement certain methods according to the invention. One or more computer systems 80 may carry out the methods presented herein as computer code.
Computer system 80 includes an input/output display interface 802 connected to communication infrastructure 804 - such as a bus -, which forwards data such as graphics, text, and information, from the communication infrastructure 804 or from a frame buffer (not shown) to other components of the computer system 80. The input/output display interface 802 may be, for example, a keyboard, touch screen, joystick, trackball, mouse, monitor, speaker, printer, any other computer peripheral device, or any combination thereof, capable of entering and/or viewing data.
Computer system 80 includes one or more processors 806, which may be a special purpose or a general-purpose digital signal processor that processes certain information. Computer system 80 also includes a main memory 808, for example random access memory ("RAM"), read-only memory ("ROM"), mass storage device, or any combination thereof. Computer system 80 may also include a secondary memory 810 such as a hard disk unit 812, a removable storage unit 814, or any combination thereof. Computer system 80 may also include a communication interface 816, for example, a modem, a network interface (such as an Ethernet card or Ethernet cable), a communication port, a PCMCIA slot and card, wired or wireless systems (such as Wi-Fi, Bluetooth, Infrared), local area networks, wide area networks, intranets, etc. It is contemplated that the main memory 808, secondary memory 810, communication interface 816, or a combination thereof, function as a computer usable storage medium, otherwise referred to as a computer readable storage medium, to store and/or access computer software including computer instructions. For example, computer programs or other instructions may be loaded into the computer system 80 such as through a removable storage device, for example, a floppy disk, ZIP disks, magnetic tape, portable flash drive, optical disk such as a CD or DVD or Blu-ray, Micro-Electro-Mechanical Systems ("MEMS"), nanotechnological apparatus. Specifically, computer software including computer instructions may be transferred from the removable storage unit 814 or hard disc unit 812 to the secondary memory 810 or through the communication infrastructure 804 to the main memory 808 of the computer system 80.
Communication interface 816 allows software, instructions and data to be transferred between the computer system 80 and external devices or external networks. Software, instructions, and/or data transferred by the communication interface 816 are typically in the form of signals that may be electronic, electromagnetic, optical or other signals capable of being sent and received by the communication interface 816. Signals may be sent and received using wire or cable, fiber optics, a phone line, a cellular phone link, a Radio Frequency ("RF") link, wireless link, or other communication channels.
Computer programs, when executed, enable the computer system 80, particularly the processor 806, to implement the methods of the invention according to computer software including instructions.
The computer system 80 described herein may perform any one of, or any combination of, the steps of any of the methods presented herein. It is also contemplated that the methods according to the invention may be performed automatically, or may be invoked by some form of manual intervention.
The computer system 80 of FIG. 17 is provided only for purposes of illustration, such that the invention is not limited to this specific embodiment. It is appreciated that a person skilled in the relevant art knows how to program and implement the invention using any computer system.
The computer system 80 may be a handheld device and include any small-sized computer device including, for example, a personal digital assistant ("PDA"), smart hand-held computing device, cellular telephone, or a laptop or netbook computer, hand held console or MP3 player, tablet, or similar hand held computer device, such as an iPad®, iPad Touch® or iPhone®.
FIG. 18 illustrates an exemplary cloud computing system 90 that may be used to implement the methods according to the present invention. The cloud computing system 90 includes a plurality of interconnected computing environments. The cloud computing system 90 utilizes the resources from various networks as a collective virtual computer, where the services and applications can run independently from a particular computer or server configuration making hardware less important.
Specifically, the cloud computing system 90 includes at least one client computer 92. The client computer 92 may be any device through the use of which a distributed computing environment may be accessed to perform the methods disclosed herein, for example, a traditional computer, portable computer, mobile phone, personal digital assistant, tablet to name a few. The client computer 92 includes memory such as random access memory ("RAM"), read-only memory ("ROM"), mass storage device, or any combination thereof. The memory functions as a computer usable storage medium, otherwise referred to as a computer readable storage medium, to store and/or access computer software and/or instructions.
The client computer 92 also includes a communications interface, for example, a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, wired or wireless systems, etc. The communications interface allows communication through transferred signals between the client computer 92 and external devices including networks such as the Internet 94 and cloud data center 96. Communication may be implemented using wireless or wired capability such as cable, fiber optics, a phone line, a cellular phone link, radio waves or other communication channels.
The client computer 92 establishes communication with the Internet 94 - specifically to one or more servers - to, in turn, establish communication with one or more cloud data centers 96. A cloud data center 96 includes one or more networks 99a, 99b, 99c managed through a cloud management system 98. Each network 99a, 99b, 99c includes resource servers 97a, 97b, 97c, respectively. Servers 97a, 97b, 97c permit access to a collection of computing resources and components that can be invoked to instantiate a virtual machine, process, or other resource for a limited or defined duration. For example, one group of resource servers can host and serve an operating system or components thereof to deliver and instantiate a virtual machine. Another group of resource servers can accept requests to host computing cycles or processor time, to supply a defined level of processing power for a virtual machine. A further group of resource servers can host and serve applications to load on an instantiation of a virtual machine, such as an email client, a browser application, a messaging application, or other applications or software.
The cloud management system 98 can comprise a dedicated or centralized server and/or other software, hardware, and network tools to communicate with one or more networks 99a, 99b, 99c, such as the Internet or other public or private network, with all sets of resource servers 97a, 97b, 97c. The cloud management system 98 may be configured to query and identify the computing resources and components managed by the set of resource servers 97a, 97b, 97c needed and available for use in the cloud data center 96. Specifically, the cloud management system 98 may be configured to identify the hardware resources and components such as type and amount of processing power, type and amount of memory, type and amount of storage, type and amount of network bandwidth and the like, of the set of resource servers 97a, 97b, 97c needed and available for use in the cloud data center 96. Likewise, the cloud management system 98 can be configured to identify the software resources and components, such as type of Operating System ("OS"), application programs, and the like, of the set of resource servers 97a, 97b, 97c needed and available for use in the cloud data center 96.
The present invention is also directed to computer products, otherwise referred to as computer program products, to provide software to the cloud computing system 90. Computer products store software on any computer useable medium, known now or in the future. Such software, when executed, may implement the methods according to certain embodiments of the invention. Examples of computer useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, optical storage devices, Micro-Electro-Mechanical Systems ("MEMS"), nanotechnological storage device, etc.), and communication mediums (e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.). It is to be appreciated that the embodiments described herein may be implemented using software, hardware, firmware, or combinations thereof.
The cloud computing system 90 of FIG. 18 is provided only for purposes of illustration and does not limit the invention to this specific embodiment. It is appreciated that a person skilled in the relevant art knows how to program and implement the invention using any computer system or network architecture.
While the disclosure is susceptible to various modifications and alternative forms, specific exemplary embodiments of the present invention have been shown by way of example in the drawings and have been described in detail. It should be understood, however, that there is no intent to limit the disclosure to the particular embodiments disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the disclosure as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method for evaluating position or movement of a subject, comprising the steps of:
obtaining optimal values for a position or movement of a subject;
using a detection component to detect information about a subject to create detected information;
comparing the detected information with optimal values for movement of the subject to obtain a result;
assigning an output to the result; and
emitting an output perceivable by a subject.
2. The method of claim 1 , wherein the using step includes detecting information about movement of a subject in more than one direction.
3. The method of claim 1 , wherein the using step includes detecting information about movement of a subject along more than one axis.
4. The method of claim 1 , further comprising the step of formatting the detected information into a proper form for input into an algorithm.
5. The method of claim 1 , further comprising the steps of:
sending the information about the subject from a detection component to a controller component; and
receiving the information about the subject in the controller component.
6. The method of claim 1 , further comprising the steps of:
generating an output request configured to cause an output that conveys information about the result in said comparing step; and
transferring the output request from the controller component to an output component.
7. The method of claim 1 , further comprising the step of positioning a haptic feedback output component relative to the subject such that the subject can improve the movement by responding to the haptic feedback output component.
8. A system for evaluating and improving user movement, comprising:
a detection component configured to detect information about user movement to create detected information including information regarding movement in more than one plane;
an output component configured to emit an output upon receipt of an output request; and
a controller component configured to process detected information, generate said output request, and communicate with said detection component and said output component.
9. The system of claim 8, wherein said output component is a haptic feedback output component.
10. The system of claim 9, wherein said haptic feedback output component is positioned in contact with a part of the subject that is the object of the improvement such that an output of haptic feedback provides physical support for improving the movement.
11. The system of claim 8, wherein said output component is a visual feedback output component.
12. The system of claim 8, wherein said output component is an auditory feedback output component.
13. The system of claim 8, wherein said output component is an olfactory feedback output component.
14. The system of claim 8, further comprising a remote storage component configured to communicate with said controller component to permit storage of detected information and permit access to optimal values regarding position or movement of a subject.
15. The system of claim 8, further comprising a second output component and a second detection component.
16. The system of claim 8, wherein said detection component is connected to a wearable component configured to be worn by the subject.
17. The system of claim 16, wherein said wearable component includes a customization component configured to permit subjects of multiple sizes and shapes to wear said wearable component.
18. The system of claim 8, wherein said detection component is connected to a device configured to be used by the subject.
19. The system of claim 8, wherein said detection component is an accelerometer.
20. The system of claim 8, wherein said output component is a vibration motor.
PCT/US2012/055530 2011-09-14 2012-09-14 System and methods for evaluating and providing feedback regarding movement of a subject Ceased WO2013040424A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161534643P 2011-09-14 2011-09-14
US61/534,643 2011-09-14

Publications (1)

Publication Number Publication Date
WO2013040424A1 true WO2013040424A1 (en) 2013-03-21

Family

ID=47883787

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/055530 Ceased WO2013040424A1 (en) 2011-09-14 2012-09-14 System and methods for evaluating and providing feedback regarding movement of a subject

Country Status (1)

Country Link
WO (1) WO2013040424A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104635598A (en) * 2014-12-17 2015-05-20 惠州Tcl移动通信有限公司 Intelligent swimming wearing equipment and swimming monitoring system
CN106031824A (en) * 2015-03-20 2016-10-19 明跃国际健康科技股份有限公司 Wearable device capable of being used for different sport types
US9501946B1 (en) 2013-12-17 2016-11-22 University Of South Florida Systems and methods for stable haptic feedback over packet-switched networks
CN106358024A (en) * 2016-11-03 2017-01-25 京东方科技集团股份有限公司 Stroke monitoring system and stroke monitoring method
WO2018072972A1 (en) * 2016-10-21 2018-04-26 Robert Bosch Gmbh System for detecting a movement profile and for controlling a motor
GB2562218A (en) * 2017-05-04 2018-11-14 Clark Andrew Method to measure and improve smooth quality of movement
US10149646B1 (en) * 2017-06-13 2018-12-11 Elizabeth Andreadis System and method for objectively evaluating shoulder joint stability
US20200038218A1 (en) * 2016-10-05 2020-02-06 Bioservo Technologies Aktiebolag Armlifting support device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826578A (en) * 1994-05-26 1998-10-27 Curchod; Donald B. Motion measurement apparatus
US20020170193A1 (en) * 2001-02-23 2002-11-21 Townsend Christopher P. Posture and body movement measuring system
US20080061949A1 (en) * 2004-07-29 2008-03-13 Kevin Ferguson Human movement measurement system
US20100121228A1 (en) * 2006-01-09 2010-05-13 Applied Technology Holdings, Inc. Apparatus, systems, and methods for gathering and processing biometric and biomechanical data
US20100302015A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Systems and methods for immersive interaction with virtual objects

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826578A (en) * 1994-05-26 1998-10-27 Curchod; Donald B. Motion measurement apparatus
US20020170193A1 (en) * 2001-02-23 2002-11-21 Townsend Christopher P. Posture and body movement measuring system
US20080061949A1 (en) * 2004-07-29 2008-03-13 Kevin Ferguson Human movement measurement system
US20100121228A1 (en) * 2006-01-09 2010-05-13 Applied Technology Holdings, Inc. Apparatus, systems, and methods for gathering and processing biometric and biomechanical data
US20100302015A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Systems and methods for immersive interaction with virtual objects

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHANG ET AL.: "Tracking free-weight exercises.", LNCS, vol. 4717, September 2007 (2007-09-01), pages 19 - 37, XP019070908, Retrieved from the Internet <URL:http://bid.berkeley.edu/files/papers/47170019.PDF.pdf> [retrieved on 20121129] *
SPELMEZAN ET AL.: "Tactile motion instructions for physical activities.", CHI, 4 April 2009 (2009-04-04), pages 2243 - 2252, XP058114534, Retrieved from the Internet <URL:http://dl.acm.org/citation.cfm?id=1519044> [retrieved on 20121129], DOI: doi:10.1145/1518701.1519044 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501946B1 (en) 2013-12-17 2016-11-22 University Of South Florida Systems and methods for stable haptic feedback over packet-switched networks
CN104635598A (en) * 2014-12-17 2015-05-20 惠州Tcl移动通信有限公司 Intelligent swimming wearing equipment and swimming monitoring system
CN106031824A (en) * 2015-03-20 2016-10-19 明跃国际健康科技股份有限公司 Wearable device capable of being used for different sport types
US20200038218A1 (en) * 2016-10-05 2020-02-06 Bioservo Technologies Aktiebolag Armlifting support device
WO2018072972A1 (en) * 2016-10-21 2018-04-26 Robert Bosch Gmbh System for detecting a movement profile and for controlling a motor
CN106358024A (en) * 2016-11-03 2017-01-25 京东方科技集团股份有限公司 Stroke monitoring system and stroke monitoring method
GB2562218A (en) * 2017-05-04 2018-11-14 Clark Andrew Method to measure and improve smooth quality of movement
US10149646B1 (en) * 2017-06-13 2018-12-11 Elizabeth Andreadis System and method for objectively evaluating shoulder joint stability

Similar Documents

Publication Publication Date Title
US9008973B2 (en) Wearable sensor system with gesture recognition for measuring physical performance
US12011639B2 (en) Computerized exercise apparatus
WO2013040424A1 (en) System and methods for evaluating and providing feedback regarding movement of a subject
EP3060119B1 (en) Method for sensing a physical activity of a user
US9226706B2 (en) System, apparatus, and method for promoting usage of core muscles and other applications
US9135347B2 (en) Exercise tracking and analysis systems and related methods of use
US20190366154A1 (en) Physical activity training assistant
US20110251021A1 (en) Method and apparatus for facilitating strength training
CN105453128A (en) Portable computing device and analysis of personal data captured therefrom
US11911661B2 (en) Systems and methods for sensor-based sports analytics
WO2015139089A1 (en) System, method and apparatus for providing feedback on exercise technique
Wang et al. Advances for indoor fitness tracking, coaching, and motivation: A review of existing technological advances
EP4309747A1 (en) Device and system for upper extremity rehabilitation training based on information and communications technology
TW202303541A (en) Mixed-reality guided exercise training system
US20250170449A1 (en) Wearable device and method of monitoring and providing feedback of an exercise activity
US20250009261A1 (en) Wearable device and operating method thereof
KR20240014013A (en) Golf swing practice system for training selective muscle activation and golf training method using the same
KR20240013019A (en) Device providing golf training interface and golf training method using the same
IL291425A (en) A wearable device for measuring accuracy in physical activity and a method therefor
Wang et al. Advances for Indoor Fitness Tracking, Coaching, and Motivation
KR20180130271A (en) Apparatus of physical activity balance

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12831881

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12831881

Country of ref document: EP

Kind code of ref document: A1