U.S. patent application number 11/192435 was filed with the patent office on 2006-04-20 for method and system for defining and using a reference swing for a sports training system.
This patent application is currently assigned to SmartSwing, Inc.. Invention is credited to Eric Cassady, Raymond Deragon, Richard D. Eyestone, John Farrington, Alessandro U. Gabbi, Nathan J. Hood, John Lupher, Brian Maloney, James Satterwhite.
Application Number | 20060084516 11/192435 |
Document ID | / |
Family ID | 36181478 |
Filed Date | 2006-04-20 |
United States Patent
Application |
20060084516 |
Kind Code |
A1 |
Eyestone; Richard D. ; et
al. |
April 20, 2006 |
Method and system for defining and using a reference swing for a
sports training system
Abstract
A method and system define a reference swing for a sports
training system, steps of and structures for forming a humanoid for
using a plurality of formulae for defining the movements of a
sports implement throughout a swinging motion, while using said
plurality of formulae for defining the movements of the golf club
throughout a plurality of known positions during the swinging
motion. The method and system link said humanoid to said plurality
of formulae using a plurality of planes perpendicular to the target
line, said target line defined as a line passing through the golf
ball to the target. A lower plane relates to the shaft of the
sports implement; with a first point and a second point of said
lower plane associated at the hosel of the sports implement, and an
entry point of the shaft into the head on the sports implement and
the swinger's hands. A middle plane relates to the plane that
passes through two points, the center of the sports implement sweet
spot and the right elbow of the swinger. A third plane relates to
the plane that passed through the toe of the sports implement and
the swinger's shoulder. The reference starting said reference swing
starts with the swinger at address and the sports implement shaft
on the lower plane. The disclosed subject matter also provides for
associating the reference motion with a swinger in real time.
Inventors: |
Eyestone; Richard D.;
(Fernandina Beach, FL) ; Hood; Nathan J.; (Austin,
TX) ; Gabbi; Alessandro U.; (Austin, TX) ;
Farrington; John; (Georgetown, TX) ; Cassady;
Eric; (Austin, TX) ; Maloney; Brian; (Austin,
TX) ; Deragon; Raymond; (Austin, TX) ; Lupher;
John; (Austin, TX) ; Satterwhite; James;
(Austin, TX) |
Correspondence
Address: |
HULSEY IP Intellectual Property Lawyers, P.C.
Bldg. 3, Suite 610
1250 S. Capital of Texas Highway
Austin
TX
78746
US
|
Assignee: |
SmartSwing, Inc.
|
Family ID: |
36181478 |
Appl. No.: |
11/192435 |
Filed: |
July 28, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60640676 |
Dec 31, 2004 |
|
|
|
60591637 |
Jul 28, 2004 |
|
|
|
Current U.S.
Class: |
473/219 ;
473/257 |
Current CPC
Class: |
A63B 2225/54 20130101;
A63B 2220/833 20130101; A63B 2220/64 20130101; A63B 2024/0012
20130101; A63B 2225/50 20130101; A63B 2220/62 20130101; A63B
2220/803 20130101; A63B 2220/72 20130101; A63B 2071/0625 20130101;
A63B 69/3632 20130101; A63B 71/0622 20130101; A63B 2220/16
20130101; A63B 2220/40 20130101 |
Class at
Publication: |
473/219 ;
473/257 |
International
Class: |
A63B 69/36 20060101
A63B069/36 |
Claims
1. A method for defining a reference swing for a sports training
system, comprising the steps of forming a humanoid for using a
plurality of formulae for defining the movements of a sports
implement throughout a swinging motion; using said plurality of
formulae for defining the movements of the golf club throughout a
plurality of known positions during the swinging motion; linking
said humanoid to said plurality of formulae using a plurality of
planes perpendicular to the target line, said target line defined
as a line passing through the golf ball to the target, wherein: a
lower plane relates to the shaft of the sports implement; with a
first point and a second point of said lower plane associated at
the hosel of the sports implement, and an entry point of the shaft
into the head on the sports implement and the swinger's hands; a
middle plane relates to the plane that passes through two points,
the center of the sports implement sweet spot and the right elbow
of the swinger; and a third plane relates to the plane that passed
through the toe of the sports implement and the swinger's shoulder;
and starting said reference swing starts with the swinger at
address and the sports implement shaft on the lower plane.
Description
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
[0001] This patent application claims the benefit of U.S.
Provisional Patent Application Ser. No. 60/640,676 filed on Dec.
31, 2004, as well as U.S. Provisional Patent Application Ser. No.
60/591,637 filed on Jul. 28, 2004.
[0002] This disclosure pertains generally to a sport training
system and, more particularly, to an intelligent sports club, bat
or racket that takes quantitative measurements of a swing for
real-time feedback and subsequent analysis and display, even more
particularly, the present invention relates to the formulation of a
"reference" swing for use in such a training system.
BACKGROUND
[0003] Various inventions are described to assist golfers' efforts
to improve their swing. One category of devices involves systems of
restraints on the golfer's body or on the club to force the golfer
into a more perfect swing. Restraint based systems operate on the
premise that by forcing a golfer into a given stance or swing
pattern, the golfer will inculcate the lesson as a form of muscle
memory that can then be employed while golfing with a standard
club. However, a golfer's natural tendency is to resist the
restraint system and thereby learn a stance or swing pattern
predicated on the presence of the restraint system. In the absence
of the restraint system, the user's new stance or swing pattern is
incorrect.
[0004] Other devices attempt to mechanically react to the swing
with hinged clubs or moving weights. Mechanically reactive systems
provide hinged or weighted systems that react to various qualities
of a swing. For example, a hinged golf club is specified that stays
rigid during the course of a good swing, but will collapse under
the conditions of a poor club swing. These devices do not allow the
golfer to train with a physically intact, standard golf club. Also,
some of these devices do not allow for actually striking a golf
ball during the swing. Once again, the golfer is learning swing
habits divorced from requirements of swinging a standard golf club
in a standard manner.
[0005] Another category of devices is electronic in nature and
entirely external to the golf club, typically involving some type
of swing motion capture. These systems typically employ arrays of
sensors and cameras configured around the golfer. Visualization and
analysis of individual frames, as well as slow motion animation of
the golf swing are difficult with conventional video analysis
because of the required high frame rates. Further, high frame rates
require large amounts of data storage and processing power. In some
instances, the users must also affix indicators or sensors on their
person and/or their club. The inconvenience and complexity of these
externally configured systems prevent this technology category from
gaining widespread appeal in the golfing community. In addition,
because of the nature of these systems, golfers are not able to
play a round of golf while using these systems.
[0006] A class of electronic devices exists that requires users to
mount the devices on the outside of the shaft of the club. The
weight of these devices changes the club's swing characteristics
and renders swing lessons less meaningful. The externally mounted
devices significantly change the look of the club and may loosen or
move on the shaft.
[0007] Another class of electronic devices exists that require
users to mount devices on their person. For example, in U.S. Pat.
No. 6,048,324, issued to Socci et al., the specification discloses
headgear for detecting head motion and providing an indication of
head movement. An object of this invention is to provide players
with a device to teach proper ball striking in a variety of sports
including golf by tracking head motion. Devices designed to
exclusively monitor a subset of the golfer's motions do not
adequately capture the various motions required for a human to hit
a golf ball. Therefore, these devices cannot precisely predict the
path of the golf club during a swing.
[0008] Lastly, in U.S. Pat. No. 6,648,769, issued to Lee et al., a
device is disclosed to capture and analyze data related to a golf
club swing. This device is comprised of electronic components in
the distal end of the club shaft with additional circuitry in the
head of the club. The presence of components in the modified golf
club head degrades the users' experience by providing a different
tone at ball strike. Furthermore, by locating critical components
in the club head, the region of the club which experiences the
highest rates of acceleration, the device is more susceptible to
mechanical degradation and failure. The club requires a wired link
to download swing data to a computing device. This wired link is
cumbersome for users. Finally, the club provides feedback to the
user regarding their swing only after data is downloaded to a
computing device. This lack of real-time feedback, during the
course of the swing, provides a less meaningful learning experience
to the user.
[0009] In such a system, there is the need for a reference swing in
that may be employed in numerous ways, such as in an instrumented
golf club, a means of communicating to a standard computing
platform, a standard computational platform, such as a PC, and the
required control and display software.
BRIEF DESCRIPTION OF THE FIGURES
[0010] For a more complete understanding of the present disclosure,
and the advantages thereof, reference is now made to the following
brief descriptions taken in conjunction with the accompanying
drawings, in which like reference numerals indicate like
features.
[0011] FIG. 1 shows an instrumented golf club (IGC), which is a
component of the claimed subject matter;
[0012] FIG. 2 shows additional components of the claimed subject
matter, i.e. a radio frequency (RF) link box, a universal serial
bus cable and a computing device executing a software program;
[0013] FIG. 3 shows a battery recharger designed to be used with
the IGC of FIG. 1;
[0014] FIG. 4 shows two views of a club grip incorporated into the
IGC, i.e., an outer view and an expanded inner view;
[0015] FIG. 5 shows an exploded view of the top portion of the IGC
grip;
[0016] FIG. 6 shows three views of an Inertial Measurement Unit
(IMU) incorporating the claimed subject matter;
[0017] FIG. 7 shows a three-dimensional frame of reference
corresponding to the IGC with respect to a three-dimensional frame
of reference corresponding to the world;
[0018] FIG. 8 shows an exploded view of the RF link box introduced
in FIG. 2;
[0019] FIG. 9 shows an exemplary swing path data model used to
store information collected by the IGC;
[0020] FIG. 10 shows an exemplary analysis application 88 graphical
user interface (GUI) that provides a user access to the
functionality and configuration of the IGC;
[0021] FIG. 11 shows an alternative embodiment of the RF link box
of FIGS. 1 and 8;
[0022] FIG. 12 is a flowchart of a Data Collection process
associated with the IGC and the System of Golf Swing Analysis and
Training (SGSAT);
[0023] FIG. 13 is a flowchart of the Process Link Box step of the
Data Collection process of FIG. 12 in more detail;
[0024] FIG. 14 is a flowchart of the Process Swing step of the Data
Collection process of FIG. 12 in more detail; and
[0025] FIG. 15 is a flowchart of a Data Display process associated
with the IGC and the SGSAT.
DETAILED DESCRIPTION OF THE FIGURES
[0026] Although described with particular reference to a golf club
and more specifically to a driver, the claimed subject matter can
be implemented in many types of devices. With reference to other
golf clubs the claimed subject matter is applicable to all types of
golf clubs, including irons, fairway woods, wedges, and putters.
Another type of sports device that may benefit from the claimed
subject matter is a racket. All racket sports include tennis,
racquetball, squash and badminton. With minor software
modifications to the disclosed embodiment, the advantages of
real-time swing feedback, swing data storage, transmission, and
advanced analysis can be extended to the players of racket sports.
Further, additional embodiments may include bats such as those used
in baseball, softball, t-ball, cricket, polo, etc. With minor
software modifications to the disclosed embodiment, the advantages
of real-time swing feedback, swing data storage, transmission, and
advanced analysis could be extended to the players of bat
sports.
[0027] An additional embodiment may be adapted for use with a video
game controller or computer game controller. Real time data
transmission from an instrumented game controller allows for
real-life swing data to be directly fed into any sports video or
computer game. In addition, the portions of the disclosed invention
can be implemented in software, hardware, or a combination of
software and hardware. The hardware portion can be implemented
using specialized logic; the software portion can be stored in a
memory and executed by a suitable instruction execution system such
as a microprocessor, tablet personal computer (PC), or desktop
PC.
[0028] Several exemplary objects and advantages of the claimed
subject matter, described for the sake of simplicity only with
respect to a golf club, are as follows: [0029] Provide a system for
capturing, recording, and analyzing data pertaining to a golf club
swing that resides entirely within the distal end (grip end) of the
instrumented golf club; [0030] Provide a system for capturing,
recording and analyzing data pertaining to a golf club swing
without noticeably modifying the instrumented club's swing
characteristics as compared to the characteristics of a standard,
non-instrumented golf club; [0031] Provide a system for capturing,
recording and analyzing data pertaining to a golf club swing
without modifying the appearance or character of the head of the
instrumented golf club or the shaft of the instrumented golf club
as compared to a standard, non-instrumented golf club; [0032]
Provide a system for capturing, recording and analyzing data
pertaining to a golf club swing such that the instrumented golf
club can be used to strike a standard golf ball in both playing and
practice conditions thereby avoiding swing idiosyncrasies which may
occur when golfers swing in the absence of a golf ball; [0033]
Provide a system for users to improve their golf swing without
imposing outside physical restraints or tethers on a golfer and
thereby avoiding the creation of artificial swing habits that
compensate for the outside restraints; [0034] Provide a system
which generates audible real-time feedback during the course of a
swing thereby allowing a user to immediately recognize and address
poor swing habits; [0035] Provide a system which does not require
the placement or utilization of devices affixed to the exterior of
a golf club for capturing, recording, and analyzing data pertaining
to a golf club swing; [0036] Provide a system which requires
minimal amounts of memory storage and processing power to allow
visualization and analysis of individual frames as well as slow
motion animation of the golf swing; [0037] Provide a system which
does not require the placement or utilization of devices affixed to
the golfer's body while capturing, recording, and analyzing data
pertaining to a golf club swing; [0038] Provide a system which does
not require the placement or utilization of devices positioned
around the golfer while capturing, recording, and analyzing data
pertaining to a golf club swing; [0039] Provide a system for
capturing, recording and analyzing data pertaining to a golf club
swing which allows for subsequent wireless transfer of single or
multiple swing data sets to an application resident on a computing
device for further swing analysis; [0040] Provide a system for
capturing, recording and analyzing data pertaining to a golf club
swing which includes highly accurate club linear acceleration data
along 3 orthogonal axes and highly accurate club angular rate data
around said axes and algorithms sufficient to convert said data
into highly accurate club positioning data; [0041] Provide an
athlete, or other user, a method of visualizing a correct motion
required for some athletic movement; [0042] Enable an athlete to
compare their current motion vs. a more correct motion; [0043]
Provide an athlete the ability to improve their practice
environment; [0044] Provide a system that is capable of being used
to provide sufficient data on any athlete's motion that they may
gain critical insights into what the golf club is doing in their
motion vs. the reference motion; [0045] Provide a system that is
capable of being used to provide sufficient data on any athlete's
motion that they may gain critical insights into what the athlete's
body is doing in their motion vs. the model motion; [0046] Capture
data associated with any critical points in the motion (i.e. at
impact with the ball). [0047] Provide a user with a practice
environment in which a wide variety of conditions associated with
any athletic movement can be successfully simulated in order to
help the athlete apply their skills. [0048] Provide the athlete
with the ability to acquire and view a graphical depiction of their
athletic motion in three-dimensional space in a PC-based software
application for the purposes of obtaining feedback and suggestions
from the software on how to improve their motion and provide a
comparison to a known, good reference motion to enable the athlete
to visualize what he/she must to do improve their own motion; and
[0049] Provide the athlete the ability to improve the speed of
learning by creating a more comprehensive learning environment.
Additional exemplary objects and advantages are as follows: [0050]
Provide a system which allows for extensive, subsequent swing
analysis on a computing device; [0051] Provide a system packaged in
a sufficiently generic way that multiple, disparate clubs may be
instrumented and therefore enabled for swing data analysis; [0052]
Provide a system with an active but dozing mode that increases
battery life and reduces the incidence of non-swing motion
recording; and [0053] Provide a system that allows for the
transmission of swing data from the golfer to a second, remote
party for second-party analysis.
[0054] Other aspects, objectives and advantages of the claimed
subject matter will become more apparent from the remainder of the
detailed description when taken in conjunction with the
accompanying FIGUREs.
[0055] FIG. 1 shows an instrumented golf club (IGC) 18, which is
one component of a System of Golf Swing Analysis and Training
(SGSAT) of the claimed subject matter. Other components of SGSAT
include a radio frequency (RF) link box 38 (see FIG. 2) coupled to
a computing device 48 (see FIG. 2) and a battery recharger 22 (FIG.
3).
[0056] IGC 18 includes a head 34 and a shaft 34, both of which are
similar to shafts and heads on a typical golf club. Although
illustrated as a driver, head 34 can be any type of golf club,
including but not limited to, an iron, a wedge, a wood and a
putter. As mentioned above, the claimed subject matter is not
limited to golf clubs but can be applied to many types of bats,
rackets and game controllers.
[0057] Attached to the top of shaft 34 is a grip 30, into which the
claimed subject matter is incorporated. Grip 30 includes a Power
On/Mute/Power Off button 20, a battery recharge connector 28, a
battery recharge connector cover 22, a grip faceplate 24 and a Flag
Swing button 26.
[0058] Power On/Mute/Power Off button 20 is pushed once to power on
the IGC 18. Once the IGC 18 is powered on, button 20 is pushed to
toggle on and off an audio feedback signal that indicates to a user
when a particular swing has broken a plane representing a correct
swing. To power off the IGC 18, button 20 is pushed in and held for
four or more seconds.
[0059] Battery recharge connector 28 is a socket into which battery
recharger 22 is inserted to charge a battery pack 68 (see FIG. 6)
within IGC 18. Battery recharge connector cover 22 is a plastic
cover that has two protruding posts, one of which plugs into
connector's 28 socket and keeps moisture and dirt from entering
socket 28 when battery recharger 22 is not connected to IGC 18.
When IGC 18 requires recharge, cover 22 is lifted and rotated
around the second protruding post to expose connector 28 and
battery recharger 22 is inserted into connector 28. Grip faceplate
24 is a finishing piece for an Inertial Measurement Unit (IMU) 53
(see FIGS. 4 and 6) that fits within grip 30. Finally, a flag swing
button 26 is pushed when a user desires to mark the data
corresponding to a particular swing of IGC 18 for future
investigation using an analysis application 88 (see FIG. 10) on a
computing device 48 (see FIG. 2). A saved swing can also become a
benchmark, or reference swing, against which subsequent swings can
be compared, including setting a reference for the breaking planes
sounds.
[0060] FIG. 2 shows additional components of SGSAT of the claimed
subject matter, i.e. Radio Frequency (RF) Link Box 38, a universal
serial bus (USB) cable 46 and a computing device 48 that hosts two
software applications, one for processing swing data (see FIG. 14)
and one for interfacing with IGC 18 (see FIG. 13). USB cable 46
communicatively couples computing system 48 and RF Link Box 38 via
a USB connector 44. USB cable 46 is used as an example only. One
with skill in the computing arts would recognize there are many
ways, both wired and wireless, to connect computing system 48 and
RF Link Box 38.
[0061] A Power/USB connection light emitting diode (LED) 42
provides indication of whether or not RF link box 38 is connected
to power and computing system 48. A club detection data transfer
LED 40 provides indication of whether or not RF link box 38 is in
communication with IGC 18 by lighting up and provides indication of
whether data is being transferred between IGC 18 and RF link box 38
by blinking. RF link box 38 is described in more detail below in
conjunction with FIG. 8.
[0062] FIG. 3 shows a battery recharger 22 designed to be used with
the IGC 18 of FIG. 1. Recharger 22 plugs into IGC 18 at battery
recharge connector 28 (FIG. 1) and functions to recharge battery
pack 68 (see FIG. 6). Recharger 22 includes a plug for connecting
recharger 22 to a standard AC power outlet and a transformer to
convert AC current into DC current. Recharger 22 is similar to
rechargers typically provided in conjunction with cordless
appliances, wireless telephones, and many other common household
devices.
[0063] FIG. 4 shows club grip 30 and an expanded view of a top
portion of IMU 53, which fits within IGC 18. Battery recharge
connector cover 22, grip faceplate 24, power on/mute/power off
button 20 and flag swing button 26 were introduced above in
conjunction with FIG. 1. As explained above, a protruding post on
battery recharge connector cover 22 fits into grip faceplate 24 to
protect battery recharge connector 28. In addition, grip faceplate
24 has a cover anchor hole 23, into which a second post on cover 22
is inserted. When inserted into hole 23, friction and compression
between the second protruding post and faceplate 24 secure cover 22
against faceplate 24.
[0064] Below grip faceplate 24 is an antenna board 50 that is
employed in wireless communication between IGC 18 and RF link box
38 (FIG. 2). Antenna board 50 is coupled to a main circuit board
52, which is explained in more detail below in conjunction with
FIG. 6. Illustrated parts 20, 22, 24, 26, 50 and 52 connect
together and are coupled to, and part of, IMU 53, which fits into
grip 30. A tab 51 extends from main board 52 and serves to secure
IMU 53 in a fixed position relative to grip 30. A second, opposing
tab (not shown) protrudes from the other side of main board 52 and
also serves to secure IMU 53 in position relative to grip 30.
[0065] FIG. 5 shows a detailed view of the top portion of IGC grip
30. Two slots 55 provide space into which tab 51 (FIG. 4) and the
second opposing tab can be positioned to secure IMU 53 within grip
30.
[0066] FIG. 6 shows three views of IMU 53 (FIG. 4), i.e. an outer
view 101, an inner, exploded view 103 and an inner, assembled view,
or assembly, 105. Outer view 101 shows a tube 54 into which
assembly 105 fits. Also shown is a screw 56 which secures assembly
105 to tube 54.
[0067] Exploded view 103 includes antenna board 50 and a full view
of main board 52, both of which were introduced above in
conjunction with FIG. 4. Antenna board 50 is coupled both
mechanically and electrically to main board 52. Also coupled
mechanically and electrically to main board 52 are a club
transceiver chip 78, a sounder 76, an accelgyro board 60 and a
z-gyro board 62. Also included within tube 54 are a battery pack
68, two tube inserts 58, a battery standoff 64, and battery pack
wires 66.
[0068] Club transceiver chip 78, which in this example is a 2.4 GHz
transceiver, is responsible for wireless communication between IGC
18 (FIG. 1) and RF link box 38 (FIG. 2). Transceiver chip 78
employs a quarter wave monopole antenna (not shown) located on
antenna board 50. Sounder 76 provides an audio feedback signal to a
user of IGC 18 when a particular swing falls outside of acceptable
parameters.
[0069] Screw 56 extends through one wall of tube 54, through one
tube insert 58, through main board 52, through second tube insert
58 and through the opposite wall of tube 54. Screw 56 serves as a
main point of structural integrity within IMU 53. In other words,
screw 56 and tube inserts 58 prevent the various components of
assembly 105 from vibrating within tube 54.
[0070] IMU 53 employs three solid-state gyroscopes (not shown),
such as Analog Devices' ADXRS300, to measure angular rates around
axes C.sub.X, C.sub.Y, and C.sub.Z (see FIG. 7). A gyroscope
located on accel/gyro board 60 measures the angular rate of
rotation around C.sub.X, a gyroscope located on main board 52
measures the angular rate of rotation around C.sub.Y, and a
gyroscope located on the Z-gyro board 62 measures the angular rate
of rotation around C.sub.Z. These gyroscopes are configured with a
bandwidth of 1500 degrees per second in order to record a typical
golf swing, although other bandwidths are possible depending upon
the particular application. Additional signal conditioning and
analog to digital conversion circuitry (not shown) supports the
three gyroscope sensors.
[0071] IMU 53 employs two dual-axis accelerometers (not shown),
such as Analog Devices ADXL210e, to measure linear acceleration
along axes C.sub.X, C.sub.Y, and C.sub.Z. An accelerometer on main
board 52 measures linear acceleration along C.sub.X and C.sub.Z
axes. An accelerometer on accel/gyro board 60 measures linear
acceleration along C.sub.Y axis and duplicated data along the
C.sub.Z axis. Although one embodiment uses only one channel of the
C.sub.Z data, another embodiment may compare both channels of
C.sub.Z data for such benefits as increased accuracy and/or signal
noise reduction.
[0072] It should be noted that accelerometers can measure both
linear acceleration and forces due to gravity. The ability to
measure the effects of gravity allows for the resolution of a
gravity vector that in effect tells IGC 18 which direction is down
with respect to the surrounding world (see FIG. 7).
[0073] Also included on main board 52 is a temperature sensor (not
shown) for providing temperature compensation of data from the
gyroscopes and accelerometers because the performance
characteristics of the gyroscopes and accelerometers can be
affected by temperature. A microprocessor (not shown), on main
board 52, is employed as a central processing unit for IGC 18. The
microprocessor controls the other components of board 52, collects
sensor data, monitors system temperature, corrects sensor data for
temperature related distortion, processes the corrected sensor data
into position, velocity, and acceleration vectors, stores the
corrected sensor data in flash memory (not shown) for later
download, and performs real-time collision detection of IGC 18 with
respect to the swing planes, explained below in conjunction with
FIG. 7.
[0074] Swing data is stored on 8 MB of serial flash memory (not
shown) on main board 52. One embodiment of the claimed subject
matter employs approximately 72 kB of memory per recorded swing
therefore allowing over 100 swings to be stored on the flash memory
before the flash memory is consumed. Another embodiment of the
claimed subject matter may use higher quantities of memory that
would allow for data captured for a higher number of swings. In
addition, other embodiments may sample fewer data points per swing,
thereby allowing for data to be captured from a higher number of
swings. Furthermore, other embodiments may employ data compression
algorithms to allow for more data to be captured from a higher
number of swings.
[0075] Finally, battery standoff 64 provides separation between
main board 52 and battery pack 68, which provides power for the
components of IMU 53. Battery pack 68 is electrically coupled to
z-gyro board 62, and therefore the other components of IMU 53, via
battery pack wires 66. In this example, battery pack 68 consists of
five (5) rechargeable metal hydride cells, although there are many
possible configurations. The power supply sub-system, which
includes battery pack 68 and a voltage regulator (not shown) on
main board 52, generates voltage levels as required for device
components, e.g. 1.8 V, 3.3 V and 5.0 V supplies.
[0076] FIG. 7 shows IGC 18 within two three-dimensional, orthogonal
frames of reference, a frame 107 plotted with reference to a
typical position for IGC 18 (FIG. 1) and a frame 109 plotted with
reference to gravity corresponding to the world. Frame 107
corresponds to a coordinate system in which the positive club
X-axis is identified as `C.sub.X`, the positive club Y-axis is
identified as `C.sub.Y` and the positive club Z-axis is identified
as `C.sub.Z`. Frame 109 corresponds to a coordinate system in which
the positive world X-axis is identified as `G.sub.X`, the positive
world Y-axis is identified as `G.sub.Y` and the positive world
Z-axis is identified as `G.sub.Z`.
[0077] During processing of data collected by ICG 18 both frames
107 and 109 are applicable. Frame 107 corresponds to a frame of
reference for measurements taken by accelgyro board 60 and Z-gyro
board 62 (FIG. 6). Frame 109 corresponds to a frame of reference of
a user of IGC 18 and a display (not shown) for providing feedback
to the user. Those with skill in the mathematical arts can easily
convert measurements back and forth between frames 107 and 109.
[0078] The claimed subject matter builds on the concept of a golfer
keeping their swing within a region bounded by a "lower swing
plane" and an "upper swing plane" (not shown). The lower swing
plane passes roughly from the heel of golf club head 36 (FIG. 1)
through the golfer's right hand while the golfer is addressing a
golf ball. The upper swing plane passes roughly from the toe of the
golf club head 36 through the golfer's right shoulder while the
golfer is addressing the golf ball. Most golfers swinging above the
lower swing plane and below the upper swing plane will produce a
better swing than those swinging outside of these planes.
[0079] One task of the claimed subject matter is to accurately
track the movement of IGC 18 through space over the duration of a
swing of IGC 18, and to produce an audible alert if IGC 18 violates
the lower or the upper swing plane. To accomplish this task, the
IGC 18 uses inertial measurement unit 53 (FIGS. 4 and 6) with data
sampling fast enough to capture the dynamics of a golf club
swing.
[0080] IMU 53 can also be termed a six degrees of freedom inertial
measurement unit since it measures linear acceleration along axes
Cx, Cy, and Cz (the first 3 degrees of freedom) and it measures
angular rate (rotation speed) around axes Cx, Cy, and Cz (an
additional 3 degrees of freedom). Using algorithms known to those
well versed in the art of IMUs, the data from these six degrees of
freedom yield the orientation and position of IMU 18 as a function
of time relative to its initial position. Employing additional
algorithms common to this field, the orientation and position of
all elements of IGC 18 can be calculated given the orientation and
position of the inertial measurement unit 53. Finally with some
basic knowledge of a golfer's physical dimensions and common
stance, IGC 18 determines whether or not a swing has remained
within the region defined by the upper and lower swing planes.
[0081] FIG. 8 shows an exploded view of RF link box 38 first
introduced in FIG. 2. A link board 70 is a printed circuit board
with the primary function of facilitating communication between IGC
18 (FIGS. 1 and 7) and a software application executed on computing
device 48 (FIG. 2). Board 70 incorporates a link board transceiver
chip 80, which is antenna and transceiver circuitry sufficient to
enable RF communication between RF link box 38 and transceiver chip
78 (FIG. 6) on main board 52 (FIG. 6) IGC 18. In this example
transceiver chip 80 is a 2.4 GHz transceiver that sends and
receives signals on a quarter wave monopole antenna (not shown) on
link board 70.
[0082] The USB circuitry enables communication with computing
device 48 via USB connector 44 and USB cable 46 (FIG. 2). Computing
device 48 hosts a software application dedicated to interfacing
with IGC 18. Link board 70 is enclosed in a link box cap 72 and a
link box base 74. Also illustrated are power/USB connection LED 42
and club detection data transfer LED 40, first introduced in FIG.
2.
[0083] FIG. 9 shows an exemplary Swing Path data model 82 used to
store information collected by IGC 18 (FIGS. 1 and 7) and processed
by computing system 48 (FIG. 2). Swing path data 82 includes a
swing info header 84, which stores data related to a particular
swing of IGC 18, and multiple swing data elements 86. Each swing
data element 86 stores measurement information from sensors on main
board 52 (FIG. 6) accelgyro board 60 (FIG. 6) and Z-gyro board 62
(FIG. 6) for a particular moment in time of a particular swing
corresponding to swing data header 84. If SGSAT employs a sampling
rate of 2 k Hertz, then there are 2,000 instances of swing data
element 86 generated for each second that a particular swing takes,
e.g. if a swing takes 2 seconds, there are 4,000 instances of swing
data element 86 generated for that particular swing.
[0084] Swing info header 84 includes a swing info identifier (ID),
which uniquely identifies a particular swing, a club ID, which
identifies a particular club used for the swing, a swing start
timestamp, which stores a start time for the swing, a swing
duration data element, which stores data on how long the swing took
from beginning to end, a swing flagged data element, which
indicates whether or not the user has indicated that the
corresponding swing is of special interest for later use and
analysis, and a temperature data element, which stores the ambient
temperature from a temperature sensor on main board 52 (FIG. 6) for
use in analyzing output from the accelerometers and gyroscopes
(FIG. 6). The user sets the Swing Flagged data element by pushing
flag swing button 26 (FIG. 4), typically following a particularly
good swing.
[0085] Each swing data element 86 includes a swing info ID, which
enables a particular swing data element 86 to be associated with a
particular swing info header 84, a sequence number, which indicates
an ordering of multiple swing data elements 84 associated with a
particular swing info header 86, and various data elements
corresponding to measurements taken from main board 52, accelgyro
board 60 and Z-gyro board 62.
[0086] An X-axis accelerometer data element corresponds to a
measurement of movement in the C.sub.X axis (FIG. 7) of IGC 18
taken from an accelerometer on accelgyro board 60. A Y-axis
accelerometer data element corresponds to a measurement of movement
in the C.sub.Y axis (FIG. 7) of IGC 18 taken from the same
accelerometer on accelgyro board 60 that measures the C.sub.X. A
Z-axis accelerometer data element corresponds to a measurement of
movement in the C.sub.Z axis (FIG. 7) of IGC 18 taken from the
second accelerometer on main board 52.
[0087] An X-axis gyroscope data element corresponds to a
measurement of angular rotation around the C.sub.X axis of IGC 18
taken by the gyroscope located on accel/gyro board 60. A Y-axis
gyroscope data element corresponds to a measurement of angular
rotation around the C.sub.Y axis of IGC 18 taken by the gyroscope
located on main board 52. A Z-axis gyroscope data element
corresponds to a measurement of angular rotation around the C.sub.Z
axis of IGC 18 taken by the gyroscope located on Z-gyro board
62.
[0088] Swing path data model 82 illustrates one particular format
for storing data generated by IGC 18. Those with skill in the
computing arts should appreciate that there are other ways to store
the data as well as other data, and corresponding data structures,
employed by IGC 18 and SGSAT. For example, computing system 48, or
in an alternative embodiment IGC 18, converts linear acceleration
and angular rate measurements into orientation and position
information, which also require particular data structures.
[0089] FIG. 10 shows an outline for exemplary graphical user
interface (GUI), or "analysis application," 88 that provides a user
an interface to IGC 18 and SGSAT. One with skill in the programming
arts should easily understand how to program analysis application
88. A flowchart 113 for analysis application 88 is described below
in conjunction with FIG. 13.
[0090] Analysis application 88 offers extensive golf swing related
analytics using swing path data 82 (FIG. 10), which is collected
from IGC 18 (FIGS. 1 and 4) by a data collection process 200,
described in detail below in conjunction with FIG. 12, stored on
computing device 48 (FIG. 3), and processed by a data display
process 250, described in more detail below in conjunction with
FIG. 13. In an alternative embodiment, analysis application 88
employs orientation and position data, derived from swing path data
82.
[0091] Specific swing path data 82 records are displayed in a swing
record panel 90. Swing record panel 90 also displays previously
downloaded swing path data 82 records. Records 82 displayed in
swing record panel 90 can be constrained and filtered using
functionality located in a swing record filter panel 92. Swing
record filter panel 92 enables a user of GUI 88 to limit displayed
records by time stamp and other characteristics. Swing path data 82
records are selected by the user in swing record panel 90 and then
loaded by the analysis application 88 into other constituent panels
of analysis application 88.
[0092] Once a swing path data 82 record has been selected by the
user, the user can view an animated reconstruction of the swing in
swing viewing panels 94, 96, and 98. Analysis application 88
enables visualization and analysis of individual frames of the
swing, of slow motion and real-time animation of the golf swing,
and of pre-set key points of the swing such as at address, the top
of the swing, ball impact, etc. Animation controls are located in a
swing replay control panel 102. Pre-set key points of the golf
swing are accessed through a swing key point control panel 104. The
animated swing can be viewed from multiple, different simultaneous
perspectives in panels 94, 96, and 98, for example front, side, and
top-down.
[0093] The Analysis application 88 uses Inverse Kinematics to
animate a human FIGURE and give context to the golf swing
visualization. A specific algorithm commonly referred to as Cyclic
Coordinate Descent is used to allow the position and orientation of
swing path data 82 records to drive the state of a simplified human
skeleton viewable in swing viewing panels 94, 96, and 98. Another
tool provided by analysis application 88 is the display of upper
and lower swing planes during swing visualization.
[0094] Analysis application 88 provides the ability to compare a
golfer's swing to a reference swing. This reference swing can be
derived from several sources. For example, analysis application 88
can create an ideal reference swing based on a user's physical
characteristics, a previously recorded swing from another golfer,
such as a touring professional golfer, or the user can designate
one of their best personal swings as the reference swing. The
overlaying of a swing with a reference swing during replay and
visualization provides additional analysis context and allows the
golfer to analyze their swing for flaws and strengths.
[0095] Beyond visual analysis, analysis application 88 offers
extensive primary analytics derived from a swing path data 82
record. These analytics are mainly presented in tabbed windows
within the swing analytics panel 106 and within context sensitive
analytics panel 100. Analytics include, but are not limited to, the
following examples: [0096] Shaft 34 (FIG. 1) Angle at Key Points in
the Swing [0097] Address Line--The position of the club shaft 34 at
address, which is perpendicular to the target line [0098] Club 18
(FIGS. 1 and 4) Face Position at Key Points in the Swing [0099]
Club Head 36 (FIG. 1)/Hands Position at Key Points in Swing [0100]
Club Head 36 Speed and Acceleration [0101] Arc Inscribed by Hands
and Club Head 36 [0102] Angles of Backswing planes, Transition
planes, and Downswing planes [0103] Angle of Attack on the Ball
(the club head 36 angle prior to ball impact) [0104] Estimated Ball
Flight Distance [0105] Time of Pause at Top of Swing [0106] Club
head 36 Drop at Beginning of Downswing [0107] Estimated Wrist
Angle/Cock Angle at Top of Swing [0108] Maximum rate of
Acceleration on Downswing/Rate of acceleration at impact [0109]
Point in downswing of highest velocity [0110] Lag Distance
(distance the butt of club 18 is from the address line when club 18
is parallel to the earth on a downswing.) [0111] Lag Angle (angle
at which club 18 is, relative to the address line, when the butt of
club 18 is some preset distance from the address line on a
downswing.) [0112] Coil Angle (measurement of the rotation of club
18 at its furthest point from address during backswing) [0113]
Estimated Launch Angle of the Ball [0114] Type of Spin Imparted to
the Ball [0115] Escape Velocity of the Ball [0116] Angle of
incidence (club head 36 path at impact versus target line at
address) [0117] Impact Point on the club 18 face.
[0118] Additional analytics that combine information from multiple,
primary analytics are available in analysis application 88.
Examples of composite analytics include, but are not limited to,
the following:
[0119] Quality of Release
Uses acceleration at impact combined with shaft 34 lean at impact
to determine the quality of the timing of the release.
[0120] Tempo
[0121] This analytic scores the smoothness and rhythm of a golf
swing. Smoothness will be determined by any rapid/unexpected
accelerations and decelerations during a backswing and downswing.
Rhythm will be determined by looking at the time during the
backswing versus the time during the downswing.
[0122] Divergence from Reference Swing (Quality of Swing) Analysis
application 88 allows for the comparison of a recorded golf swing
to a reference swing. This reference swing can be, but is not
limited to, a reference professional swing, a previously recorded
user swing, or a swing recorded from another golfer. Analysis
application 88 can tell the user where a given swing moves an
unacceptable distance away from the reference swing.
[0123] Analysis application 88 provides for data transmission with
other installations (not shown) of analysis application 88 over the
internet or other communication medium. The ability to share swing
path data 82 records allows for one user to record data regarding
their swing and then transmit the data to a second user for further
visualization and analysis. The second user can annotate swing path
data 82 records with comments and then transmit the annotated files
to their originator. The ability to transmit annotated data between
users allows for remote instruction and feedback.
[0124] FIG. 11 shows an alternative embodiment 39 of RF link box of
FIGS. 2 and 8. Like RF link box 38, RF link box 39 includes a link
board 70, a link board transceiver chip 80, USB circuitry (not
shown), a USB connector 44, a USB cable 46 (not shown), a link box
cap 72, a link box base 74, a power/USB connection LED 42 and club
detection data transfer LED 40.
[0125] In addition, RF link box 39 includes a display screen 116
and a control panel 72. Display screen provides portable access to
analysis application 88 (FIG. 10) as well as providing information
on IGC 18 and SGSAT configuration. The user manipulates analysis
application 88 and con FIGUREs IGC 18 and SGSAT via control panel
72.
[0126] In an alternative embodiment, computing device 48 may be
incorporated into a wearable computer and a display may be
incorporated into a pair of glasses so that a user can receive
nearly instantaneous feedback during a game or practice. Currently,
such computing devices and displays are available on the
market.
[0127] FIG. 12 is a flowchart of a data collection process 200
associated with IGC 18 and SGSAT. Processing starts in a "Begin
Operate IGC" step 201, which is initiated when a user presses power
on/mute/power off button 20 (FIGS. 1 and 4) of IGC 18 (FIGS. 1 and
4). Prior to the initiation of process 200, IGC 18 is in an "Off"
state, during which IGC 18 is in a very low power mode where all
components are off and the central processing unit (CPU) clock is
stopped. The CPU is configured to wake when the user presses power
on/mute/power off button 20 or when battery recharger 32 (FIG. 3)
is inserted into battery recharger connector 28 (FIG. 1).
[0128] From step 201, control proceeds immediately to an
"Initialize SGSAT" step during which process 200 initializes the
central processing unit (CPU), memory, buttons 20 and 26 and
temperature sensor of IGC 18. In addition, process 200 initiates a
beep from sounder 76 (FIG. 6) so that the user can check sounder's
76 functionality and checks both battery pack 68 and the
availability of an RF connection with RF link box 38 (FIGS. 2 and
8). If the RF connection is available, indicating that RF link box
38 and computing device 48 are on-line, then LEDs 40 and 42 (FIGS.
2 and 8) are flashed so that the user has an indication of the
condition of SGSAT. It should be noted that IGC 18 is able to
operate and collect data without a RF connection available. Data
transfer and processing can occur off-line at a more convenient
time.
[0129] Following step 203, control proceeds to a "Wait For Input or
Event" step 205 during which IGC 18 is in a "Doze" state. In this
state, IGC 18 performs periodic checks for the presence of RF link
box 38, to determine whether or not IGC 18 should transition to an
"At Address" state and to determine if power on/mute/power off
button 20 has been depressed for a period of four (4), indicating
that the user wishes to return IGC 18 to the Off state. These
periodic checks are illustrated by a transition of control by
process 200 through a "Link Box Detected?" step 207, an "Address
Detected?" step 211 and an "Off Signal Detected?" step 215. In Doze
state and during the periods between At Address checks, most IMU 53
(FIGS. 4 and 6) devices are powered down in order to conserve power
of battery pack 68.
[0130] In the absence of detected events, as indicated by the "No"
paths of steps 207, 211 and 215, the transition through steps 207,
211 and 215 occurs every 100 ms. During step 207, IGC 18 powers up
club transceiver chip 78 (FIG. 6) to check for the presence of RF
link box 38. If RF link box 38 is detected, then control proceeds
to a "Process Link Box" step 209, which is described in more detail
below in conjunction with FIG. 13. Following step 209, control
returns to step 205 and processing continues as described above.
In, in step 207 RF link box 38 is not detected, then control
proceeds to "Address Detected?" step 211.
[0131] During step 211, process 200 takes acceleration readings
from Cz and Cx axes (FIG. 7) accelerometers (FIG. 6), resolves the
angle of the gravity vector, and reads an angular rate from the Cx
axis gyroscope (FIG. 6) to determine a lack of rotation. If IGC 18
determines that IGC 18 is being held in a upright manner consistent
with the stance of a golfer prior to a swing and that IGC 18 is not
being swung or moving around the Cx axis, IGC 18 moves from the
Doze state into the At Address state and control proceeds to a
"Process Swing" step 213, which is described in more detail below
in conjunction with FIG. 14. Following step 213, control returns to
step 205 and processing continues as described above. If, in step
211, IGC 18 does not detect that the user is addressing the ball,
then control proceeds to Off Signal Detected? step 215.
[0132] During step 215, IGC 18 determines whether or not power
on/mute/power off button 20 has been pressed for a sustained period
of time, e.g. four (4) seconds. If not, then control returns to 205
and processing continues as described above.
[0133] If power on/mute/power off button 20 has been pressed for a
sustained period of time, then control proceeds to a "Power Down"
step 217, during which IGC 18 takes actions necessary to return to
the Off state in which, as described above, IGC 18 is in a very low
power mode where all components are off and the central processing
unit (CPU) clock is stopped. Finally, control proceeds from step
217 to an "End Operate IGC" step 229 in which process 200 is
complete.
[0134] It should be noted that, although process 200 is described
here as a "polling" process, process 200 could also be engineered
as an event or interrupt driven process. Those with skill in the
computing arts should appreciate the both the advantages and
disadvantages of the different approaches.
[0135] FIG. 13 is a flowchart of Process Link Box step 209 of Data
Collection process 200 of FIG. 12 in more detail. As explained
above, step 209 is entered when IGC 18 detects a request from the
corresponding RF link box 38.
[0136] Step 209 starts in a "Begin Process Link Box" step 231 and
proceeds immediately to a "Request for Data?" step 233 during which
process 200 determines whether or not the signal from RF link box
38 is a data download request. If so, control proceeds to a
"Download Data" step 235 during which IGS 18 enters a "RF Download"
state and transmits stored swing path data 82 (FIG. 9) to the
computer application on computing system 48 (FIG. 2) via RF link
box 38, through the USB connector 44 (FIG. 2), through the USB
cable 46 (FIG. 2), and finally to analysis application 88 (FIG.
10). In an alternative embodiment, swing path data 82 is processed
by the microprocessor of IGC 18 and data corresponding to the
orientation and position of IGC 18, rather than the linear
acceleration and angular rate of IGC 18, are transmitted from IGC
18 to RF link box 38.
[0137] Once data 82 has been downloaded, control proceeds to an
"End Process Link Box" step 249 in which step 209 is complete. In
addition, IGA 18 returns to the Doze state.
[0138] If process 200 determines in step 233 that the signal from
RF link box 38 is not a data download request, then control
proceeds to an "Upgrade Firmware?" step 237 during which process
200 determines whether or not the signal from RF link box 38 is a
request to upgrade the flash memory and/or the memory of the
microcontroller located on main board 52 (FIG. 6) of IGC 18. If so,
control proceeds to a "Flash Memory" step 239 during which the
firmware of IGC 18 is updated. Control then returns to End Process
Link Box step 249 and processing continues as described above. Step
239 corresponds to a Flash Upgrade state of IGC 18, which is
entered only from an RF Download state.
[0139] Finally, if in step 237, process 200 determines that the RF
signal is not a RF update request, then control proceeds to step
249 and processing continues as described above.
[0140] FIG. 14 is a flowchart of Process Swing step 213 of Data
Collection process 200 of FIG. 12 in more detail. Step 213 begins
in a "Begin Process Swing" step 251 and control proceeds
immediately to a "Wait for Motion" step 253 during which IGC 18
periodically samples all gyroscopes and accelerometers
simultaneously every 0.0005 seconds, for a sampling rate of 2 kHz.
At this point, IGC 18 is still in the At Address state.
[0141] After each sample, control proceeds to a "Sufficient
Rotation" step 253 during which IGC 18 calculates the rotational
rate of the club around the C.sub.X axis and thereby determines
whether or not IGC 18 has started swinging. If the rotation rate
does not exceed the threshold, then control proceeds to a "Timeout"
step 257 during which IGC 18 determines whether or not IGC 18 has
been at the At Address state for longer than a predetermined amount
of time. If so, control proceeds to an "End Process Swing" step 269
in which step 213 is complete. If the predetermined period of time
has not been exceeded, then control returns to step 251 and IGC 18
waits for another sample.
[0142] If, in step 255, the rotation rate around the C.sub.X
exceeds the set threshold rate, IGC 18 enters a "Swinging" state
and control proceeds to a "Sample Sensors" step 259. During step
259, IGC 18 samples all gyroscopes and accelerometers and stores
the swing generated sensor data 82 to flash memory. As explained
above in conjunction with FIG. 9, swing data collected by IGC 18 is
stored as swing path data 82 comprised of swing info header 84 with
multiple swing data elements 86. Swing info header 84 contains
information such as initial timestamp, swing duration, swing flag
status, and temperature. Each sampling IGC 18 sensors is stored in
a swing data element file 86. Each swing data element file 86
contains data regarding accelerations along C.sub.X, C.sub.Y, and
C.sub.Z axes and angular rate data around C.sub.X, C.sub.Y, and
C.sub.Z axes. Therefore, for a given swing, there exists a
one-to-many relationship between swing info header 84 record and
the multiple swing data element 86 records.
[0143] The described embodiment of the claimed subject matter
employs a fixed sampling rate, i.e. 2 kHz. Therefore, given the
initial timestamp and a fixed time between samples, a swing path
can be chronologically recreated. IGC 18 also monitors its position
with respect to the upper and lower swing planes. While in the
Swinging state, if club head 36 (FIG. 1) breaks either the upper or
lower swing planes, sounder 76 (FIG. 6) produces an audible tone.
This audible feedback can be toggled between a sound on and a sound
off, or mute, configuration by briefly depressing power
on/mute/power off button 20.
[0144] After each sampling interval, control proceeds from step 259
to a "Time Exceeded?" step 261 during which process 200 determines
whether more time has elapsed than necessary to complete a swing of
IGC 18. If so, control proceeds to a "Write Data" step 265 during
which the data samples captured during iteration through step 259
are copied to and stored in a memory. IGC 18 then returns to a Doze
state and control proceeds to an "End Process Swing" step 269 in
which step 213 is complete.
[0145] If, in step 261, process 200 determines that the swing has
not exceeded the maximum allowable time, then control proceeds to
an "Insufficient Rotation?" step 263 during which process 200
determines whether or not IGC 18 is moving sufficiently fast to
still be considered in the process of a swing. IGC 18 determines
the end of the swing by monitoring the moving average of rotation
vector magnitude. The magnitude of the rotation vector is
calculated by taking the square root of the sum of the squared
values of angular rate around the C.sub.X, C.sub.Y, and C.sub.Z
axes. If the moving average falls below a set threshold the swing
is declared complete and control proceeds to Write Data step 265
and processing continues as described above. If, in step 263,
process 200 determines the swing is still active, i.e. the moving
average is above the threshold, then control returns to step 259
and more data samples are collected as described above.
[0146] FIG. 15 is a flowchart of a data display process 300
associated with IGC 18 and the SGSAT. Process 300 starts in a
"Begin Display Data" step 301 that is initiated when computing
device 48 (FIG. 2) is turned on and analysis application 88 (FIG.
10) is launched. Power from computing device 48 is employed to
power RF link box 38 (FIG. 2) via USB cable 46 (FIG. 2). Control
proceeds to an "Update Data" step 303 during which a user is
provided an interface (not shown) for adding, editing and/or
updating a user profile. If necessary, the user profile is also
reconciled, or "synced," with data from IGC 18 (FIGS. 1 and 4).
[0147] Following updating of the user profile in step 303, if
performed, control proceeds to a "Application Patch Required?" step
305 during which process 300 determines whether or not a later
version of analysis application 88 is available for download. If an
application patch is available, control proceeds to a "Download
Application Patch" step 307 during which the corresponding patch is
downloaded and applied to analysis application 88. Those with skill
in the computing arts should know of different methods of notifying
an application that an upgrade is available and of applying the
patch to analysis application 88.
[0148] If an application patch is either unavailable in step 305 or
downloaded and applied in step 307, control proceeds to a "Firmware
(FW) Patch Available?" step 309 during which process 300 determines
whether or not a later version of process 200 (FIGS. 12-14), or IGC
18 firmware, is available for download. If a firmware patch is
available, control proceeds to a "Download FW Patch" step 311
during which the corresponding patch is downloaded and applied to
the flash memory of IGC 18. Step 311 on computing device 48
corresponds to Upgrade Firmware step 237 and Flash Memory step 239
explained above in conjunction with FIG. 13. In other words, if a
firmware patch is available in step 309, then events are triggered
on computing device 48 that cause IGC 18 to execute steps 237 and
239.
[0149] If a firmware patch is either unavailable in step 309 or
downloaded and applied in step 311, control proceeds to a "Collect
IGC Data" step 313 during which analysis application 88 signals IGC
18 via RF link box 38 and collects any data collected by IGC 18.
Step 313 corresponds to Request For Data? step 233 and Download
Data step 235 of process 200. In other words, step 313, executed on
computing device 48, causes IGC 18 to execute steps 237 and
239.
[0150] From step 313, control proceeds to a "Share Swing Data? step
315 during which process 300 determines whether or not there is a
signal to export user profile and/or swing data to another
application. If such a signal is present, then control proceeds to
an "Export Swing Data" step 317 during which user profile and/or
swing data is transmitted to another SGSAT application. As
explained above in conjunction with FIG. 10, SGSAT provides for
data transmission with other instantiations of SGSAT. The ability
to share swing path data allows one user to record data regarding
their swing and then transmit the data to a second user for further
visualization and analysis. The second user can annotate swing path
data with comments and then transmit the annotated files to their
originator. The ability to transmit annotated data between users
allows for remote instruction and feedback.
[0151] If there is either no signal to export in step 315 or data
is exported in step 317, control proceeds to a "Display Data" step
319 during which process 300 via analysis application 88 provides
the user with visual feedback. Two examples of visual feedback
include, but are not limited to, swing analytics and swing
visualization. Swing analytics includes such information as the
quality of impact with a golf ball, the corresponding geometric
planes of the swing, a projected distance, the consistency among
multiple swings and other advanced analytics. Swing visualization
includes such information as multiple views of a particular swing,
replay of a swing at various speeds and the viewing of specific
segments of a swing.
[0152] Finally, control proceeds to an "End Display Data" step 339
in which process 300 is complete.
[0153] In addition to the above-described features and functions of
the present invention, there here provided a reference swing, which
may be used in any "stick & ball" or similar game or in other
comparable, athletic movements. The present embodiment includes the
use of the reference swing in relation to a golf swing. However,
the reference swing equally applies to other sporting activities.
The reference swing includes the use of a humanoid figure, various
mathematical formulae employed in numerous ways, a `reference`
swing, an instrumented golf club, a means of communicating to a
standard computing platform, a standard computational platform,
such as a PC, and the required control and display software.
[0154] The humanoid figure can be composed with varying levels of
detail, such as a `stick-figure`, wire frame figures or complete
graphical images of the human figure. The humanoid figure may be
male, female or gender neutral, with its movement modeled based on
the known art at the time. An example would be to use a combination
of professionals in the field as models and experts in the field
for input into the required body movement of the humanoid.
[0155] The `reference` swing of the humanoid is constructed in one
of three ways. First, the humanoid is constructed to use the most
mechanically efficient use of the golf club that is currently
known. This is accomplished by defining a set of formulae that
define the movements of the golf club throughout the swing, or
alternatively constructing a model that passes through known
positions during the golf swing. The movement of the humanoid is
linked to the mathematical model of the mechanically efficient
movement of the golf club.
[0156] The most efficient swing is one that can be best defined by
the use of three planes, all of which are perpendicular to the
target line. The target line is defined as a line passing through
the golf ball to the target. The lower plane is defined as being
the plane is defined by the shaft of the golf club, with two points
at the hosel of the club The entry point of the shaft into the head
on any golf club and the golfer's hands. The middle plane is
defined as the plane that passes through two points, the center of
the golf club's sweet spot and the right elbow of the golfer. The
third plane is defined as the plane that passed through two points,
the toe of the club and the golfer's right shoulder. The most
efficient swing starts with the golfer at address and the club's
shaft on the lower plane.
[0157] As the swing starts the club's shaft stays on the lower
plane until the club is parallel to the earth's surface, or the 90
degree position from address. At this point the golfer's swing will
traverse multiple planes until it is either on, or just below, the
upper plane with the golf club's shaft parallel to the upper plane
and acceleration of the club is equal to zero, roughly 270 degrees
from the address position. From this point the golfer `transitions`
to the downswing, with the golf club crossing multiple planes until
it is on, with the club's shaft parallel, to the middle plane. At
this point the golfer rotates his body and completes the swing with
the club staying on this middle plane to completion of the follow
through.
[0158] Second, the user may choose to use a `personal best` motion
as the reference motion. This is accomplished by electronically
flagging an exceptionally good result when using the instrumented
golf club and downloading the same into the display software.
Third, the user may choose to use a known professional in the sport
to provide the desired reference motion. This is accomplished by a
download from a web site that has such reference motions stored for
such use.
[0159] Data is gathered for use with the relative learning system
from an instrumented golf club, as discussed in prior art and
above. The movement of the golf club is sampled at rates that are
fast enough to insure that the movement of the stick can be
recreated at any point. An example might be to sample a 2 second
movement at a rate of one sample every 500 microseconds, resulting
in 4000 samples during the course of the 2 second movement. Data is
transferred to the standard computing platform after one or more
movements. Data transfer could be either wireless or via a standard
PC interface, such as a USB interface.
[0160] Once the data is transferred to the standard computing
platform the data from the movement of the learner's golf club is
overlaid on the humanoid with one of the available `reference
motions`. Scaling of the data eliminates physical differences
between the humanoid figure and the learner. This is accomplished
by matching the X axis of the user's data to the X axis of the
motion made by the humanoid making the most mechanically efficient
motion. This changes the motion in an absolute fashion, but does
not change the relative information about the movement made by the
learner. The display shows the humanoid figure with the reference
golf club and the golf club of the user overlaid on the same
display.
[0161] The display and control software will enable the user to
view the movement of the humanoid in three dimensions and multiple
views, such as a top view, side view and front view. Standard
capabilities include looping, slow-motion and numerous pre-defined
positions that are critical to fully understanding the required
movement. With appropriate control software the user would be able
to customize the way the humanoid is viewed to fit their particular
preference with a `camera in space` capability. The humanoid, with
the appropriate golf club represents the model that the learner is
trying to emulate.
[0162] Use of the invention entails `playing the data` captured by
the instrumented golf club through the model and comparing the
`reference motion` with the motion made by the learner. This is
accomplished by utilizing preset positions defined on the model,
enabled by formulae that analyze and divide the learner's data into
corresponding positions and segments. Timing and tempo of the
learner's motion can also be matched to the humanoids motion.
[0163] The key analysis points of the golf swing are (1) address,
(2) top of swing, and (3) impact. Because the vibration occurring
at impact, analysis is substantially limited after the impact
point. That is, measurement occurring after impact, due to
vibration, are unreliable. The primary purpose of the address
analysis is to determine the orientation of the club. Using
mathematical induction, the address point may be considered as the
n=0.sup.th position. By analyzing the gravitational orientation at
the address position, it is possible to determine the other points
in the algorithmic process for the purpose of determining all other
points of interest in the golf swing.
[0164] In the address point determination gravitational analysis,
it is desirable to have the golf club as fixed or motionless as
possible. This is because at such a point the player is addressing
the golf ball in preparation for taking the golf swing. This
address point can serve as the orientation for the swing analysis
that the present embodiment accomplishes. The present invention
seeks to align the bore which holds the IMU and so as to be
parallel in its alignment with the club face in the direction in
which the ball will be hit. Thus, with the ability to determine the
position of the IMU and the at-address position it is possible to
determine a set of vectors that change and permit the measurement
of club head position as the swing progresses. Aligning the IMU
with the address position using a gravity vector permits inferring
that the clubface is square. Thus, these two parameters of the
position of the IMU and the at-address position permit determining
the orientation of the golf club.
[0165] Another consideration relating to the use of the at-address
position includes the ability to determine the position of an
origin to be the location of the golf ball. The present embodiment
divides the golf swing into segments, including super-segments and
sub-segments. Through these segments it is possible to identify an
"address segment," a "backswing segment," a "downswing segment,"
and a "follow-through segment." Within each of these super-segments
are an appropriate number of sub-segments. Thus, for example, at
the address segment a set of sub-segments may include a segment
beginning with an initial preparation and continuing until motion
stops or, at least, goes to a minimum level of motion. A second
segment begins at such a stopped motion state to player's taking
the club away from the ball as the backswing begins. segment. Other
sub-segments relating to the backswing, downswing, and
follow-through segments could be partitioned and analyzed
accordingly.
[0166] The following explanation of the address algorithm details
how the present embodiment enables these novel aspects of the
present invention.
[0167] The top of swing position is determined by analyzing the
point at which the angular weight during the backswing segment of a
swing goes to a minimum. At impact a shocking vibration determines
the point at which the club head impacts or hits the ball. With the
present embodiment, the measure of vibration is set to that which
would occur upon the club head striking a whiffle-ball. This low
threshold assures that the swing analysis will occur with at least
this level of vibration and that the impact point analysis can
occur. Of course, with a more precise determination of the golf
ball location, using the concepts for at-address and golf ball
orientation already described, it may be possible to avoid the need
to use the whiffle-ball vibration threshold analysis for
determining the ball impact point.
[0168] FIG. 16 depicts the address point isolation process 450 of
the present embodiment. Address algorithm 450 begins at step 452
for finding the narrowest parameter set where an interval during
address qualifies as "at-address." At query 454, a test occurs of
whether there is a section of at least a predetermine number (X) of
consecutive points that qualify as "at-address." If not, then
process flow continues to step 456 wherein there is a determination
of whether a wider parameter set exists. If the result of the query
of step 456 is negative, then process flow continues to step 458
wherein the process result is that no address position is found. On
the other hand, if the step 456 returns a positive result, then
process flow goes to step 460 to obtain a wider parameter set,
after which process flow goes to back to the query of step 454.
[0169] If the step 454 query result is positive, then process flow
for address algorithm 450 goes to step 462 wherein the process
chooses the latest section of a predetermined number (X) of
consecutive at-address points. The next step 464 finds the "best"
address points within a stationary section. Then, process flow goes
to the query of step 466 to test whether there is another section
of intervals with at least a predetermined number (X) consecutive
"at-address" points? If so, then, at step 468, process flow
includes checking for a better address point within the other
section. Then, if a better address point exists, at step 470, such
point is selected as the address. Finally, with either (a) the
better address point determined at step 470 or (b) the existing
address point as determined at step 464, process flow continues to
step 472 to provide the address algorithm 450 output of a returned
address position.
[0170] The present embodiment provides the ability to synchronize a
reference pro swing with a user's swing as sensed the intelligent
golf club. This process involves physically scaling the reference
swing to the user's swing and using the analytical processes herein
described for the purpose of identifying certain segments and
sub-segments in the user's swing. By identifying the segments, it
is possible to match the reference swing with the user's swing
time. This permits the determination of position differences
between the reference swing and the user's swing. These position
differences define portions of the user's swing that vary most
significantly from the same portions of the reference swing. In
essence, by temporally matching a reference swing with a user's
swing it is possible to remove from the analysis any complications
or comparison challenges that may relate to timing mismatches
between the two swings.
[0171] By matching similar sub-segments between the reference swing
and the user's swing, the process of the present embodiment
involves scaling the time segments for similar sub-segments to be
the same. Thus, for example, the total time for each of the
reference swing and the user's swing is normalized to be from 0 to
1. The scaling then, for example, if a first sub-segment of the
reference swing occurs between 0.0 and 0.2, then the recording of
the user's swing will have the same first sub-segment set to be
between 0.0 and 0.2. That is, by compressing or expanding the time
interval associated with corresponding sub-segments or segments of
either the reference swing, the user's swing or both, it is
possible to filter from the comparison the temporal element of the
different swings.
[0172] The demonstration of the correspondence between the
reference swing and the user's swing may be via a display that
overlays the reference swing with the user's swing such as the user
swing display appearing at FIG. 17.
[0173] The following terms and definitions are herein provided for
the purpose of illustration and not for limitation. There may be
other equivalent definitions for the terms herein provided and any
used for explanatory or demonstrative purposes. Accordingly, it is
only by reference to appended claims that the scope of the present
invention and the various embodiments herein is and can be limited.
However, because of their beneficial ability to establish the novel
concepts of the present invention they are here provided.
Terms and Definitions.
[0174] Inertial measurement unit (IMU)--A term ascribed to a sensor
grouping of three accelerometers and three gyroscopes aligned along
mutually perpendicular axes. (Term may be more general than this,
but the literature I read was consistent about it.) This is
sometimes referred to as a six-degree-of-freedom measurement
unit.
[0175] Frame-of-reference (FoR)--Physics term used to describe a
system within a system. For example, when a golfer rides in a car,
golfer is motionless in the golfer's frame of reference, while the
world appears to move around the golfer. In the present embodiment,
a FoR has its own coordinate system, so the IMU FoR has a set of
coordinate axes fixed relative to it.
[0176] Square clubface--This situation occurs when the face of the
club is lined up so that the normal vector is along the target
line.
[0177] Neutral address position--At-address, a club is positioned
so that the clubface is square and the shaft is leaning neither
towards the target nor away from the target.
[0178] World FoR--The world frame of reference has a set of
coordinate axes with the following definitions: [0179] X-axis--the
direction a right-handed golfer faces [0180] Y-axis--the target
line of the golf shot [0181] Z-axis--up [0182] Origin--at the
center of the golf ball
[0183] Club FoR--Coordinate axes given a neutral address position
for the club: [0184] Z-axis--up center of club shaft [0185]
X-axis--"top" of club grip; should lie in world XZ plane in a
neutral address position [0186] Y-axis--points towards target
(should be parallel to world y-axis is a neutral address position)
[0187] Origin--fixed distance from top of board [0188]
g--acceleration due to gravity, approximately 9.8 m/s.sup.2.
Determining Key Positions
[0189] Address Position. There are two different components of
address. The present embodiment needs the address position that
allows the system to determine best the orientation of the club.
The present embodiments need the address position to derive a
representation of a best point for the true start-of-swing.
[0190] By necessity, the present embodiment needs to use raw data
readings to determine initial orientation. This is because trying
to use anything other than acceleration readings and angular rate
readings is a sequencing problem. That is, the present embodiment
preferably determines velocity with the determined orientation
information. To be more specific, an iterative method would allow
this, but would be very expensive and would have errors.
[0191] The firmware triggers recording of a swing in such a way
that there is an 800-millisecond window during which the swing will
have begun. This window is referred to in places below.
First Address Component--Gravity Vector
[0192] In order to establish the correct initial orientation, the
present embodiment needs a period of low motion during address to
obtain an accelerometer reading that is mostly due to the gravity
vector. When the IMU is stationary, the only measurements reported
by the IMU are preferably will be acceleration due to gravity (and
noise/other data inaccuracies). For this reason, the present
embodiment requires the golfer to bring the club to a rest at some
point during the address.
[0193] Determine club is in a valid address orientation. The
present embodiment determines the club is being moved into address
by the individual accelerometer readings. The present embodiment
knows the basic range of readings for each accelerometer that
indicate the club is oriented as if to address the ball. Therefore,
minima and maxima for each accelerometer are kept as properties,
and are used to determine that the golfer is trying to address the
ball.
[0194] Club motionless. When the sensors register their lowest
levels of movement, the present embodiment have the best chance to
have an accurate reading of the direction of gravity. The present
embodiment determines this by checking that the magnitude of the
acceleration vector is close to g, while the magnitude of the
angular rate vector is close to zero. Due to calibration errors and
noise, the present embodiment control these using sets of
parameters that start out tight and gradually expand. The present
embodiment iterates through these parameter sets to look for the
best possible points first, and gradually move to the wider sets
until a range of valid points is found that qualify as motionless.
The minimum size for this range is controlled by parameter.
[0195] Determining Orientation--Once the present embodiment has a
low-motion point at-address, the present embodiment has a vector
representing acceleration due to gravity. However, the gravity
vector is not sufficient for establishing a coordinate system.
Specifically, a gravity vector is sufficient for determining the
inclination of the IMU, but is not sufficient for establishing the
coordinate axes for the IMU FoR. To understand this, picture a set
of coordinate axes in the world FoR. The gravity vector will
produce the angle of the IMU relative to vertical, but the present
embodiment has no idea how to "twist" the orientation around the
world z-axis. Therefore, the present embodiment needs more
information.
[0196] The present embodiment obtains this information by assuming
that the golfer squares the clubface. By assuming a square
clubface, the present embodiment can determine the target line of
the golf club (world FoR y-axis) and therefore extrapolate the
twist of the unit about the world z-axis.
[0197] Error concerns--Four sources of error affect the ability to
calculate orientation from address:
[0198] Sensor noise--this results in gravity vectors that are not
precisely 9.8 m/s.sup.2 and misalignments in the direction of the
gravity vector.
[0199] IMU orientation within the club shaft. The shaft keeps the
IMU almost perfectly vertical, to the point where the present
embodiment don't worry about it, but even a small amount of twist
within the shaft can contribute significant error.
[0200] User alignment of the clubface. It is very easy to set up
with the clubface off by one or two degrees from the direction the
golfer is trying to swing.
[0201] Measurement errors. The face of a club head is curved, which
complicates things. In addition, the present embodiment has yet to
use sophisticated equipment to determine completely accurate
measurements.
[0202] Determining the best interval for calculating orientation.
Because of the measurement errors, the present embodiment
determines the most accurate orientation when the club addresses
the ball in a "hands-neutral" position, with the hands neither in
front of nor behind the clubface. This is because, in this
position, the face of the IMU within the club is close to parallel
to the clubface and is close to vertical, so errors are
minimized.
[0203] For that reason, the present embodiment wants to find the
vertical position during the address window for establishing the
orientation of the IMU. This implies a y-accelerometer reading that
is as close to zero as possible. So, the present embodiment iterate
through the points looking for stable accelerometer readings with
consistently low y-accelerometer readings. The present embodiment
needs to establish consistency to avoid selecting a point that
happens to spike into the correct range due to noise and to avoid
selecting a point that occurs during movement. The present
embodiment do this by ensuring there are X number of points that
meet the parameter set, where X is another parameter. To obtain the
lowest possible y-accelerometer reading, the present embodiment
iterate through a series of parameter sets. These sets include
y-accelerometer minima and maxima that gradually widen.
[0204] Second Address Component--Because the present embodiment is
looking for a certain orientation of the club, the algorithm will
often pick a point too early in the address window. Picking a point
too early can only result in displaying a lack of motion or part of
the golfer's address routine that does not matter. This is
obviously uninteresting to the golfer, and it makes the scaling of
the first segment of the swing a bit awkward (an animated reference
swing will be ahead of the user's swing, while two different swings
displayed side-by-side can have the same problem). Therefore, it is
in the interest to pick a later "motionless" point as the
start-of-swing to eliminate these problems. The present embodiment
does this in the following manner.
[0205] The present embodiment starts from the end of the 800-ms
address window, where the present embodiment knows the swing has
begun, barring a firmware problem. (Note: the only thing resembling
a firmware problem here is that the present embodiment occasionally
record waggles, but these are weeded out other ways.) Therefore,
the present embodiment can backtrack from the end of the interval
and watch two key sensors: the y-accelerometer and the x-gyroscope.
Most right-handed swings experience strongly negative
y-accelerometer and x-gyroscope readings during the backswing. So,
the present embodiment look for these negative readings and track
back until the present embodiment both of these readings tend
towards zero. The present embodiment also looks for the points that
qualify as at-address and try to pick an interval within a stable
set of points that seem motionless. Theoretically, the first set of
motionless points should contain the start-of-swing, but there are
scenarios that can foil this idea.
[0206] Once the present embodiment implements start-of-swing
checking, the at-address algorithm will change to find the address
point and the start-of-swing. The present embodiment will establish
the initial orientation at the address point, and then carry only
the orientation calculations through to the start-of-swing. Since
the present embodiment is establishing an early orientation in many
cases, the present embodiment will have more information at the
disposal. It is possible to calculate position and velocity values
from the address point, and use position change to determine the
best start of swing location.
[0207] Top of Swing--The top-of-swing detection aspect of the
present embodiment determines the point where the club's angular
rotation drops to a minimum in an area likely to show the
top-of-swing. The latter part is a little more difficult to define.
Essentially, a window can be established around the actual
top-of-swing based upon angular rate magnitudes. Every swing that
the present embodiment has seen exceeds a certain angular rate
magnitude on the backswing and downswing. Therefore, the present
embodiment can define a top-of-swing window around the values that
are less than that magnitude. The next step is to find the minimum
angular rate within that window. Although other steps may be
involved, the inventive concepts herein may be established by these
two steps.
[0208] Yet further novel aspects associate with determining impact.
Currently, the present embodiment searches the area beyond the
top-of-swing for detectable impact vibration over a series of
intervals. This process can be broken into sub-processes, and the
implementation may vary from what is described to improve
performance.
[0209] Determine if accelerometer is experiencing vibration. The
present embodiment does not look for a spike in accelerometer data.
A casual examination of typical accelerometer data during a swing
reveals a relatively smooth trend during the swing. However, at
impact, the vibration causes the reading to spike significantly
over consecutive intervals, resulting in a strong spike at the
beginning followed by a gradual dampening of the spiking as the
vibration dissipates. An accelerometer is considered to experience
vibration under one of two conditions: [0210] There is a
significant change in acceleration. This is controlled via a
parameter. [0211] There is a significant but smaller change in
acceleration coupled with a reversal in direction. A smaller
acceleration change sometimes appears outside of a vibration point,
but a reversal with this type of change indicates it is caused by
vibration.
[0212] Determine if a data point is experiencing vibration. One
novel aspect of determining vibration relates to the value read by
the accelerometer is somewhat random during vibration. Vibration
causes an acceleration spike that oscillates back and forth around
the true value of acceleration at the frequency of the vibration.
Depending on where the accelerometer reading is taken, the offset
caused by vibration can be anywhere from the maximum of the spike
to the minimum of the spike. In other words, if the spike
oscillates between 10 and -10 m/s.sup.2, the actual acceleration x
will produce a final value of between x-10 and x+10, depending on
the moment the acceleration is measured. Therefore, it is possible
vibration will produce no noticeable change between certain
intervals.
[0213] As such, the present embodiment needs to be a little liberal
in declaring a point as vibrating: two of the three accelerometers
experiencing vibration is enough to declare the point is
experiencing vibration.
[0214] Determine if a section of data is experiencing vibration.
For the reasons explained in the previous section, the present
embodiment needs to continue to be a little loose about the
requirements for impact. To find impact, the swing iterates through
data points and looks for a fixed-length section where a certain
number of data points are considered vibrating. If this is the
case, the point before the starting interval is considered the
impact point. This is because it takes approximately 2/3 of a
millisecond for vibration to travel from the club head up to the
IMU, so the actual impact point is likely one interval prior to
start of vibration.
[0215] Parameters. Parameters for impact include: [0216] Length of
section to be examined for vibration [0217] Number of data points
within the section that must be considered vibrating to be
considered impact [0218] Large acceleration value to indicate
vibration in an accelerometer [0219] Small acceleration value to
indicate vibration in an accelerometer assuming a spike
[0220] These parameters were determined via experimentation with a
whiffle ball, as values that work with a whiffle ball will
certainly work with any other type of ball that is struck.
[0221] All references, including publications, patent applications,
and patents, cited herein are hereby incorporated by reference to
the same extent as if each reference were individually and
specifically indicated to be incorporated by reference and were set
forth in its entirety herein.
[0222] The use of the terms "a" and "an" and "the" and similar
referents in the context of describing embodiments of the invention
(especially in the context of the following claims) are to be
construed to cover both the singular and the plural, unless
otherwise indicated herein or clearly contradicted by context. The
terms "comprising," "having," "including," and "containing" are to
be construed as open-ended terms (i.e., meaning "including, but not
limited to,") unless otherwise noted. Recitation of ranges of
values herein are merely intended to serve as a shorthand method of
referring individually to each separate value falling within the
range, unless otherwise indicated herein, and each separate value
is incorporated into the specification as if it were individually
recited herein.
[0223] All methods described herein can be performed in any
suitable order unless otherwise indicated herein or otherwise
clearly contradicted by context. The use of any and all examples,
or exemplary language (e.g., "such as") provided herein, is
intended merely to better illuminate embodiments of the invention
and does not pose a limitation on the scope of the invention unless
otherwise claimed. No language in the specification should be
construed as indicating any non-claimed element as essential to the
practice of the invention.
[0224] Preferred embodiments of this invention are described
herein, including the best mode known to the inventors for carrying
out the invention. Variations of those preferred embodiments may
become apparent to those of ordinary skill in the art upon reading
the foregoing description. The inventors expect skilled artisans to
employ such variations as appropriate, and the inventors intend for
the invention to be practiced otherwise than as specifically
described herein. Accordingly, this invention includes all
modifications and equivalents of the subject matter recited in the
claims appended hereto as permitted by applicable law. Moreover,
any combination of the above-described elements in all possible
variations thereof is encompassed by the invention unless otherwise
indicated herein or otherwise clearly contradicted by context.
[0225] All references, including publications, patent applications,
and patents, cited herein are hereby incorporated by reference to
the same extent as if each reference were individually and
specifically indicated to be incorporated by reference and were set
forth in its entirety herein.
[0226] The use of the terms "a" and "an" and "the" and similar
referents in the context of describing embodiments of the invention
(especially in the context of the following claims) are to be
construed to cover both the singular and the plural, unless
otherwise indicated herein or clearly contradicted by context. The
terms "comprising," "having," "including," and "containing" are to
be construed as open-ended terms (i.e., meaning "including, but not
limited to,") unless otherwise noted. Recitation of ranges of
values herein are merely intended to serve as a shorthand method of
referring individually to each separate value falling within the
range, unless otherwise indicated herein, and each separate value
is incorporated into the specification as if it were individually
recited herein. All methods described herein can be performed in
any suitable order unless otherwise indicated herein or otherwise
clearly contradicted by context. The use of any and all examples,
or exemplary language (e.g., "such as") provided herein, is
intended merely to better illuminate embodiments of the invention
and does not pose a limitation on the scope of the invention unless
otherwise claimed. No language in the specification should be
construed as indicating any non-claimed element as essential to the
practice of the invention.
[0227] Preferred embodiments of this invention are described
herein, including the best mode known to the inventors for carrying
out the invention. Variations of those preferred embodiments may
become apparent to those of ordinary skill in the art upon reading
the foregoing description. The inventors expect skilled artisans to
employ such variations as appropriate, and the inventors intend for
the invention to be practiced otherwise than as specifically
described herein. Accordingly, this invention includes all
modifications and equivalents of the subject matter recited in the
claims appended hereto as permitted by applicable law. Moreover,
any combination of the above-described elements in all possible
variations thereof is encompassed by the invention unless otherwise
indicated herein or otherwise clearly contradicted by context.
* * * * *