U.S. patent application number 11/298824 was filed with the patent office on 2007-06-14 for sport movement analyzer and training device.
Invention is credited to Henrik Hyyppa, Heikki V. Nieminen, Larri Vermola.
Application Number | 20070135225 11/298824 |
Document ID | / |
Family ID | 38140139 |
Filed Date | 2007-06-14 |
United States Patent
Application |
20070135225 |
Kind Code |
A1 |
Nieminen; Heikki V. ; et
al. |
June 14, 2007 |
Sport movement analyzer and training device
Abstract
A sport movement analyzer and training device and method, in
real time, detect, analyze, correct and re-create sport movements
of a user. An analyzer is secured to a user's wrist engaged in
sport movements. A sensing unit in the analyzer provides signals
representative of the movement of the wrist at various swing
positions along a swing path during a sport movement. A processor
in the analyzer processes the signals to measure various parameters
descriptive of a sport performance of the user at the swing
positions along the swing path. Stored programs in the analyzer
service the processor in processing the signals representative of
the sport performance for display to the user. A history of past
sport performances by the user is stored for comparison purposes
with current sport performances.
Inventors: |
Nieminen; Heikki V.;
(Helsinki, FI) ; Vermola; Larri; (Turku, FI)
; Hyyppa; Henrik; (Turku, FI) |
Correspondence
Address: |
MORGAN & FINNEGAN, L.L.P.
3 World Financial Center
New York
NY
10281-2101
US
|
Family ID: |
38140139 |
Appl. No.: |
11/298824 |
Filed: |
December 12, 2005 |
Current U.S.
Class: |
473/212 ;
473/131; 473/407; 473/409 |
Current CPC
Class: |
A63B 2220/16 20130101;
A63B 2220/34 20130101; A63B 2220/44 20130101; A63B 2220/801
20130101; A63B 2071/0663 20130101; A63B 2024/0009 20130101; A63B
2220/805 20130101; A63B 2220/836 20130101; A63B 2071/068 20130101;
A63B 24/0006 20130101; A63B 69/36 20130101; A63B 2220/40
20130101 |
Class at
Publication: |
473/212 ;
473/131; 473/407; 473/409 |
International
Class: |
A63B 69/36 20060101
A63B069/36; A63B 57/00 20060101 A63B057/00 |
Claims
1. A sport movement analyzer and training method for detecting,
analyzing, correcting and re-creating sport movements of a user in
real time, comprising: a) securing an analyzer to a user's forearm
engaged in sport movements; b) providing signals representative of
the movement of the forearm at various swing positions along a
swing path during a sport movement via a sensing unit in the
analyzer; c) processing the signals to measure various parameters
descriptive of a sport performance of the user at the swing
positions via a processor in the analyzer; and d) storing stored
programs in the analyzer for servicing the processor in processing
the signals representative of the sport performance and storing a
history of past sport performances by the user for comparison
purposes.
2. The analyzer and training method of claim 1 further comprising:
e) providing visual information to the user as provided by the
processor.
3. The analyzer and training method of claim 1 further comprising
e) entering data into the processor via a data entry device seated
in the first member and responsive to the user.
4. The analyzer and training method of claim 1 further comprising
g) providing audio signals as instructions to the analyzer and
training device via an audio input device seated in the first
member and responsive to the user.
5. The analyzer and training method of claim 1 further comprising
e) providing timing signals for measurement purposes via a timing
generator within the package.
6. The analyzer and training method of claim 1 further comprising:
e) transmitting processed signals to a receiver and receiving
information related to the signals from a transmitter via a
transceiver within the package coupled to the processor.
7. The analyzer and training method of claim 1 further comprising:
e) providing sensory signals to the user via a transducer within
the package and responsive to the processor.
8. The analyzer and training method of claim 1 further comprising:
e) processing audio signals generated by the user via a voice
recognition unit within the package.
9. The analyzer and training method of claim 1 wherein the
parameters include, but are not limited to, acceleration, angular
velocity, swing angle, tempo, timing and rotation.
10. The analyzer and training method of claim 1 wherein the sensors
include, but are not limited to, inertial, magnetic, optical,
mechanical switches, potentiometers, angular rate, and angular
acceleration.
11. The analyzer and training method of claim 1 wherein the stored
programs include a swing detection algorithm.
12. The analyzer and training method of claim 1 wherein the
transceiver is coupled to a server for receiving and storing data
representative of sport performances by the user.
13. The analyzer and training method of claim 1 wherein a database
in a remote server collects and stores user performance data.
14. The analyzer and training method of claim 1 wherein the
transceiver communicates with a server via short range
communication protocols.
15. The analyzer and training method of claim 1 wherein the
transceiver communicates with a server via cellular communication
protocols.
16. The analyzer and training method of claim 1 wherein the user
downloads past sport performance data from a server for display
purposes.
17. The analyzer and training method of claim 1 wherein the user
displays past performance data versus current performance data for
comparison purposes.
18. A sport movement analyzer and training device for detecting,
analyzing, correcting and re-creating sport movements of a user in
real time, comprising: a) an analyzer fabricated as a package for
securing to a user's arm engaged in sport movements; b) a sensing
unit in the analyzer providing signals representative of the
movement of the forearm at various swing positions along a swing
path during a sport movement; c) a processor in the analyzer
processing the signals to measure various parameters descriptive of
a sport performance of the user at the swing positions; and d) a
storage means including stored programs in the analyzer servicing
the processor in processing the signals representative of the sport
performance and a history of past sport performances by the user
for comparison purposes.
19. The analyzer and training device of claim 18 further
comprising: e) a display seated in the analyzer providing visual
information to the user.
20. The analyzer and training device of claim 18 further
comprising: e) a data entry device responsive to the user for
entering data into the processor.
21. The analyzer and training device of claim 18 further
comprising: e) an audio input device responsive to the user for
providing audio signals as instructions to the analyzer and
training device.
22. The analyzer and training device of claim 18 further
comprising: e) a timing generator in the analyzer providing timing
signals for measurement purposes.
23. The analyzer and training device of claim 18 further
comprising: e) a transceiver in the analyzer coupled to the
processor for transmitting processed signals to a receiver and
receiving information related to the signals from a
transmitter.
24. The analyzer and training device of claim 18 further
comprising: e) a transducer in the analyzer responsive to the
processor for providing sensory signals to the user.
25. The analyzer and training device of claim 18 further
comprising: e) a voice recognition unit in the analyzer processing
audio signals generated by the user.
26. The analyzer and training device of claim 18 wherein the
parameters include, but are not limited to, acceleration, angular
velocity, swing angle, tempo, timing and rotation.
27. The analyzer and training device of claim 18 wherein the
sensors include, but are not limited to, inertial, magnetic,
optical, mechanical switches, potentiometers, angular rate, and
angular acceleration.
28. The analyzer and training apparatus of claim 18 wherein the
stored programs include a swing detection algorithm.
29. The analyzer and training device of claim 18 wherein the
transceiver is coupled to a server for receiving and storing data
representative of sport performances by the user.
30. The analyzer and training device of claim 29 wherein the server
is coupled to a storage device including a database for storing
user performance data.
31. The analyzer and training device of claim 18 wherein the
transceiver communicates with a server via short range
communication protocols.
32. The analyzer and training device of claim 18 wherein the
transceiver communicates with a server via cellular communication
protocols.
33. The analyzer and training device of claim 18 wherein the user
downloads past sport performance data from a server for display
purposes.
34. The analyzer and training device of claim 18 wherein the user
displays past performance data versus current performance data for
comparison purposes.
35. A system for detecting, analyzing, correcting and re-creating
sport movements of a user in real time, comprising: a) an analyzer
for detecting sport movements in terms of various parameters and
separating the movements into parts wherein each part is a swing
position included in a sport movement; b) a transceiver in each
sensor for transmitting signals representative of the detected
sport movement by each part; c) a server coupled to and receiving
the signals; and d) a memory coupled to the server for storing the
signals representative of the movement by each part.
36. The system of claim 35 further comprising a memory in the
analyzer includes (i) stored programs for analyzing the sport
movement by part in terms of the various parameters and (ii) a
history of past sport movements by part of the user.
37. The system of claim 35 further comprising: e) a display in the
analyzer responsive to an analysis for displaying the sport
movement by part in real time.
38. The system of claim 35 further comprising: e) a timing
generator providing timing signals for alignment with parts of the
movement.
39. The system of claim 35 further comprising: e) automatic
recording means for recording signals representative of a parameter
in an event in the sport movement.
40. The system of claim 35 further comprising: e) a voice
recognition system included in the sensor and responsive to an
audio signal for activating the automatic recording means.
41. The system of claim 36 further comprising: f) a user interface
for downloading and displaying past sport movements from the
history as a training goal for the user.
42. The system of claim 35 further comprising: e) sensory signals
provided via an interface to the user as feedback for recreating
the downloaded past sporting movement.
43. The system of claim 35 wherein a display displays a comparison
between the movement and like movements stored in the history.
44. The system of claim 35 wherein the parameters include, but are
not limited to, acceleration, angular velocity, swing angle, tempo,
timing and rotation.
45. The system of claim 35 wherein the sensors include, but are not
limited to, inertial, magnetic, optical, mechanical switches,
potentiometers, angular rate, and angular acceleration.
46. The system of claim 36 wherein the stored programs include a
swing detection algorithm.
47. The system of claim 1 wherein the analyzer is wearable by the
user.
48. A method for detecting, analyzing, correcting and re-creating
sport movements of a user in real time, comprising: a) detecting
sport movements via an analyzer in terms of various parameters and
separating the movements into parts wherein each part is a swing
position included in a sport movement; b) transmitting signals
representative of the detected sport movement by each part via a
transceiver; c) receiving in a server the signals transmitted by
the transceiver; d) coupling a memory to the server and storing the
signals representative of the movement by each part; e) The memory
including (i) stored programs for analyzing the movement in terms
of the various parameters and (ii) a history of past sport
movements by part of the user; and f) displaying in real time the
sport movement by part in a display responsive to an analysis.
49. The method of claim 48 further comprising: g) providing timing
signals via a timing generator for alignment with parts of the
movement.
50. The method of claim 48 further comprising: g) recording via
automatic recording means signals representative of a parameter in
an event in the sport movement.
51. The method of claim 48 further comprising: g) activating the
automatic recording means via a voice recognition system included
in the analyzer and responsive to an audio signal.
52. The method of claim 48 further comprising: g) downloading and
displaying past sport movements via a user interface from the
history as a training goal for the user.
53. The method of claim 48 further comprising: g) providing sensory
signals via the interface to the user as feedback for recreating
the downloaded past sporting movement.
54. The method of claim 48 wherein a comparison between the
movement and like movements stored in the history is displayed by
the analyzer.
55. The method of claim 48 wherein the parameters include, but are
not limited to, acceleration, angular velocity, swing angle, tempo,
timing and rotation.
56. The method of claim 48 wherein the sensors include, but are not
limited to, inertial, magnetic, optical, mechanical switches,
potentiometers, angular rate, angular acceleration.
57. The method of claim 48 wherein the stored programs include a
swing detection algorithm.
58. The method of claim 48 wherein the analyzer is wearable by the
user.
59. A training device for improving the performance of a sport
movement by a user comprising: a) an analyzer secured to a user's
forearm engaged in sport movements; b) a sensing unit within the
analyzer providing signals representative of the movement of the
forearm at various swing positions along a swing path during a
sport movement; c) a processor within the package processing the
signals to measure various parameters descriptive of a sport
performance of the user at swing positions; and d) a storage means
including stored programs within the package servicing the
processor in processing the signals representative of the sport
performance and including a history of past sport performances by
the user for comparison purposes with the sport performance.
60. The teaching device of claim 49 wherein the wrist movement of
the user is measured.
61. The teaching device of claim 48 wherein the rotation of the
forearm is measured in a swing movement.
62. A method of learning a swing movement comprising: a) securing
an analyzer to a forearm arm of a user; b) taking an initial swing
position by the user; c) detecting the position by the analyzer and
providing a feedback signal to the user; d) initiating a swing by
the user to a stop position; e) providing a mark signal to the user
at the stop position by the analyzer; f) detecting the absence of
movement by the analyzer and providing mark as sound or vibration;
and g) saving the position in the analyzer for comparison with
future swing movement.
63. A method of teaching a swing movement comprising: a) securing
an analyzer to a forearm of a user; b) providing a command to the
analyzer that the user intends to practice his/her swing movement;
c) configuring the analyzer to: (i) detect the start position of
the user; (ii) detect the swing movement and estimate hand
positions of the user at swing positions along a swing path; (iii)
notifying the user when the swing movement passes through a swing
position with proper movement or improper movement; and (iv)
collecting and storing swing data for future use.
64. A method of re-programming an analyzer for improved user swing
performance, comprising: a) storing all key motion data from a
swing performance of a user in a programmable analyzer or an
external database; b) reviewing stored motion data for improved
swing performance; c) selecting the stored motion data for improved
swing performance; and d) re-programming the analyzer with the
selected motion data for improved swing performance of the
user.
65. The method of claim 64 further comprising: e) retraining the
user for improved swing performance using the re-programmed
analyzer.
66. A medium, executable in a computer system, for detecting,
analyzing, correcting and re-creating sport movements of a user in
real time using an analyzer secured to a user's forearm engaged in
sport movements, the medium comprising, b) program code for
providing signals representative of the movement of the forearm at
various swing positions along a swing path during a sport movement
via a sensing unit in the analyzer; c) program code for processing
the signals to measure various parameters descriptive of a sport
performance of the user at the swing positions via a processor in
the analyzer; and d) program code for storing and executing stored
programs in the analyzer for servicing the processor in processing
the signals representative of the sport performance and storing a
history of past sport performances by the user for comparison
purposes.
Description
BACKGROUND OF INVENTION
[0001] 1. Field of Invention
[0002] The present invention relates to sport movement analysis and
training. More particularly, the invention relates to a sport
movement analyzer and training device for detecting, analyzing,
correcting, training and re-creating sport movements involving
swinging a club, racket, bat, etc.
[0003] In events where an athlete moves fast and high accuracy of
performance is necessary, it is of interest to be able to measure
how much time it takes for an athlete to perform the phases of a
movement, e.g. swing a golf club, tennis racket, baseball bat, etc.
. . . The athletes practice so that they can accurately repeat the
movements again and again. Consistent timing of performance is a
corner stone for the repeatability. Muscle memory is the key point
in several sports. When a user has done several repetitions of
desired action, muscles start to remember this action and after
that it is much easier to repeat in different situations. Once the
correct and effective sports performance has been accomplished, it
will be lost sooner or later as the muscle sense can not maintain
nor remember the same movement for long time due to the fact that
the freshly learned performance feels greatly different than one
that has existed for longer time and the body and senses have been
accustomed to it. Through training, conditioning, and improved
technique, an athlete's variation in timing of the swing should be
reduced. Measures of key event times during sport performances
allow the coach to evaluate an individual's performance and to
compare performances over the training and competition seasons.
[0004] In the field of sports performance analysis there is a lack
of exact measurement tools. The video analysis is the most
widespread technology for teaching sports techniques. Video
analysis has always a need for human interpretation of the
movements. Swing sensor technology allows exact analysis of the
movements without human interpretation or third person, but the
methods and technologies are lacking for utilizing the sensor data.
Moreover, trainers or trainees eyes get accustomed to the slowly
changing movements and the ability to detect flaws lessens in
time.
[0005] The big challenge in sports is to find a correct and
effective performance once. The performance can be a movement,
orientation, body position, acceleration etc. Challenge is even
greater in trying to repeat that correct performance repeatedly.
These challenges can be overcome through constant repetitions under
surveillance of a trainer 100 and/or with the usage of video where
the similarity of the repetitions can be verified. This approach is
vulnerable in a multitude of weak points. For example, the trainers
or the trainee's eye is not flawless in detecting the changes in
the performances. Use of video is limited to one viewing angle,
very slow feedback (takes minutes to analyze movement), low
position accuracy (only what can be extracted from video pictures),
and very low picture recording frequency (30 Hz) only in normal PAL
standard digital video). In addition, usage i.e. storing,
organizing and analyzing in varying sports environments and is not
supported by existing technology etc. However, there exist many
products that guide athletes to correct performance tempo, for
instance Swing-Tempo (http://www.swing-tempo.com).
[0006] A problem in sport movement analysis and training involves
storing sensor parameters at certain (static) points in the
movement without interfering with (touching) a measuring device
that is attached to the trainer. The storing could be done remotely
by using an external device, e.g. IrDA, remote control in a phone,
camera, or as a separate remote control unit; Radio remote
controller; Bluetooth remote control in a phone, camera, or as a
separate remote control unit, and Voice commands, for example voice
recognition system in user's sensor device. However, the external
device adds another unit to implement the storing of the
parameters.
[0007] What is needed is in the field of sports involving swinging
a golf club, tennis racket, baseball bat, etc is a sport movement
analyzer and training device which enables a user to detect,
measure, and store swing positions or events in a sport movement in
terms of parameters, e.g. time, velocity, acceleration, etc and
recreate the sport performances through feedback for comparisons
between target performances and current performances, where the
user receives sensory signals indicative of differences between the
target performance and the current performance.
[0008] Prior art related to sport movement analysis and training
includes:
[0009] 1. U.S. Pat. No. 5,694,340 issued Dec. 2, 1997 discloses a
method of training and simulating physical skills using a digital
swing analyzing device that measures the necessary and sufficient
information to describe uniquely a rigid body swing. The device,
comprising a programmable digital signal processor and a universal
accelerometer, measures the acceleration and calculates the linear
velocity, the angular velocity, the orientation, and the position
of a moving object, and stores and plays back the swing using
audiovisual means and compares it with other pre-recorded swings.
The student can choose a model and try to imitate the model with
the help of audiovisual means and biofeedback means. The device is
portable. It can also be connected to a computer where the swing
can be further analyzed by comparing it with a database comprising
many other characteristic swings. If a projectile is involved, such
as in a golf swing, the trajectory of the projectile is
calculated.
[0010] 2. USPA 2002/0049507, published Apr. 25, 2002 discloses a
sport server includes a sport database for storing sport data. The
sport server communicates with a variety of input devices for
receiving the sport data. The sport server determines the type of
input device and then communicates with the input device using
appropriate display and communication parameters. The sport server
then outputs the sport data to various output devices using
appropriate parameters for each output device.
[0011] 3. U.S. Pat. No. 6,778,866, issued Aug. 17, 2004 discloses
method and apparatus for teaching a person how to perform a
specific body swing in a consistent manner is based on
electronically measuring one or more parameters of an actual body
swing, comparing the one or more measured parameters with
corresponding parameters of a target body swing, and providing a
sensible feedback to the user based on a degree of correspondence
between the one or more measured parameters and the corresponding
target parameters. In a particular embodiment, the feedback is
audible. More specifically the feedback is a musical tune that has
a particular characteristic (such as rhythm) that is particularly
suited to a particular body swing (such as a golf swing). The
feedback may be in the form of electronically causing the musical
tune to go off-key in proportion to a discrepancy between the
actual body swing and the target body swing. In another embodiment,
the feedback may be in the form of causing the musical signal to
vary in perceivable clarity in proportion to a discrepancy between
the actual body swing and the target body swing. The use of a
stylized musical tune is also helpful because it is easily
remembered, thereby aiding a user attempting a certain body swing
without using the apparatus of the present invention.
[0012] 4. USPA 2005/0054457, published Mar. 10, 2005 discloses a
sport learning system directed to improving an individual's swing
by monitoring a club, bat or racket during a swing. During the
course of a swing, the system alerts the individual when the club
position varies outside of a predetermined range. The system
includes a device inserted into the distal end of a shaft of the
club. A second device is attached to a personal computer to provide
wireless data transmission with the device mounted in the club. A
personal computer application enables swing data analysis and
display. The inserted device employs a microprocessor,
accelerometers, gyroscopes, memory and a system of buffering and
filtering to provide real-time feedback during the swing. It is an
additional feature of the inserted device to capture and store data
required to reconstruct, display, and analyze swings and to share
the data with other applications to facilitate remote
instruction.
[0013] None of the cited art discloses a sport analyzer and
training device that in real time (i) detects, measures, and stores
swing positions or events in terms of parameters of a sport
movement, e.g. a swing involving a bat, racket, club, etc.; (ii)
provide real-time feedback of a performances by swing position or
event along a swing path to a user via a display, (iii) re-create
current performance for comparison with past performances stored in
a database, (iv) provide audio commands to the analyzer for
starting and stopping a performance along a swing path, and (v))
provide sensory signals to the user indicative of differences
between a current performance and a past performance.
SUMMARY OF INVENTION
[0014] A sport performance analyzer and training device and method,
in real time, detects, measures, analyzes, corrects and re-creates
sport performances of a user involving swinging a club, racket,
bat, etc. for practice, training and teaching relative to a target
performance to achieve improved sport movement performance. A
wearable analyzer secured to a user's wrist includes sensors for
detecting sport movements of the user in terms of various
parameters at various swing points or events along the swing path
of a club, racket or bat. Signals representative of the movement
are generated by the sensors for measurement of the various
parameters associated with the swing. A memory in the analyzer
services a processor and includes (i) stored programs for analyzing
and measuring the sport movement by swing positions or events in
terms of the various parameters and (ii) a history of past sport
movements as target performances. A display responsive to the
analysis displays a sport movement for comparison with past target
performances stored in the history. A keyboard in the analyzer
enables a user to select performances, i.e. swinging, putting and
short game for analysis and display. A microphone enables the user
to give audio commands to the analyzer in regard to starting and
stopping a performance. The analyzer includes a transducer to
provide feedback that is based on sensor signals to the user.
Feedback can result when a practice performance departs from a
target performance. A transceiver in the analyzer transmits the
signals representative of the detected sport movement to a server.
A memory coupled to the server stores the signals representative of
each movement in a database as a history for subsequent downloading
and display to the analyzer upon user request.
[0015] An aspect of the disclosed subject mater is a timing
generator in the analyzer providing timing signals for alignment
with swing positions of a movement for measurement purposes.
[0016] Another aspect is an automatic recording means for recording
signals representative of a parameter in a swing or event in a
sport movement.
[0017] Another aspect is a voice recognition system included in the
analyzer responsive to an audio signal for activating the automatic
recording means.
[0018] Another aspect is a user interface for downloading and
displaying past sport movements from the history as a training goal
for the user.
[0019] Another aspect is a display for indicating differences
between a present movement in a performance and like movements
stored in the history.
[0020] Another aspect is measuring performance parameters
including, but not limited to, acceleration, angular velocity,
swing angle, tempo, timing and rotation.
[0021] Another aspect are sensors including, but not limited to,
inertial, magnetic, optical, angular rate, angular acceleration,
mechanical switches, and potentiometers.
[0022] Another aspect is swing detection and measuring process for
establishing swing positions and events to be detected along a
swing path for measurement and analysis.
DESCRIPTION OF DRAWINGS
[0023] The invention will be further understood from the following
detailed description of a preferred embodiment, taken in
conjunction with appended drawings, in which:
[0024] FIG. 1 is a representation of a sport movement analyzer and
training device secured to a user for monitoring the user
performing a sport movement with a club along a swing path at
various swing positions and coupled to a server for storing and
downloading user performance data for comparison purposes, and
incorporating the principles of the present invention;
[0025] FIG. 1A is a representation of the sport movement analyzer
for securing to the wrist of a user;
[0026] FIG. 1B is a representation of a top view of the analyzer of
FIG. 1;
[0027] FIG. 1C is a representation of internal devices and
circuitry in the analyzer of FIG. 1A for detecting swing positions
and events along the swing path of the club;
[0028] FIG. 1D is a representation of stored programs used in the
operation of the analyzer of FIG. 1;
[0029] FIG. 2A shows rotation of a sensor box in the analyzer of
FIG. 1;
[0030] FIG. 2B shows sensor data from the sensor box of FIG.
2A;
[0031] FIG. 2C shows how the sensor co-ordinate system of FIG. 1C
as oriented on the user's wrist in FIG. 1;
[0032] FIG. 3 is a representation of functional units in the
analyzer of FIG. 1 and FIG. 1C for movement detection and analysis
along the swing path;
[0033] FIG. 4A is a representation of a swing detection block
diagram for the analyzer of FIG. 1;
[0034] FIG. 4B is a graphical representation of detecting a down
swing of the user using threshold values with angular velocities
along the y axis versus time along the x axis;
[0035] FIG. 4C is a graphical representation of detecting address
position measuring direction of gravity at start of swing with
distance in inches along the y axis and time in seconds along the x
axis.
[0036] FIG. 4D is a graphical representation of determining the
angular velocity threshold in detecting the address position
measuring gravity with angular velocity along the y axis and time
along the x axis
[0037] FIG. 5A is a front view of a user's swing in calculating the
user's swing width;
[0038] FIG. 5B is a down the line view of a user's swing in
calculating the user's swing width;
[0039] FIG. 6 is a flow diagram describing the operation of the
sport analyzer and training device of FIG. 1 in setting the swing
positions or events along the swing path for detection and
measurement;
[0040] FIG. 7A is a pictorial representation of different swing
positions or events along the swing path of the user viewed from
the position of the user as determined by the analyzer of FIG.
1;
[0041] FIG. 7B is a pictorial representation of different swing
positions or events along the swing path of the user viewed from a
first position of a third party as determined by the analyzer of
FIG. 1;
[0042] FIG. 7C is a pictorial representation of different swing
positions or events along the swing path of the user viewed from a
second position of a third party as determined by the analyzer,
[0043] FIG. 7D is a pictorial representation of a user's swing
tempo and speed, as determined by the swing detection
algorithm;
[0044] FIG. 8 is a representation of a process for identifying a
swing position or event in a tennis movement for practice and
determining a user's performance of the swing or event using the
analyzer of FIG. 1.
DESCRIPTION OF PREFERRED EMBODIMENT
[0045] FIG. 1 discloses a sport movement analyzer and trainer 100
for detecting, analyzing, correcting, training and recreating sport
movements of a user 102 in real time. The device is applicable to
swing movements involving a club, bracket, bat and the like. In
addition, since the device is mounted on athlete it is applicable
to other sports movements like punching, kicking, bowling,
throwing/kicking ball/javelin/discus, etc. As shown, the user is
swinging a golf club 104. The movement of the golf club is
represented by a swing path 106 having a backswing 108 and a
downswing 110 with swing positions along the path for monitoring
and measuring of the club at the different positions. The swing
positions in the backswing include an address/impact point 112; a
one-quarter back swing point 114, a one-half back swing point 116
and a top point 118 of the swing path. After a pause at the top
point, the downswing follows the back swing passing through the
swing positions 116, 114, now representing one-quarter and one-half
downswing points, respectively and finishing at the impact point
112. An upswing or follow through 120 continues beyond the point
112 and completes the swing path at an end point 122 near the top
point. A wearable analyzer 124 is secured to the wrist of the user,
whether a right-hand or a left hand golfer, and in real time
detects, measures and calculates various parameters of the club at
the different swing positions or events occurring along the swing
path. It should be understood the analyzer may be secured to the
forearm and other positions on the arm besides the wrist.
[0046] The analyzer shown in FIG. 1A is contained in a watch-like
package 126. The analyzer includes straps 128 and a clasp or a
Velcro material 130 for joining the straps together in securing the
analyzer to the user's wrist. FIG. 1B shows a top view of the
analyzer as containing a cover member 132 including a display area
134 for visual communication with the user; a keyboard 136 for
inputting data and instructions to the analyzer and a microphone
138 enabling the user to provide oral instructions to the analyzer.
FIG. 1C shows the working units within the package 126 for carrying
out the functions of the analyzer in detecting, analyzing,
correcting, training and recreating sport movements of the user
102. A bottom member 140 is secured to the cover member 132 and
completes the package 126. The bottom member includes a micro
control unit or processor 142 for controlling and managing the
analyzer according to stored programs to be described hereinafter
in conjunction with a description of FIG. 1D. The processor 142 is
connected to a bus 144 serving a ROM 146 containing the stored
programs for operating the analyzer; a RAM 148 services the
processor operations, a voice recognition unit 150 supports oral
communications by the user to the analyzer, and a timing generator
152 provides timing signals for measurement purposes in determining
the parameter values at the various swing positions of the
backswing and downswing as the club travels along the swing path. A
sensor box 154 is coupled to the bus and includes devices sensing
the movement of the club. The sensors may include different
inertial sensors (like 3D accelerometers, 3D gyros, 3D angular
accelerometers), magnetic, electromagnetic, and optical
devices/sensors commercially available. The sensor may also include
mechanical switches and potentiometers. In one embodiment and for
purposes of description only, the sensing devices measure linear
accelerations, angular velocities and/or angular accelerations as
will be further described hereinafter. A power supply 153 provides
the energy for the operation of the analyzer.
[0047] The processor 142 is also coupled to an input/output device
156 serving the display 134 and a transducer 158 responsive to the
processor. The transducer provides the user with sounds or
vibrations when a user's performance along the swing path does not
match a target performance stored in the ROM or elsewhere. The I/O
156 is also coupled to a transceiver 160 for transmitting sensor
signals and data to a server 164, either directly or via an Access
Point 166 coupled to a network 168 serving the server, as shown in
FIG. 1. The server is coupled to a storage device 170 including a
database (not shown, but to be described hereinafter) for storing
user performance data. The past performance data also referred to
as "target performance" is organized in the database in a timely
calendar or other easily re-discoverable format. A user may
download target performance data from the storage device 170 to the
analyzer, via the keyboard 136 for display in the display 134. The
user's current performance as captured by the analyzer may be shown
in the display 134, along with the target performance data for
comparison and teaching purposes. The current performance data may
be uploaded to the storage unit 170 for subsequent recall in
learning and teaching.
[0048] Turning to FIG. 1D, the ROM 146 includes stored programs for
use by the processor in implementing the various function of the
analyzer. A short-range communication protocol 147, wired or
wireless, facilitates communication between the analyzer and the
server. Typically Bluetooth can handle wireless communication with
the Access Point 164, when the analyzer and server or Access Point
is within 100 meters of one another. The details of Bluetooth
operation are described in the text "Bluetooth Revealed" by Grant
A. Miller et al., published by Prentice Hall PTR, Inc., Upper
Saddle River, N.Y. 07458 (2000) ISBN 0-13-490294-2, Chapter Six.
Alternatively, a cellular communication protocol (Global System
Mobile) may be substituted for the Bluetooth protocol in the event
the analyzer and server or Access Point is more than 100 meters
apart. Global System Mobile is described in the text An
Introduction To GSM, by S. M. Redl, et al, published by Artech
Publishers, Boston, Mass. 1995, Chapter Three.
[0049] A swing movement algorithm 149, is included in the stored
programs for generating and processing sensor signals received from
the sensors during a swing movement 106 along the swing path. The
sensor signals are provided for various parameters at various swing
points or events of the club along the swing path.
[0050] Commercially available voice recognition software 151, e.g.
Scansoft, available from Nuance, 1 Wayside Road, Burlington, Mass.
01803, enables the user to provide voice commands to the analyzer
via the microphone 138.
[0051] A standard Operating System 153, e.g. Window, Linux and the
like manage the operation of the analyzer.
[0052] The user's performance data in learning or practicing a
swing is collected by the analyzer and stored in the ROM as Current
Analyzer Data 155 for display to the user and for comparison with
target performance data.
[0053] The swing movement algorithm 149 is described in a
specification by Chapters, as follows:
[0054] Chapter 1. Sensor Data
[0055] All algorithms in this specification use rotation (angular
velocity) and/or acceleration sensor data as input for sensor data
shown in Table 1 below. TABLE-US-00001 TABLE 1 Sensor data. Sensor
Marker Unit x'' axis acceleration a.sub.x'' m/sec.sup.2 y'' axis
acceleration a.sub.y'' m/sec.sup.2 z'' axis acceleration a.sub.z''
m/sec.sup.2 x'' axis rotation .omega..sub.x'' rad/sec y'' axis
rotation .omega..sub.y'' rad/sec z'' axis rotation .omega..sub.z''
rad/sec
[0056] Chapter 2. Co-Ordinate Systems
[0057] FIG. 2A shows how the sensor box 154 (see FIG. 1C) is
rotated when acceleration from y'' axis sensor is measured.
[0058] FIG. 2B shows raw sensor data from the acceleration sensors
when the sensor box is rotated around different axis, where Y axis
data is a number from an A/D converter and x axis data is time in
seconds.
[0059] FIG. 2C shows how the sensor co-ordinate system is oriented
on the wrist of the player 102. There are three orthogonal
co-ordinate systems present during the swing analysis. First,
reference co-ordinate system is the nonmoving co-ordinate system
that is aligned vertically (y-axis) with gravity and laterally
(x-axis) along the target line. Here target line means the
direction towards the target thee player is aiming.
[0060] Second during calculations there is a co-ordinate system
that is aligned to the sensor box orientation at the player's
address position with respect to the ball. This co-ordinate system
is not moving relative to the reference co-ordinate system. This
address position co-ordinate system is defined by x', y', and z'
axis.
[0061] Third the measurement co-ordinate system is aligned to the
sensor box that is attached to wrist. Since the wrist moves during
the sports exercise the measurement co-ordinate system rotates also
around. This measurement co-ordinate system is defined by x'', y'',
and z'' axis.
[0062] Chapter 3.0 Swing Algorithm Description
[0063] There is a general problem when analyzing and/or giving
feedback during sports performance. Since the user is most of the
time moving during the performance, the problem is how to detect
when the user is performing sports movement that we want to guide
and/or analyze. The problems that must be solved can be divided to
following categories [0064] 1. Detect when sports swing is
happening. [0065] 2. Categorize movement (done by user when
selecting from menu full swing, short game or putt). [0066] 3.
Analyze movement dividing it into predefined parts or swing
positions, as follows: [0067] Position 1--1/4 Backswing. [0068]
Position 2--1/2 Backswing [0069] Position 3--Top Backswing [0070]
Position 4--1/2 Downswing [0071] Position 5--3/4 Downswing [0072]
Position 6--Impact [0073] Position 7--Upswing or Follow Through
[0074] FIG. 3A describes a process 300 implementing an analysis of
the categories of user movements for swing detection; putt
detection and short game detection. A movement category 302 is
selected for analysis. A movement performance is conducted for a
selected period of time (x). The acceleration and angular rotation
data 304 is collected by the analyzer for an analysis using an
appropriate algorithm for the selected movement. The results are
displayed to the user by the analyzer.
[0075] Chapter 4.0 Swing Detection Algorithm
[0076] 4.1 Full Swing Detection
[0077] Swing detection should be divided into two categories that
are addressed separately. First category is the swing detection for
post swing analysis. Second category is the sequential detection of
the swing parts, as they happen, in order to be able to give
feedback during the movement.
[0078] 4.1.1 Detecting the Whole Swing
[0079] FIG. 4A shows a block diagram 400 for a swing detection
algorithm responsive to acceleration and angular rotation data.
While the player is in a nonmoving state 404; addressing the ball
406; starting a swing 408; detecting the down swing t2 for a period
of time 412 (x sec.). Blocks are explained as follows.
[0080] 4.1.1.1 Stage 1, Detect Down Swing
[0081] Downswing is the fastest part of the movement, which makes
it the easiest to detect. Downswing can be detected simply with
thresholds for angular velocities and accelerations. FIG. 4B shows
the typical angular velocities during the down swing.
[0082] 4.1.1.2 Stage 2, Check Start of the Swing Time
[0083] This detection is on all the time. Last detected point is
kept in memory. When down swing (stage 1) is found, algorithm
checks that last start of swing happened less than predefined time
(.DELTA.t.sub.2) ago and not less that time ((.DELTA.t.sub.1)
ago.
[0084] Start of swing has two conditions. First condition is that
the device must be non moving. This means that the angular
velocities are below a certain threshold (.omega..sub.start).
Second condition that must be met at the same time is that the
device is in orientation that corresponds to address position. The
orientation that is based on earth gravitation is measured by
accelerometers. This is shown in FIG. 4C. The orientation must be
within predefined limits (.DELTA.a.sub.x.sub.--.sub.address,
.DELTA.a.sub.y.sub.--.sub.adress, .DELTA.a.sub.z.sub.--.sub.adress)
from the saved address position (a.sub.x.sub.--.sub.address,
a.sub.y.sub.--.sub.adress, a.sub.z.sub.--.sub.adress).
[0085] 4.1.2 Sequential Detection of the Swing Parts, as they
Happen
[0086] The algorithm for sequential detection has to be flexible
and recover quickly from error states so that the real swing is not
missed. In addition, the algorithm must be very simple so that
there is minimal latency and so that it can be implemented to a
small microcontroller.
[0087] 4.1.2.2 Stage 2 Start of the Swing
[0088] Specification Chapter 4.1.1.2 describes how the start of the
swing is detected. This detection is on all the time when algorithm
is active. The last detected point is kept in memory. Every time
this detection is true the algorithm immediately starts from stage
3.
[0089] 4.1.2.3 Stage 3, Angular Velocity threshold
[0090] Stage 3 is detected if three conditions are met. First and
second are that the angular velocity .omega..sub.x exceed
predefined threshold value, and other angular velocities are in
predefined range. Third condition is that non-moving location
detected in stage 2 is less than time .DELTA.t.sub.2 ago. When
stage 3 is detected, the algorithm moves to stage 4. FIG. 4D
detects address position measuring direction.
[0091] 4.1.2.4 Stage 4, Swing Started to Right Direction
[0092] The swing direction can be monitored calculating cross
product of arm direction in address position and during the swing.
The resulting vector must point to certain direction for the swing
to qualify as acceptable. Cross product is calculated {right arrow
over (s)}=arm.sub.X.times.[1 0 0]=[0 arm.sub.X(3)-arm.sub.X(2)].
Eq. 1. Stage 4 is calculated from same time point as the stage 3.
When stage 4 is detected, the algorithm moves to stage 5.
[0093] 4.1.2.5 Stage 5, End of Backswing
[0094] End of the backswing is detected (for right handed player)
when .omega..sub.x''(i)<0 .omega..sub.x''(i-1)>0 Eq. (2)
Signs are opposite for left handed player. Detection must occur
within time .DELTA.t.sub.3 from the beginning of the swing.
[0095] 4.1.2.6 Stage 6, Detect Downswing
[0096] Down swing detection was previously explained in
specification Chapter 4.1.1.1. Detection must occur within time
.DELTA.t.sub.4 from the end of the backswing.
[0097] 4.1.2.7 Stage 7, Detect Hit Time
[0098] How to detect when the club hits the ball is explained in
specification Chapter 5.2.7. Detection must occur within time
.DELTA.t.sub.5 from the end of the backswing.
[0099] Chapter 5.0 Parameter Values Calculated from Sensor
Values
[0100] This chapter describes how the different swing parameters
are calculated. For instance, we calculate the 6 degrees of freedom
(3 are location co-ordinates and 3 are orientation values) of the
wrist during the swing. In order for the calculations to apply both
left and right handed players we introduce fist variable H
handedness .times. { = 1 , for .times. .times. right .times.
.times. side .times. .times. players - 1 , for .times. .times. left
.times. .times. side .times. .times. players . Eq . .times. ( 3 )
##EQU1##
[0101] 5.1 Angle Change
[0102] Angle change .DELTA..phi.'', .DELTA..theta.'', and
.DELTA..psi.'' are calculated from angular velocity using .DELTA.
.times. .times. .phi. '' = .omega. x '' f SF , .DELTA. .times.
.times. .theta. '' = .omega. y '' f SF , and .times. .times.
.DELTA. .times. .times. .psi. '' = .omega. z '' f SF , Eq . .times.
( 4 ) ##EQU2##
[0103] where f.sub.SF is measurement frequency.
[0104] 5.2 Rotation Matrix
[0105] Rotation matrix describes orientation change from previous
position. Elements of the temporal rotation matrix .DELTA.R are
calculated at each measurement time step from angle change using:
.DELTA. .times. .times. R .function. ( t i ) = [ cos .times.
.times. .DELTA. .times. .times. .theta. '' .times. cos .times.
.times. .DELTA. .times. .times. .psi. '' cos .times. .times.
.DELTA. .times. .times. .theta. '' .times. sin .times. .times.
.DELTA. .times. .times. .psi. '' - sin .times. .times. .DELTA.
.times. .times. .theta. '' sin .times. .times. .DELTA. .times.
.times. .phi. '' .times. sin .times. .times. .DELTA. .times.
.times. .theta. '' cos .times. .times. .DELTA. .times. .times.
.psi. '' - cos .times. .times. .DELTA. .times. .times. .phi.
.times. '' .times. sin .times. .times. .DELTA. .times. .times.
.psi. .times. '' sin .times. .times. .DELTA. .times. .times. .phi.
'' .times. sin .times. .times. .DELTA. .times. .times. .theta. ''
sin .times. .times. .DELTA. .times. .times. .psi. '' + cos .times.
.times. .DELTA. .times. .times. .phi. '' .times. cos .times.
.times. .DELTA. .times. .times. .psi. '' sin .times. .times.
.DELTA. .times. .times. .phi. '' .times. cos .times. .times.
.DELTA. .times. .times. .theta. '' cos .times. .times. .DELTA.
.times. .times. .phi. '' .times. sin .times. .times. .DELTA.
.times. .times. .theta. '' cos .times. .times. .DELTA. .times.
.times. .psi. '' + sin .times. .times. .DELTA. .times. .times.
.phi. '' .times. sin .times. .times. .DELTA. .times. .times. .psi.
'' cos .times. .times. .DELTA. .times. .times. .phi. '' .times. sin
.times. .times. .DELTA. .times. .times. .theta. '' sin .times.
.times. .DELTA. .times. .times. .psi. '' - sin .times. .times.
.DELTA. .times. .times. .phi. '' .times. cos .times. .times.
.DELTA. .times. .times. .psi. '' cos .times. .times. .DELTA.
.times. .times. .phi. '' .times. cos .times. .times. .DELTA.
.times. .times. .theta. '' ] Eq . .times. ( 5 ) ##EQU3##
[0106] The orientation change from the start position is calculated
multiplying the temporal rotation matrix with previous rotation
matrix after each time step.
R'(t.sub.i)=.DELTA.R(t.sub.i)R'(t.sub.i-1) Eq. (6)
[0107] Rotation matrix at the start position t.sub.1 is R '
.function. ( t 1 ) = [ 1 0 0 0 1 0 0 0 1 ] . Eq . .times. ( 7 )
##EQU4##
[0108] This means that co-ordinates are now aligned along the x',
y', and z' axis in the address position co-ordinate system. To
change the co-ordinate system to vertical position we have to
calculate the rotation matrix from address position to vertical
position. We can do this using earth gravitation that we can
measure using 3D accelerometer. Earth gravitation vector g must be
calculated at start position when device is not moving. This is
done averaging .DELTA.t.sub.6 seconds of acceleration sensor data
before swing start time. We define that the earth gravitational
direction is our new y axis direction. y .fwdarw. = - g .fwdarw. '
g .fwdarw. ' , Eq . .times. ( 8 ) ##EQU5## and the lateral
projection of the y' axis, defines the z axis direction. Cross
product of vector y'=[0 1 0] Eq. (9) And y gives z axis z .fwdarw.
= y .fwdarw. ' .times. y .fwdarw. y .fwdarw. ' .times. y .fwdarw. =
[ y ' .function. ( 2 ) .times. y .function. ( 3 ) - y ' .function.
( 3 ) .times. y .function. ( 2 ) , y ' .function. ( 3 ) .times. y
.function. ( 1 ) - y ' .function. ( 1 ) .times. y .function. ( 3 )
, y ' .function. ( 1 ) .times. y .function. ( 2 ) - y ' .function.
( 2 ) .times. y .function. ( 1 ) ] [ y ' .function. ( 2 ) .times. y
.function. ( 3 ) - y ' .function. ( 3 ) .times. y .function. ( 2 )
, y ' .function. ( 3 ) .times. y .function. ( 1 ) - y ' .function.
( 1 ) .times. y .function. ( 3 ) , y ' .function. ( 1 ) .times. y
.function. ( 2 ) - y ' .function. ( 2 ) .times. y .function. ( 1 )
] Eq . .times. ( 10 ) ##EQU6##
[0109] The last co-ordinate axis x is then cross product of the
other axis x .fwdarw. = y .fwdarw. ' .times. z .fwdarw. y .fwdarw.
' .times. z .fwdarw. = [ y .function. ( 2 ) .times. z .function. (
3 ) - y .function. ( 3 ) .times. z .function. ( 2 ) , y .function.
( 3 ) .times. z .function. ( 1 ) - y .function. ( 1 ) .times. z
.function. ( 3 ) , y .function. ( 1 ) .times. z .function. ( 2 ) -
y .function. ( 2 ) .times. z .function. ( 1 ) ] [ y .function. ( 2
) .times. z .function. ( 3 ) - y .function. ( 3 ) .times. z
.function. ( 2 ) , y .function. ( 3 ) .times. z .function. ( 1 ) -
y .function. ( 1 ) .times. z .function. ( 3 ) , y .function. ( 1 )
.times. z .function. ( 2 ) - y .function. ( 2 ) .times. z
.function. ( 1 ) ] Eq . .times. ( 11 ) ##EQU7##
[0110] Now we get the rotation matrix from earth gravitation
co-ordinates to address position co-ordinates R vertical ' = [ x
.function. ( 1 ) x .function. ( 2 ) x .function. ( 3 ) x .function.
( 1 ) y .function. ( 2 ) y .function. ( 3 ) z .function. ( 1 ) z
.function. ( 2 ) z .function. ( 3 ) ] Eq . .times. ( 12 )
##EQU8##
[0111] In order to get the rotation matrix the other way from
address position to gravitation, we have to calculate inverted
matrix R vertical ' - 1 = R vertical = [ R ' .function. ( 2 , 2 ) R
' .function. ( 3 , 3 ) - R ' .function. ( 2 , 3 ) .times. R '
.function. ( 3 , 2 ) R ' .function. ( 2 , 3 ) R ' .function. ( 3 ,
1 ) - R ' .function. ( 2 , 1 ) .times. R ' .function. ( 3 , 3 ) R '
.function. ( 2 , 1 ) R ' .function. ( 3 , 2 ) - R ' .function. ( 2
, 2 ) .times. R ' .function. ( 3 , 1 ) - R ' .function. ( 1 , 2 ) R
' .function. ( 3 , 3 ) + R ' .function. ( 1 , 3 ) .times. R '
.function. ( 3 , 2 ) R ' .function. ( 3 , 3 ) R ' .function. ( 1 ,
1 ) - R ' .function. ( 1 , 3 ) .times. R ' .function. ( 3 , 1 ) R '
.function. ( 3 , 1 ) R ' .function. ( 1 , 2 ) - R ' .function. ( 3
, 2 ) .times. R ' .function. ( 1 , 1 ) R ' .function. ( 1 , 2 ) R '
.function. ( 2 , 3 ) - R ' .function. ( 1 , 3 ) .times. R '
.function. ( 2 , 2 ) R ' .function. ( 1 , 3 ) R ' .function. ( 2 ,
1 ) - R ' .function. ( 1 , 1 ) .times. R ' .function. ( 2 , 3 ) R '
.function. ( 1 , 1 ) R ' .function. ( 2 , 2 ) - R ' .function. ( 1
, 2 ) .times. R ' .function. ( 2 , 1 ) .times. ] Eq . .times. ( 13
) ##EQU9##
[0112] The y-axis is now aligned to vertical direction and the z
axis is aligned to direction of the y' axis at the start. That is
perpendicular to the direction of the wrist. To align x-axis along
the target line. We need to rotate co-ordinates around y-axis
amount .beta.. There are several methods to determine .beta..
.beta. can be based on the hand orientation at address or it can be
based on the hand movement during the swing. Rotation matrix for
y-axis rotation is R aligned = R vertical .function. [ cos .times.
.times. .beta. 0 - sin .times. .times. .beta. 0 1 0 sin .times.
.times. .beta. 0 cos .times. .times. .beta. ] Eq . .times. ( 14 )
##EQU10##
[0113] Now the final rotation matrix at each measured point is
R'(t.sub.i)=(.DELTA.R(t.sub.i)R'(t.sub.i-1))R.sub.aligned Eq.
(15)
[0114] 5.3 Acceleration of Wrist
[0115] Acceleration in reference co-ordinate system is calculated
using rotation matrix {right arrow over (a)}.sub.x=R(t.sub.i){right
arrow over (a)}.sub.x', {right arrow over
(a)}.sub.Y=R(t.sub.i){right arrow over (a)}.sub.y', and {right
arrow over (a)}.sub.Z=R(t.sub.i){right arrow over (a)}.sub.z'. Eq.
(16)
[0116] This acceleration contains naturally earth gravitation,
which has to be removed. The gravitation is measured at the
beginning of the swing when we detected that the device is not
moving. {right arrow over (a)}.sub.X={right arrow over
(a)}.sub.X-{right arrow over (g)}.sub.X, {right arrow over
(a)}.sub.Y={right arrow over (a)}.sub.Y-{right arrow over
(g)}.sub.Y, {right arrow over (a)}.sub.Z={right arrow over
(a)}.sub.Z-{right arrow over (g)}.sub.Z Eq. (17)
[0117] 5.4 Speed of Wrist
[0118] Speed in reference co-ordinate system is calculated
numerically integrating v X .function. ( t i ) = .times. v X
.function. ( t i - 1 ) + a .fwdarw. X .function. ( t i ) f
measurement , v Y .function. ( t i ) = .times. v Y .function. ( t i
- 1 ) + a .fwdarw. Y .function. ( t i ) f measurement , and v Z
.function. ( t i ) = .times. v Z .function. ( t i - 1 ) + a
.fwdarw. Z .function. ( t i ) f measurement Eq . .times. ( 18 )
##EQU11##
[0119] 5.5 Location of Wrist
[0120] Location in reference co-ordinate system is calculated
numerically integrating X .function. ( t i ) = .times. X .function.
( t i - 1 ) + v X .function. ( t i ) f measurement , Y .function. (
t i ) = .times. Y .function. ( t i - 1 ) + v Y .function. ( t i ) f
measurement , and Z .function. ( t i ) = .times. Z .function. ( t i
- 1 ) + v Z .function. ( t i ) f measurement Eq . .times. ( 19 )
##EQU12##
[0121] 5.6 Swing Angle
[0122] The swing angle is calculated from the projection of the
wrist direction (x-axis of measurement co-ordinate system) into the
xy-plane of the reference co-ordinate system. The swing angle is
angle between vertical direction and the wrist projection to the
xy-plane. For instance swing length is delivered from this
calculation. It can be presented to user in many ways: as degrees
from address position, as percentage of full swing or as equivalent
clock position. After the rotation matrix is calculated the wrist
direction becomes arm.sub.X(1:3,t.sub.i)=R(1,1:3,t.sub.i). Eq. (20)
Because the swing length is calculated from the projection of
arm.sub.X to the plane formed by x and y axis, the z axis component
must be zero arm.sub.X(1:3,t.sub.i)=[arm.sub.X(1,t.sub.i),
arm.sub.X(2,t.sub.i),0]. Eq. (21)
[0123] Now we get the swing angle .alpha. swing_angle = .times. arc
.times. .times. cos .function. ( arm X .function. ( 1 .times. :
.times. 2 , t i ) [ 0 - 1 ] arm X .function. ( 1 .times. : .times.
2 , t i ) ) = .times. arc .times. .times. cos .function. ( - arm X
.function. ( 2 , t i ) arm X .function. ( 1 .times. : .times. 2 , t
i ) ) . Eq . .times. 22 ##EQU13##
[0124] 5.7 Left Forearm Rotation
[0125] Left arm rotation is calculated in radians rotated relative
to the address position. Simple integration of the measured angle
change in (1) gives .beta. = .intg. 0 t_swing .times. .DELTA.
.times. .times. .phi. ' .times. d t - right_side arc .times.
.times. tan .function. ( ( arm Y .function. ( 1 , 1 ) arm Y
.function. ( 1 , 3 ) ) ) , Eq . .times. ( 23 ) ##EQU14## Where
arm.sub.Y(1:3,t.sub.i)=R(2,1:3,t.sub.i). Eq. (24)
[0126] When the left forearm rotation is combined with the swing
angle we get squaring of forehand during the swing.
[0127] 5.8 Steepness Relative to the Reference Swing
(Shallow/Steep)
[0128] After we have calculated the swing angle .alpha. we can find
the seven swing locations (.alpha..sub.i). Then we can compare how
shallow or steep we are in these positions relative to the
reference swing. Comparison is done with arm vector (arm.sub.X)
from current swing and from reference swing. For positions 2, 3, 5,
and 6 we can calculate .PHI. = .times. arc .times. .times. cos
.function. ( arm X .function. ( .alpha. i , 1 .times. : .times. 3 )
arm_ref X .times. ( .alpha. i , 1 .times. : .times. 3 ) arm X
.function. ( .alpha. i , 1 .times. : .times. 3 ) .times. arm_ref X
.times. ( .alpha. i , 1 .times. : .times. 3 ) ) = .times. arc
.times. .times. cos .function. ( arm X .function. ( .alpha. i , 1
.times. : .times. 3 ) arm_ref X .times. ( .alpha. i , 1 .times. :
.times. 3 ) ) , Eq . .times. ( 25 ) ##EQU15##
[0129] where .phi. is difference in steepness in radians between
the current swing position and reference position. Here we assumed
that because the angle .alpha..sub.i is same then the x axis value
is same for both arm vectors. However, for positions 1, 4, and 7 we
need to first define that temporarily the x axis values for
arm_ref.sub.X and arm.sub.X are the same arm_temp X .times. (
.alpha. i , 1 : 3 ) = arm X .function. ( .alpha. i , 1 : 3 ) , Eq .
.times. ( 26 ) arm_temp X .times. ( .alpha. i , 1 ) = arm_ref X
.times. ( .alpha. i , 1 ) , .times. and Eq . .times. ( 27 )
arm_temp X .times. ( .alpha. i , 2 ) = 1 - arm_temp X .times. (
.alpha. i , 1 ) 2 - arm_temp X .times. ( .alpha. i , 3 ) 2 . Eq .
.times. ( 28 ) ##EQU16##
[0130] If we replace arm.sub.X with arm_temp.sub.X, we can use
equation (29) to calculate the steepness. The sign or the direction
(shallow or steep) is calculated for the right hand players
arm.sub.X(.alpha..sub.i,3)-arm_ref.sub.X(.alpha..sub.i,3)<0,
steep,
arm.sub.X(.alpha..sub.i,3)-arm_ref.sub.X(.alpha..sub.i,3)>0,
shallow. Eq. (29) for the left hand players the signs are opposite.
Same way the steepness of the swing can be calculated using wrist
location values. The arm.sub.X vector is just replaced with unit
vector that points from the swing origin to the location of
selected swing position. Swing origin is explained in Chapter
5.10.
[0131] 5.9 Left Arm Line (Right or Left)
[0132] Calculation of left arm line is very similar to steepness
calculation. However now the z axis value of arm_ref.sub.X and
arm.sub.X are the same arm_temp X .times. .times. ( .alpha. i , 1
.times. : .times. 3 ) = arm X .function. ( .alpha. i , 1 .times. :
.times. 3 ) , Eq .times. . .times. ( 30 ) arm_temp X .times.
.times. ( .alpha. i , 3 ) = arm_ref X .times. .times. ( .alpha. i ,
3 ) , .times. and Eq .times. . .times. ( 31 ) arm_temp X .times.
.times. ( .alpha. i , 2 ) = 1 - arm_temp X .times. .times. (
.alpha. i , 1 ) 2 - .times. arm_temp X .times. .times. ( .alpha. i
, 3 ) 2 . Eq .times. . .times. ( 32 ) ##EQU17##
[0133] We can now calculate how much left arm is right or left from
the target position .gamma. = .times. arc .times. .times. cos
.function. ( arm_temp X .times. ( .alpha. i , 1 .times. : .times. 3
) arm_ref X .times. ( .alpha. i , 1 .times. : .times. 3 ) arm_temp
X .times. ( .alpha. i , 1 .times. : .times. 3 ) .times. arm_ref X
.times. ( .alpha. i , 1 .times. : .times. 3 ) ) = .times. arc
.times. .times. cos .function. ( arm_temp X .times. ( .alpha. i , 1
.times. : .times. 3 ) arm_ref X .times. ( .alpha. i , 1 .times. :
.times. 3 ) ) . Eq . .times. ( 33 ) ##EQU18## The sign or the
direction (right or left) is calculated for the right hand players
arm.sub.X(.alpha..sub.i,1)-arm_ref.sub.X(.alpha..sub.i,1)<0,
right,
arm.sub.X(.alpha..sub.i,3)-arm_ref.sub.X(.alpha..sub.i,3)>0,
left. Eq. (34)
[0134] For left hand players the signs are opposite. Same way the
left arm line of the swing can be calculated using wrist location
values. The arm.sub.X vector is just replaced with unit vector that
points from the swing origin to the location of selected swing
position. Swing origin is explained in Chapter 5.10.
[0135] 5.10 Width of the Swing
[0136] Width of the swing is calculated using wrist location data
(X, Y, Z) calculated in Chapter 5.5. First we have to define origin
based on which width is calculated. Origin has to be selected so
that it allows best comparison between players. Co-ordinates for
origin are X width_origo = - Y Position_ .times. 3 tan .function. (
.alpha. Position_ .times. 1 ) + 0.1 , .times. Y width_origo = Y
Position_ .times. 3 , .times. and .times. .times. Z width_origo = H
handedness .times. Y Position_ .times. 3 tan .function. ( .lamda.
Position_ .times. 1 ) , .times. Where ( 35 ) .lamda. Position_
.times. 1 = arc .times. .times. tan .function. ( arm X .function. (
3 , t i ) arm X .function. ( 2 , t i ) ) . ( 36 ) ##EQU19## Now we
can calculate width based on FIGS. 5A and 5B. width .times. .times.
( i ) = ( X .function. ( i ) - X width_origo ) 2 + ( Y .function. (
i ) - Y width_origo ) 2 + ( Z .function. ( i ) - Z width_origo ) 2
. ( 37 ) ##EQU20##
[0137] 5.11 Club Head Speed
[0138] Club head speed depends from the speed of the hands,
rotation of the forearm, and the wrist cocking. Clubhead speed is
estimated from acceleration sensor data
.nu..sub.clubhead=0.175(2|a.sub.x''.sup.max|+1.3|a.sub.y''.sup.max|+|a.su-
b.z''|+1.2|.DELTA.a.sub.x''|+2|.DELTA.a.sub.y''|)D(club) Eq. (38)
Where a.sub.x''.sup.max is maximum acceleration so far in x-axis,
a.sub.y''.sup.max is maximum acceleration so far in y-axis,
.DELTA.a.sub.x'' and .DELTA.a.sub.x'' are calculated with eq (42),
and D(club) is club multiplier.
.DELTA.a.sub.x''=|a.sub.x''.sup.max|-|a.sub.x''|, when
a.sub.x''.sup.max>a.sub.x'', .DELTA.a.sub.x''=0, when
a.sub.x''.sup.max<a.sub.x'',
.DELTA.a.sub.y''=|a.sub.y''.sup.max|-|a.sub.y''|, when
a.sub.y''.sup.max>a.sub.y'', and .DELTA.a.sub.y''=0, when
a.sub.y''.sup.max<a.sub.y'' (39) The clubhead speed is filtered
slightly with FIR filter v clubhead .function. ( I ) = k = 0 m - 1
.times. h k .times. v clubhead .function. ( I - k ) , ( 40 )
##EQU21##
[0139] where m is number of filter taps, and h.sub.k are the filter
taps listed in Table 2. The cut-off frequency of the FIR filter is
1/8f.sub.SF. TABLE-US-00002 TABLE 2 FIR filter tap values. Tap No
(k) Value 0 0.0368626 1 0.019574609 2 -0.023181587 3 -0.05903686 4
-0.04914286 5 0.02388607 6 0.13902785 7 0.2445255 8 0.28715014 9
0.2445255 10 0.13902785 11 0.02388607 12 -0.04914286 13 -0.05903686
14 -0.023181587 15 0.019574609 16 0.0368626
[0140] 5.10.1 Maximum Club Head Speed
[0141] Maximum club head speed is defined as maximum of
.nu..sub.clubhead before the impact.
[0142] Chapter 6.0 Analyze Swing
[0143] 6.1 Swing Dynamics
[0144] 6.1.1 Tempo
[0145] Tempo is time values between different parts of the swing.
Interesting values are: [0146] Start of backswing to the top of
backswing (t.sub.backswing) [0147] Start of downswing to impact
(t.sub.downswing) [0148] Total time of the back and down swing
t.sub.swing=t.sub.backswing+t.sub.downswing Eq. (41) [0149] Pause
at the top if it exists
[0150] The time values for back and downswing are achieved when
different locations are detected as described in Chapter 7.2.
[0151] 6.1.2 Rhythm
[0152] Rhythm is the ratio of different parts of the swing. For
instance, ration of backswing and downswing times.
[0153] 6.1.3 Timing
[0154] Timing means a multitude of different things in golf. The
timing, as it is discussed as a golf feature that is feasible to do
in a wrist stop, is timing of different actions during the swing.
For instance, timing of the forearm rotation (Chapter 5.7) in
backswing and the downswing. Difference between timing and the
tempo is that changing the tempo does not change swing mechanics,
but changing i.e. timing of forearm rotation will change the swing
mechanics.
[0155] 6.2 Swing Positions
[0156] We calculate the 6 degrees of freedom (3 are location
co-ordinates and 3 are orientation values) of the wrist during the
swing. To make the data easy for user to analyze, we present this
data in only 7 points for the user. Analysis starts with detection
of these seven swing points.
[0157] 6.2.1 Start of Swing
[0158] Start of swing is already defined during the swing detection
described in specification Chapter 4.1.1.2.
[0159] 6.2.2 1/4 Swing (Back Swing)
[0160] 1/4 swing location and/or orientation for reference swing
are defined by forearm rotation (described in Chapter 5.7). In 1/4
swing position, the forearm has rotated 90 degrees compared to the
start of the swing. When two 1/4 positions from different swings
are compared. The reference swing defines the swing angle
(.alpha..sub.1/4.sub.--.sub.backswing) and the analyzed swing is
compared to reference at this swing angle. So the analyzed swing
does not have necessarily forearm rotated 90 degrees at this point.
Calculation of swing angle is in specification Chapter 5.6
[0161] 6.2.3 1/2 Swing (Back Swing)
[0162] 1/2 swing location and/or orientation (in backswing) is
defined as 90 degree swing angle
(.alpha..sub.1/2.sub.--.sub.backswing). Calculation of swing angle
is in specification Chapter 5.6.
[0163] 6.2.3 Top of Back Swing
[0164] Top(=end) of back swing is defined as the time, location
and/or orientation where the swing angle has maximum value
(.alpha..sub.top.sub.--.sub.swing.sub.--.sub.measured). Calculation
of swing angle is in specification Chapter 5.6.
[0165] 6.2.4 1/2 Swing (Down Swing)
[0166] 1/2 swing location and/or orientation (in down swing) is
defined as 90 degree swing angle
(.alpha..sub.1/2.sub.--.sub.downswing). Calculation of swing angle
is in specification Chapter 5.6.
[0167] 6.2.5 1/4 Swing (Down Swing)
[0168] 1/4 swing location and/or orientation for reference swing
are defined by forearm rotation (described in Chapter 5.7). In the
1/4 swing position (downswing), the forearm has under rotated 90
degrees compared to the end of the swing. When two 1/4 swing
positions from different swings are compared. The reference swing
defines the swing angle (.alpha..sub.1/4.sub.--.sub.downswing) and
the analyzed swing is compared to reference at this swing angle.
Calculation of swing angle is in specification Chapter 5.6.
[0169] 6.2.6 Hit Time
[0170] Hit time, location and/or orientation is defined as the time
and angle (.alpha..sub.impact.sub.--.sub.measured) when the club
hits the ball. It is detected from peaks in the second derivate of
acceleration and/or angular rate. Large value means that there is
oscillation in the club shaft and in the hand due to the impact.
Numerical method gives equation for second derivative d 2 .times. a
x '' d t 2 = a x '' .function. ( n - 2 ) - 2 .times. a x ''
.function. ( n - 1 ) + a x '' .function. ( n ) f SF 2 . Eq .
.times. ( 42 ) ##EQU22##
[0171] The hit time is defined when the derivate has highest value.
In order for hit time to detect derivate must be at least
10/f.sub.SF.sup.2. In addition, to detect new highest value for
derivate the next value must be 4/f.sub.SF.sup.2 higher than
previous highest value.
[0172] A process 300 for selecting swing positions for measurement
and analysis is described in FIG. 6, as follows: [0173] Step 1: A
list of swing positions is developed by the user for measurement
and analysis. [0174] Step 2: A swing position is selected from the
list. [0175] Step 3: The user takes the selected position. [0176]
Step 4: The selected position is displayed until the whole swing
process is exited. [0177] Step 5: The user takes the position
within N seconds, where N can range from 1 to 10 seconds, otherwise
the control returns to the initial view. [0178] Step 6: The swing
position is registered if the position is taken by the user within
N seconds. Otherwise the process returns to step 1. [0179] Step 7:
The sensors in the analyzer record the position data. [0180] Step
8: The analyzer provides an audio or vibration signal to the user
that the sensors are recording the position data. [0181] Step 9:
The process is returned to step 1 in the event the sensors are
unable to record the swing position data. [0182] Step 10: The
sensor stay still for M seconds at a minimum, where M can range
from 1 to 10 seconds, and the failure to do so returns the process
to step 1. [0183] Step 11: The position data is saved when the
sensor is still for M seconds or the process returns to step 1 for
the reselection of another position. [0184] Step 12: A confirmation
query is returned to step 3 if user wants to save another position
or exits if not.
[0185] Referring to FIG. 7A, a pictorial representations of a
golfer's swing, as viewed by the golfer, shows the measurements
made on the left wrist of the golfer relative to a standard golf as
swing generated by the swing algorithm described above in Chapter
3.0. FIG. 7B is a pictorial representation of the golfer's swing
and measurements made as viewed by a third person from the side of
the golfer. FIG. 7C is a pictorial representation of the golfer's
swing and measurements made as viewed by a third party from the
rear of the golfer. The club movement is represented by the
movement of a standard club head on a horizontal and a vertical
axis shown in the FIGS. 7A, B and C. The measurements are displayed
at the bottom of each Figure. The left measurement in each Figure
describes the rotation of a golfer's left arm in degrees relative
to the standard club head rotation at each measuring point in the
swing. The center measurement in each Figure describes the vertical
position (high or low) of the measured club head in inches from the
standard club head position at each measuring point. The right
measurement in each Figure describes the distance or width (right,
left or neutral) in inches of the measured club from the standard
club head at each measuring point.
[0186] The swing positions and measured data are shown in Table 3,
as follows: TABLE-US-00003 Swing position Measuring Unit Address
Left Am Rotation Degree Distance from the ball Inch or (high or
low) Centimeter Left arm line (left or right) Inch or Centimeter
1/4 up (1) Left arm rotation Degree Position (shallow.about.-steep)
Inch or Centimeter Width wide-narrow r) Inch or Centimeter 1/2 up
(2) Left arm rotation Degree Position {shallow-steep) Inch or
Centimeter Width (wide-narrow) Inch or Centimeter Top (3) Left arm
rotation Degree Position (shallow-steep) Inch or Centimeter swing
length /a (of maximum) Width wide-narrow) Inch; or Centimeter 1/2
down (4) Left arm rotation Degree Position (shallow-steep) Inch or
Centimeter Width (wide-narrow) Inch or Centimeter 3/4 down (5) Left
arm rotation Degree Position (shallorg.about.steep) Inch or
Centimeter Width (wide-narrow) Inch or Centimeter Impact (6) Left
arm rotation Degree Distance. from the ball Inch or Centimeter Left
arm line (left or right) Inch or Centimeter Follow thru (7) Left
arm rotation Degree Position (shallow-steep) Inch or Centimeter
Width (wide-narrow) Inch or Centimeter
[0187] 1. Table 3 Parameter calculations:
[0188] 1.1 The left arm rotation is given by equation (23) in the
Algorithm specification.
[0189] 1.2 Distance from ball (high-low) in swing positions 1, 4
and 7 is described in the algorithm specification at Chapter 5.8.
However, the unit is now degrees not inches or centimeters
[0190] 1.3 Position (shallow-steep) in swing positions 2, 3, 5 and
6 is described in the algorithm specification in Chapter 5.8.
However, the unit is now degrees not inch or centimeters
[0191] 1.4 Left arm line (left or right) is described in
specification Chapter 5.9 in the Algorithm specification. However
the unit is now degrees not inch or centimeters
[0192] 1.5 Width is described in specification Chapter 5.10 in the
Algorithm specification. However the unit is now degrees not inch
or centimeters
[0193] 1.2, 1.3, 1.4 can also be calculated in inches or
centimeters using values calculated by equation (23).
[0194] However, the advantage of using orientation instead of
absolute location is that points can be compared between persons
that have different physique. Like different height, arm lengths,
etc.
[0195] The swing tempo and measured data are shown in Table 4, as
follows: TABLE-US-00004 Tempo Measuring Unit Backswing Time Seconds
Downswing Time Seconds Ratio of Upswing divided by Downswing
Numerical backswing and value downswing Total time Backswing +
pause at top + downswing Seconds Transition, i.e., Transition time
from Backswing to Seconds pause at top Downswing Club head speed
Club head speed during a swing. Mph or Displayed in sync with swing
km/h animation. After the swing is complete a maximum value is
displayed. The value indicates speed at point of impact. Maximum
club Maximum club head speed during -- head speed a swing. In order
to help understanding tempo and generated power. Indicated using
specific icon or distinctive segment. Swing length Percentage of
ideal length. Ideal % length is default Top position or user
defined Top position. Swing length Actual swing length. Measured
Degree from perpendicular to Top position
[0196] Table 4, parameter calculations are as follows:
[0197] 2.1 Backswing time is known if we can locate end of back
swing from sensors data. This is described by equation (41) and
specification Chapter 6.2.4.
[0198] 2.2 Downswing time is known if we can locate ball strike
from sensor data. This is described by equation (42) and in Chapter
5.2.7 in the Algorithm specification.
[0199] 2.3 Total time is described by equation (42).
[0200] 2.4 Backswing/Downswing ratio is self explanatory
[0201] 2.5 Transition, i.e., pause at top is not described yet
[0202] 2.6 Max club head speed is described by equation (40) and in
Chapter 5.10.1 in the Algorithm specification.
[0203] 2.7 Swing length is the value of equation 26 at the top
position described in Chapter 6.2.4 in the Algorithm
specification.
[0204] In FIG. 7D, the swing algorithm enables the tempo of a
user's putting swing to be measured from the parameters listed
below in Table 5. The total time 1.08 seconds, shown in FIG. 7D, is
the sum of the backswing (0.86); pause (0.02) and downswing
((0.26). The ratio of backswing (0.86) to downswing (0.26) is 3.08
shown in FIG. 7D. The club head speed is shown as 113 mph within a
series of segments describing swing length. The maximum club head
speed is shown in the shaded segment. The percentage of ideal swing
is 94% for a swing length of 172 degrees out of 180 degrees.
TABLE-US-00005 TABLE 5 Putt and measured data Putt Measuring Unit
Clubface at Orientation of hands (comparable to Degree Address
clubface) Clubface at Orientation (comparable to clubface) Degree
Backswing Clubface at Orientation (comparable to clubface) Degree
Impact Speed Velocity of putter, displayed as curve: -- actual
speed vs. ideal speed Acceleration Acceleration at Impact Binary
value, e.g. YES/NO or ON/OFF Proportion Backswing length/Follow
through Inch or length, ideally it is ratio of 7:6 (follow
Centimeter through/backswing) Pendulum Current putt is compared
against Degree angle optimal angle on arc (e.g. 6.degree. open and
6.degree. closed), result is displayed using current value against
pendulum.
[0205] In addition to comparing a user's swing to target
performance, the analyzer facilitates a user practicing his/her
swing using a learning process, as follows: [0206] Step 1: The user
informs the analyzer through the keyboard that it wishes to
practice his/her swing. [0207] Step 2: The analyzer detects the
start position of the swing using the processes previously
described in the swing algorithm specification. [0208] Step 3: The
user informs the analyzer that he/she wishes to save correct swing
points. [0209] Step 4: The user takes an initial swing position.
When the analyzer detects the initial swing position, an
audio/vibration feedback is provided to the user to indicate the
initial position has been detected. [0210] Step 5 The user starts
the swing and goes to the desired swing position. [0211] Step 6: If
there are other swing positions "en route" and the user goes
through them the analyzer device gives feedback of this to the
user. [0212] Step 7: The user stops the club movement at the
desired swing position point and waits for a mark from the
analyzer. [0213] Step 8: When the analyzer detects no club
movement, it assumes this is a correct point and gives the user a
mark, either as a sound or a vibration. [0214] Step 9: When the
user detects the mark he/she may check the position and inform the
analyzer if the user wants to save the position.
[0215] The analyzer also facilitates teaching the user to improve
his/her swing using a teaching process, as follows: [0216] Step 1:
The user informs the analyzer through the keyboard device about
his/her intention to practice swing and use the analyzer device to
help improve his/her swing. [0217] Step 2: When the analyzer
detects the start position it waits for user movement.
[0218] Alternatively, the analyzer informs user that it is ready to
analyze the club movement. [0219] Step 3: When the swing is
started, the analyzer detects the movement and estimates the hand
positions as described in the Algorithm specification at Chapters
3-6.9. [0220] Step 4: If the user goes through a correct swing
point with proper movement the analyzer takes note of the correct
movement and may give notice to the user by a sound or vibration.
[0221] Step 5: If user fails to go through the swing point with an
improper movement the analyzer will inform the user about this
mistake by, for example, a message on the display, or by a sound or
vibration. [0222] Step 6: When the swing is completed, the analyzer
saves the swing data in the local or remote storage for future
use.
[0223] In another embodiment, the analyzer may be re-programmed
from new swing data provided by the user or from swing data stored
in a database 170 (See FIG. 1) of the user or another player. This
database can be on web server, webpage, user device, user computer
or any such similar place where it can be reached and accessed,
also the swing data can be modified or even made manually. A
representative process for re-programming the analyzer 124 of FIG.
1 is as follows: [0224] Step 1. A golfer, here a user, hits a
perfect shot with optimal swing; [0225] Step 2. His motion sensor
appliance saves all key motion data from the performance; [0226]
Step 3. After the round, the shot is reviewed through the display
in the user interface 132 and the data is a) saved as a target
performance in the analyzer; or b) transferred to external storage
for later utilization; [0227] Step 4. Later the user loses his good
performances and cannot find the perfect swing anymore; [0228] Step
5. The user browses through the collection of his shots stored in
the analyzer or downloaded from the database; [0229] Step 6. The
user spots the shot that once was his best swing [0230] Step 7. The
user uploads the shot data and re-programs the analyzer swing data
according to the shot data; [0231] Step 8. The analyzer retrains
the performance to the user.
[0232] The individual best performance or other target performance
is stored as raw motion sensor data or as an interpretation of that
data, organized to be re-discoverable and usable form, stored for
any period of time. After the desired performance is lost, the
stored performance can be uploaded to the analyzer to be recreated
in full detail, body positions, movements, timings, orientations,
accelerations, all measured factors can be recreated with
unequalled precision.
[0233] In re-creation of the stored target performances, the target
values are utilized as training goals that are provided to the user
through the user interface that can contain feedback methods for
any senses, e.g. vibrations for sense of touch, sounds for hearing,
lights or other visual elements etc.
[0234] FIG. 8 shows the analyzer as a trainer 100 in a process 600
for a user 602 to improve his/her tennis performance, as follows:
[0235] Step 1: The user is in a setup position. The analyzer is
active. [0236] Step 2: The racket is moving. The analyzer is
active. The user tries to find an optimal position to train. [0237]
Step 3: Step 2 is repeated. [0238] Step 4: Step 2 is repeated.
[0239] Step 5: The user finds an optimal position (XY) to train and
stops hand movement. The analyzer detects the optimal position and
a timer is triggered. [0240] Step 6: The racket/hand has been
static for a defined number of seconds. The analyzer via the
sensors record the sensor parameter. [0241] Step 7: The user
continues training. The analyzer is active. [0242] Step 8: The user
trains to find optimal previously recorded position XY. When found
the analyzer gives feedback to the user.
[0243] It will be apparent to persons skilled in the relevant art
that various changes in form and detail can be made therein without
departing from the spirit and scope of the invention. Accordingly,
the breadth and scope of the present invention should not be
limited by any of the above-described exemplary embodiments, but
should be defined only in accordance with the following claims and
their equivalents.
* * * * *
References