Human-motion-training system
Certain embodiments of the present invention are directed to automated human-motion-training systems. These automated human-motion-training systems include a hardware platform that provides for stored-instruction processing and that includes memory, an I/O interface, and an audio-signal generation and output component, and an operating system or control program that executes on the hardware platform and that provides a program-execution environment. The automated human-motion-training systems further include components of the human-motion-training system that provide for automated proctoring of human-motion exercises and training regimes, including monitoring of a user's body position, producing feedback corresponding to a user's body position, and determining a user's performance in order to modify the exercises and training regimes so that they provide optimal-challenge-point-based training over the course of multiple repetitions and training sessions.
The present invention is related to computationally-assisted training systems and, in particular, to a computationally-assisted human-motion-training system that can run on a variety of different hardware and operating-system platforms and that uses feedback to provide optimal-challenge-point-based training to human users.
BACKGROUNDA wide variety of different types of training systems have been developed, over the past century, to assist training of human users to carry out various types of physical tasks, including physical-therapy-related exercises and movements, sports-related exercises and movements, dance routines, and a variety of other such tasks. However, to date, these training systems have met with mixed success. It is difficult to design training systems sufficiently flexible to provide detailed training and analysis of user execution and feedback to effectively assist a diverse range of users with varying capabilities, physical constraints, limb dimensions, and other such characteristics and parameters. In many cases, the training systems are meant to be partially or fully accompanied by human-trainer intervention, but, in the absence of a human trainer, effective monitoring of users' interactions with automated training systems is lacking or deficient. Moreover, in the absence of a human trainer, a user often lacks sufficient direction, control, and meaningful feedback to properly carry out exercises. Furthermore, even with a human trainer present, currently available training systems and human trainers often fail to optimize training sessions to provide maximum benefit to users. For all of these reasons, researchers and developers, manufacturers, and users of partially or fully automated training systems continue to seek training systems with new and improved functionality that better serve the of training-system users.
SUMMARYCertain embodiments of the present invention are directed to automated human-motion-training systems that are cost-effectively implemented on many different hardware, operating-system, and control-program platforms. Human-motion-training systems that represent embodiments of the present invention employ optimal-challenge-point-based training and employ feedback and computational representations of exercises to provide optimal or near-optimal learning and capability-development through training.
Any of various different types of feedback signals may be provided to a user during an exercise. Audio signals represent one effective type of feedback signal, for which musical-instrument-digital-interface (“MIDI”) devices and interfaces are widely available. Alternative feedback signals may also be used alone or in various combinations. These may include mechanical vibrations, visually displayed signals on a computer monitor, mobile-phone screen, and/or peripheral lighting system, or other types of physical signals or events that can be quickly and intuitively perceived by a user. In addition, because the user's body positions are monitored continuously by the human-motion-training system, the user may received continuous feedback to more effectively steer the user's motions. For example, the user may receive pleasing or encouraging signals when the user's body position conforms to the desired position at a particular point in the training session, but may receive increasingly discordant or unpleasant feedback signals as the user's body position strays further and further from the desired position. As the user attempts to correct the body position to conform to the exercise, as the body position begins to approach a more desired position, the discordant or unpleasant signals may diminish and be replaced by increasingly encouraging signals. Thus, by continuously providing feedback signals, the human-motion-training system that represents one embodiment of the present invention can steer a user's movements to assist the user in avoiding body-position excursions beyond the computational envelope that describes the current exercise or training movement.
While use of one or more computational envelopes and time sequences of body positions to represent an exercise and training feedback are important components of embodiments of the present invention, providing only a static exercise that does not change, over time, does not lead to an efficient, let alone optimal or near-optimal, training regime. For effective training, a particular exercise should evolve, over time, as the user learns and acquires proficiency in the body movements that the user is being trained to perform. In the example of
The level of performance can be, as one example, the accuracy by which the user can move in conformance with the time sequence of positions that represent the exercise in the human-motion-training system. The more frequently the user violates the computational envelope for the exercise and the user's body position differs from the body position expected at a particular point in time during the exercise, the lower the performance level. The right-hand vertical axis 606 represents the potential learning benefit of an exercise to the user. In the graph shown in
Curve 607 represents the performance of a skilled or experienced user with respect to a particular exercise in relation to the functional difficulty of the exercise, and curve 610 represents the performance of a novice or unskilled user for the exercise with respect to the functional difficulty of the exercise. As can be seen in the different shapes of the two curves, an experienced user generally achieves a relatively high level of performance over a wide range of functional difficulty until the functional difficulty approaches a threshold difficulty 616 after which a user's performance rapidly deteriorates with even modest further increases in functional difficulty. By contrast, the performance of a novice or unskilled user, represented by curve 610, rapidly deteriorates with even modestly increased levels of functional difficulty. In the case of the inexperienced user, the deterioration in performance is initially sharp, but reaches a threshold functional difficulty 618 after which the deterioration in performance flattens with increased functional difficulty. As can be seen in both learning curve 608, for the experienced user, and learning curve 620, for the inexperienced user, the potential learning benefit of an exercise steeply increases up to the respective threshold points for the learning curves of experienced and inexperienced users and then quickly decreases as the functional difficulty increases past those threshold values. For any given user, there is a region, referred to as the optimal challenge point and represented in
When the functional difficulty of an exercise or training regime is significantly lower than the optimal challenge point for a particular user under particular conditions, the user achieves relatively little or modest benefit from performing the exercise. Similarly, when the functional difficulty of an exercise significantly exceeds the abilities of a user, the learning benefit is also relatively poor. For example, were a normal, average, healthy human adult asked to jump up and down, in place, three times, the normal adult would obtain little learning benefit from undertaking the jumping exercise, since it is well within the capability of almost all normal adults to jump in place three times. Similarly, were a normal adult not trained in ballet asked to perform a ten-minute sequence of complex ballet moves from a famous ballet, the normal but untrained adult would almost certainly fail to perform even a handful of initial movements in conformance with the desired movements for the ballet, and would likely learn very little from embarking on the exercise other than the fact that performing ballet is harder than it appears from watching other perform ballet. However, were an average adult shown three or four body motions that represent an initial sequence of a ballet move, it is likely that, by attempting the sequence of movements, the normal adult might well achieve a degree of learning that could be rapidly improved, with practice, and that could serve as a reasonable approach to acquiring cumulative skill in ballet.
The human-motion-training systems that represent embodiments of the present invention are intended to be implemented on a wide variety of different available hardware and software platforms in order to provide convenient, flexible, and economic solutions to human-motion-training problems. This, in turn, motivates the next-described implementation strategy and architecture for a human-motion-training system that incorporates computational exercise representations, feedback training, and optimal-challenge-point-based learning and that represents one embodiment of the present invention.
As briefly mentioned above, the position of a user's limbs and other relevant body parts are determined by one or more sensors that are attached to the user's limbs and other body parts prior to undertaking training. These sensors may include three-axis accelerometers, relative location sensors to determine position based on preferential signal return, and other types of electro-mechanical-optical sensing devices. In
FSM may compute, from current sensor readings, the current position of a limb or other body part and then compare that position with the desired position, at the current point of time within the exercise, and with the envelope for the exercise, generating information messages such as: (1) on-target, or in conformance with the currently conducted exercise; (2) flagging target position; (3) ahead of current target position; (4) approaching envelope surface; (5) retreating away from envelope surface; (6) violating envelope surface, and other such types of information for which appropriate feedback can be prepared. The analysis FSM thus interprets sensor output to form conclusions with respect to the user's body position relative to the currently proctored exercise. The synthesis FSM 808 receives the information packets prepared by the analysis FSM and queued by the analysis FSM to a second FIFO Q 830 and processes these packets by launching a synthesis script 812 which processes the information packets into a control signals or commands that are passed to the interface of an output device, such as a MIDI interface to an output-audio-signal-producing application or operating-system component that generates audio signals transmitted to headphones worn by the user. In addition, the synthesis script 812 may prepare output for display on a display device 816. A user-interface FSM 810 receives input, through an I/O-display device, from a user and/or trainer, launches execution of user commands, and displays output to users and/or trainers via the I/O-display device 816. The user-interface component may also be implemented as a set of library routines or as a component of the execution engine that includes the scheduler. The implementation also includes various services and auxiliary components, including a data store 836 that allows FSMs to store data in, and retrieve data from, an electronic memory and/or mass-storage devices included within, or accessible from, the hardware platform on which the human-motion-training system is implemented.
A configuration file may include indications of all of the plug-ins and other dynamic components currently needed by the human-motion-training system, and may include additional information, such as the location of FIFO Qs, various operational parameters and characteristics to control operation of the FSMs, scheduler, and other components of the human-motion-training system, and any other information needed at run time by the human-motion-training system. A log file 908 stores continuously received output from the human-motion-training system and a data-dictionary file 910 stores values of named variables that can be accessed by the FSMs and various other implementation components at run time.
Although the present invention has been described in terms of particular embodiments, it is not intended that the invention be limited to these embodiments. Modifications will be apparent to those skilled in the art. For example, a human-motion-training system can be implemented, according to the current invention, in many different ways by varying any of many different design and implementation parameters, including programming language, control structures, modular organization, data structures, and other such parameters. Any of various different sensors may be employed for each of an arbitrary number of exercises or training regimes. Exercises and training regimes may be simple timed sequences of motion, or may be composed of multiple different motions. Human-motion-training systems can be employed in physical therapy, sports training, occupational training, and many other types of training in which users need to acquire body-motion skills or restore motion-related abilities. In certain embodiments of the present invention, a scripting interface and engine provides users with the ability to modify or incorporate new analysis and synthesis functionality into the human-motion-training systems that represent embodiments of the present invention.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the invention. The foregoing descriptions of specific embodiments of the present invention are presented for purpose of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments are shown and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents:
Claims
1. A human-motion-training system comprising:
- a hardware platform that provides for stored-instruction processing and that includes memory, an I/O interface, and an audio-signal generation and output component;
- an operating system or control program that executes on the hardware platform and that provides a program-execution environment; and
- components of the human-motion-training system that provide for automated proctoring of human-motion exercises and training regimes, including monitoring of a user's body position, producing feedback corresponding to a user's body position, and determining a user's performance in order to modify the exercises and training regimes so that they provide optimal-challenge-point-based training over the course of multiple repetitions and training sessions.
2. The human-motion-training system of claim 1
- wherein the components of the human-motion-training system include a scheduler and a number of finite-state-machine-implementing plug-in modules or dynamic-library routines; and
- wherein the scheduler calls a routine for each finite state machine during each scheduler cycle, the routine returning a function pointer or reference through which the scheduler calls the finite state machine in a subsequent scheduler cycle.
3. The human-motion-training system of claim 2 wherein the finite state machines include:
- a sensor finite state machine;
- an analysis finite state machine; and
- a synthesis finite state machine.
4. The human-motion-training system of claim 3 wherein the sensor finite state machine receives sensor output from one or more sensors, normalizes the received sensor output, and packages the normalized sensor output into sensor-information messages that the sensor finite state machine queues to a first first-in-first-out queue.
5. The human-motion-training system of claim 4 wherein the analysis finite state machine:
- dequeues sensor-information messages from the first-in-first-out queue;
- uses the sensor information contained in the dequeued sensor-information messages to prepare information messages regarding feedback appropriate for the current sensor positions and relative time within an exercise; and
- queues the prepared information messages to a second first-in-first-out queue.
6. The human-motion-training system of claim 5 wherein the synthesis finite state machine:
- dequeues information messages from the second first-in-first-out queue;
- uses the analysis information contained in the dequeued information messages to launch a script that generates commands to control the audio-signal generation and output component to produce feedback.
7. The human-motion-training system of claim 1 wherein the components of the human-motion-training system prepare and store one or more computational envelopes and one or more time sequences of sensor positions to describe each exercise.
8. A human-motion-training system comprising:
- one or more sensors mounted to known locations on a trainee's body;
- a sensor-data-acquisition-and-processing component that receives data from the one or more sensors to continuously monitor the trainee's body position and compare the trainee's body position to a computational envelope and time sequence of body positions, stored in an electronic memory, that define an exercise or training session and that generates one or more feedback signals that represent conformance of the trainee's current body position to a current range of body positions specified by the computational envelope and time sequence of body positions stored in the electronic memory; and
- a feedback component that receives the one or more feedback signals from the sensor-data-acquisition-and-processing component and renders the received one or more feedback signals into signals that can be perceived by the trainee.
9. The human-motion-training system of claim 8 wherein the one or more sensors are one or more of:
- an accelerometer;
- a gyroscope; and
- a relative-position-determining device.
10. The human-motion-training system of claim 8 wherein the sensor-data-acquisition-and-processing component includes:
- a number of finite-state-machine components; and
- a scheduler that repeatedly cycles through the finite-state-machine components, invoking, in a particular scheduling cycle, each finit-state-machine component once.
11. The human-motion-training system of claim 10 wherein the finite-state-machine components include:
- a sensor finite-state-machine component;
- an analysis finite-state-machine component; and
- a synthesis finite-state-machine component.
12. The human-motion-training system of claim 11 wherein the sensor finite-state-machine component continuously monitors the one or more sensors and prepares normalized sensor-data messages that are queued to a first input queue for the analysis finite-state-machine component.
13. The human-motion-training system of claim 12 wherein the analysis finite-state-machine component continuously monitors the first input queue for sensor-data messages and analyzes sensor data received in the sensor-data messages to determine the trainee's body position, compare the trainee's body position to the computational envelope and time sequence of body positions stored in the electronic memory to determine whether a feedback-related body-positioning event has occurred, and, when feedback-related body-positioning event has occurred, prepares an information message that the analysis finite-state-machine queues to a second input queue.
14. The human-motion-training system of claim 13 wherein the synthesis finite-state-machine component continuously monitors the second input queue for information messages and launches a feedback-signal-generating script to generate an appropriate feedback signal for the feedback-related body-positioning event indicated by one or more received information messages.
15. The human-motion-training system of claim 14 wherein the feedback-signal-generating script inputs control parameters to a signal-generating interface, such as a MIDI interface.
16. The human-motion-training system of claim 8 wherein the computational envelope represents the maximal extent of body position expected during the exercise.
17. The human-motion-training system of claim 8 wherein the time sequence of body positions represent the body motion that comprises the exercise.
Type: Application
Filed: Feb 22, 2011
Publication Date: Nov 10, 2011
Inventors: David J. Warman (Bainbridge Island, WA), Bertis Charles Rasco ( Baton Rouge, LA), Peter A. Handel ( Bainbridge Island, WA)
Application Number: 12/932,335
International Classification: A63B 69/00 (20060101);