U.S. patent application number 10/624743 was filed with the patent office on 2005-01-27 for golf club with embedded inertial measurement unit and processing.
Invention is credited to Davis, Craig, Todd, John.
Application Number | 20050020369 10/624743 |
Document ID | / |
Family ID | 34080071 |
Filed Date | 2005-01-27 |
United States Patent
Application |
20050020369 |
Kind Code |
A1 |
Davis, Craig ; et
al. |
January 27, 2005 |
Golf club with embedded inertial measurement unit and
processing
Abstract
Golf clubs having an embedded inertial measurement unit and a
corresponding microprocessor for determining the motion of the head
of the golf club. Briefly described, one of a number of embodiments
of a golf club comprises a 6DOF inertial measurement unit disposed
within the head of the golf club and a microprocessor in
communication with the 6DOF inertial measurement unit. The
microprocessor is configured to receive data from the 6DOF inertial
measurement unit and determine the motion of the head of the golf
club.
Inventors: |
Davis, Craig; (Atlanta,
GA) ; Todd, John; (Atlanta, GA) |
Correspondence
Address: |
THOMAS, KAYDEN, HORSTEMEYER & RISLEY, LLP
100 GALLERIA PARKWAY, NW
STE 1750
ATLANTA
GA
30339-5948
US
|
Family ID: |
34080071 |
Appl. No.: |
10/624743 |
Filed: |
July 22, 2003 |
Current U.S.
Class: |
473/131 |
Current CPC
Class: |
A63B 69/3614 20130101;
A63B 2225/50 20130101; A63B 2220/40 20130101 |
Class at
Publication: |
473/131 |
International
Class: |
A63B 057/00 |
Claims
1. A golf club comprising: a 6DOF inertial measurement unit
disposed within the head of the golf club; and a microprocessor in
communication with the 6DOF inertial measurement unit, the
microprocessor configured to receive data from the 6DOF inertial
measurement unit and determine the translational and rotational
motion of the head of the golf club.
2. The golf club of claim 1, wherein the head of the golf club
comprises a putter head.
3. The golf club of claim 1, wherein the head of the golf club
comprises one of an iron and a wood.
4. The golf club of claim 1, wherein the microprocessor is
configured to determine the motion of the head of the golf club
using a Quaternion algorithm.
5. The golf club of claim 1, wherein the microprocessor is
configured to determine the motion of the head of the gold club
using an Euler angle algorithm.
6. The golf club of claim 1, further comprising: a kinematic
reference model stored in memory; wherein the microprocessor is
further configured to compare the motion of the head of the golf
club to the kinematic reference model.
7. The golf club of claim 1, wherein the golf club comprises a
putter and the microprocessor is further configured to determine
whether the head of the putter rotates beyond a certain threshold
during a putting stroke.
8. The golf club of claim 1, wherein the golf club comprises a
putter and the microprocessor is further configured to determine
whether, during a putting stroke, the head of the putter deviates
from the target line by a predetermined threshold.
9. The golf club of claim 6, wherein the golf club comprises a
putter and the microprocessor is further configured to: determine
the acceleration of the head of the putter through impact of the
ball; and provide feedback based on the determined
acceleration.
10. The golf club of claim 1, further comprising a feedback
mechanism in communication with the microprocessor, the feedback
mechanism configured to provide information to a user of the golf
club based on the comparison of the motion of the head of the golf
club and the kinematic reference model.
11. The golf club of claim 10, wherein the feedback mechanism
comprises a display.
12. The golf club of claim 10, wherein the feedback mechanism
employs an audio cue.
13. The golf club of claim 1, further comprising a
distance/elevation calculation functionality comprising logic
configured to determine the distance/elevation between a first
position and a second position based on the movement of the head of
the golf club from the first point to the second point.
14. The golf club of claim 13, wherein the golf club is a putter
and further comprising: logic configured to determine, based on the
movement of the head of the putter during a putting stroke, at
least one of the following distances: the drawback distance of the
head of the putter and the follow-through distance of the head of
the putter; and logic configured to compare at least one of the
drawback distance and the follow-through distance to the travel
distance of the ball struck by the head of the putter.
15. The golf club of claim 1, wherein the golf club comprises a
putter and further comprising a Stimpmeter functionality comprising
logic configured to calculate the "speed" of a green based on the
impact velocity of the putter head and the resulting distance the
golf ball travels on the green.
16. The golf club of claim 15, wherein the microprocessor is
further configured to calculate an amount of "break" to be applied
by a golfer based on an orientation of the face of the putter at
address relative to a ball-to-hole line.
17. The golf club of claim 1, wherein the microprocessor is further
configured to determine the motion of the head of the golf club by
performing a gravity cancellation algorithm.
18. The golf club of claim 1, further comprising a mode switching
mechanism adapted to enable a user to select between a training
mode in which the 6DOF inertial measurement unit and the
microprocessor are engaged and a competition mode in which the 6DOF
inertial management unit and the microprocessor are disengaged.
19. The golf club of claim 18, wherein the mode selection device
comprises a switch.
20. The golf club of claim 1, wherein the 6DOF inertial measurement
unit and the microprocessor are rigidly fixed within the head of
the golf club.
21. The golf club of claim 1, wherein the physical properties of
the 6DOF inertial measurement unit, the microprocessor, and the
head of the golf club comply with rules of golf promulgated by the
United States Golf Association and The Royal and Ancient Golf Club
of St. Andrews.
22. The golf club of claim 1, wherein the microprocessor is further
configured to initialize an inertial reference frame using a
gravity vector.
Description
TECHNICAL FIELD
[0001] The present invention is generally related to golf equipment
and, more specifically, is related to golf clubs (e.g., putters,
irons, woods, wedges, etc.) and golf teaching and training
devices.
BACKGROUND
[0002] Currently, there are a number of golf training devices and
golf clubs that are designed for golfers to improve their golf
swing. However, due to the various deficiencies existing in these
devices, a need exists in the art for improved golf training
devices and golf clubs.
SUMMARY
[0003] The present invention provides golf clubs having an embedded
inertial measurement unit and a corresponding processor for
determining the motion of the head of the golf club.
[0004] Briefly described, one of a number of embodiments of a golf
club comprises a six-degrees-of-freedom (6DOF) inertial measurement
unit disposed within the head of the golf club and a microprocessor
in communication with the 6DOF inertial measurement unit. The
microprocessor is configured to receive data from the 6DOF inertial
measurement unit and determine the translational and rotational
motion of the head of the golf club.
[0005] Other systems, methods, features, and advantages of the
present invention will be or become apparent to one with skill in
the art upon examination of the following drawings and detailed
description. It is intended that all such additional systems,
methods, features, and advantages be included within this
description, be within the scope of the present invention, and be
protected by the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The invention can be better understood with reference to the
following drawings. The components in the drawings are not
necessarily to scale, emphasis instead being placed upon clearly
illustrating the principles of the present invention. Moreover, in
the drawings, like reference numerals designate corresponding parts
throughout the several views.
[0007] FIG. 1a is a perspective view of one of a number of
embodiments of a golf club, according to the present invention,
which includes a 6DOF inertial measurement unit (IMU) and
corresponding microprocessor disposed within the head of the golf
club.
[0008] FIG. 1b is an overhead perspective view of the golf club of
FIG. 1a.
[0009] FIG. 1c is a front, cross-sectional view of the golf club of
FIGS. 1a & 1b.
[0010] FIG. 2 is a block diagram illustrating one of a number of
embodiments of a hardware and/or software architecture for the golf
club of FIGS. 1a-1c.
[0011] FIG. 3a illustrates an inertial reference frame used in the
6DOF model of FIG. 2.
[0012] FIG. 3b illustrates a body frame used in the 6DOF model of
FIG. 2.
[0013] FIG. 4 is a diagram of a gravity vector (relative to the
inertial and body frames of FIGS. 3a and 3b) used in the 6DOF model
of FIG. 2.
[0014] FIG. 5 is a flow chart illustrating the general
architecture, functionality and/or operation of an embodiment of
the 6DOF model of FIG. 2.
[0015] FIG. 6 is a flow chart illustrating the architecture,
functionality and/or operation of an embodiment of the
distance/elevation calculation module(s) of FIG. 2.
[0016] FIG. 7 is a flow chart illustrating the architecture,
functionality and/or operation of an embodiment of the feedback
module(s) of FIG. 2.
[0017] FIG. 8 is a flow chart illustrating the architecture,
functionality and/or operation of an embodiment of the Stimpmeter
simulator module(s) of FIG. 2.
[0018] FIG. 9 is a flow chart illustrating the architecture,
functionality and/or operation of an embodiment of the break
indicator module of FIG. 2.
DETAILED DESCRIPTION
[0019] This disclosure describes various embodiments of golf clubs
(e.g., putters, irons, woods, wedges, etc.) and golf swing training
devices having an embedded inertial measurement unit (IMU) and a
corresponding microprocessor. The integrated IMU and microprocessor
are disposed within the body of the golf club (e.g., within the
head of the golf club). In a preferred embodiment, the physical
characteristics of the golf club are designed and developed to
include an IMU as an integral part of the head of the golf club.
Preferably, the physical characteristics would be designed and/or
developed at the club design and manufacturing stage to optimize
total physical properties of the club. Alternatively, a
manufacturer of a golf club may simply use the physical
characteristics of an existing golf club and embed the IMU and the
microprocessor within the body of the golf club. Therefore, a golf
club designed as a performance club for use during a golf round may
easily be manufactured as described below to provide a dual mode
performance/training golf club. Thus, a golfer may be able to
select a golf club that provides the best feel, performance, etc.
for use during competition and which the golfer may use during
practice and/or training, with no change in the physical properties
of the club.
[0020] The integrated IMU provides accurate three-dimensional
measurements of the motion of the golf club during a golf stroke
(e.g., putt, chip, pitch, full swing, etc.). As will be described
in more detail, the integrated IMU may comprise three rate gyros
and three rate accelerometers. Each set of three gyros and three
accelerometers may be arranged in an orthogonal configuration on
the three axes of a Cartesian coordinate frame. As known in the
art, this type of configuration of gyros and accelerometers
provides a six-degrees-of-freedom (6DOF) motion analysis in which
three translational measurements and three rotational measurements
in mutually orthogonal directions are provided. In this manner, the
IMU may accurately measure the three-dimensional motion of the golf
club during a golf stroke.
[0021] The integrated IMU interfaces with a corresponding
microprocessor, which is also embedded within the golf club. The
microprocessor is configured to receive measurement data from the
integrated IMU and determine the corresponding three-dimensional
motion of the golf club. As described in more detail below, the
microprocessor may be further configured to execute various types
of motion analysis algorithms. As one example, the microprocessor
may be configured to execute various stroke motion analysis
algorithms that may, for example, compare the motion of the golf
club during a stroke to a kinematic reference model that may, for
example, mathematically define planes, vectors, various stroke
references, etc. associated with various characteristics related to
a golf stroke. In this manner, the kinematic reference model may
also define various characteristics associated with a hypothetical,
desirable golf stroke (or portion thereof) and/or an
individualized, desirable golf stroke for a particular golfer.
[0022] In certain embodiments, a feedback mechanism may also be
implemented, which enables the user to receive various forms of
feedback based on the comparison of the actual stroke to the
kinematic reference model. It should be appreciated that the
feedback mechanism may employ visual feedback technique(s) (e.g.,
where a display, LED, etc. is employed) or audio feedback
technique(s) (e.g., where an audio transducer is employed). For
instance, in embodiments where the golf club is a putter, the
feedback mechanism and the stroke motion analysis algorithm(s) may
be configured to provide audio and/or visual feedback during the
putting stroke when the motion of the head of the putter deviates
from the kinematic reference model. One of ordinary skill in the
art will appreciate that feedback may be provided for any aspect of
the golf stroke. By way of example, during the putting stroke, the
feedback mechanism may provide a cue when the putter head rotates
beyond a predefined threshold, when the putter head deviates from
the target line, when the acceleration of the putter head deviates
from a predefined threshold, etc.
[0023] In certain embodiments, the golf club or golf swing training
device may also comprise a mode switching mechanism by which a
golfer may enable and disable the IMU, microprocessor, motion
analysis algorithm(s), etc. For example, in a training or
non-competition mode, a golfer may train by enabling the IMU and
microprocessor and thereby receiving stroke feedback. In a
competition or rules compliance mode, however, the golfer may
disable the necessary functionality to comply with appropriate
rules of competition, such as the rules of golf promulgated by the
United States Golf Association and The Royal and Ancient Golf Club
of St. Andrews.
[0024] FIGS. 1a-1c illustrate one of a number of embodiments of a
golf club (putter 100) according to the present invention. It
should be appreciated that, although FIGS. 1a-1c illustrate a
putter, other types of golf clubs (e.g., irons, woods, wedges,
etc.) and golf swing training aids may be employed. As illustrated
in FIG. 1a, putter 100 comprises a grip 102, shaft 104, and a head
106. In a preferred embodiment, the design of putter 100 complies
with the current edition of The Rules of Golf promulgated by the
United States Golf Association and The Royal and Ancient Golf Club
of St. Andrews, which is hereby incorporated by reference in its
entirety. As best illustrated in cross-section in FIG. 1c, a
microprocessor 116 and 6DOF IMU 114 are embedded within head 106 of
putter 100. It should be appreciated that microprocessor 116 and
6DOF IMU 114 may be secured within head 106 in a number of ways.
For example, in certain embodiments, microprocessor 116 and 6DOF
IMU 114 are rigidly disposed within head 106 in such a manner that
putter 100 complies with the design specifications of the rules of
golf. In additional embodiments, microprocessor 116 and 6DOF IMU
114 may be embedded in an embedding medium within head 106 such
that the head 106 forms a solid assembly. One of ordinary skill in
the art will appreciate that alternative configurations may be
employed.
[0025] Putter 100 may also include a mode switching mechanism
(e.g., switch 108--FIG. 1a) and a feedback mechanism (e.g., display
112--FIG. 1b). Switch 108 may be any type of device configured to
switch putter 100 between a training or non-competition mode and a
competition or rules compliance mode. As briefly described above,
in a training or non-competition mode, a golfer may train by
enabling 6DOF IMU 114 and microprocessor 116. In this mode, 6DOF
IMU 114 and microprocessor 116 may determine the motion of head 106
and, in some embodiments, execute various types of motion analysis
algorithms. In a competition or rules compliance mode, however, the
golfer may disable the necessary functionality to comply with
appropriate rules of competition.
[0026] FIG. 2 is a block diagram illustrating one of a number of
embodiments of a hardware and/or software architecture for putter
100. As illustrated by the dashed line in FIG. 2, various
components may be disposed within a body 110 of head 106. For
instance, in the embodiment of FIG. 2, 6DOF IMU 114,
analog-to-digital converter 202, microprocessor 116, and memory 206
may be embedded within head 106. As mentioned above, these
components may be secured within body 110 in a number of ways. It
should be appreciated that in alternative embodiments some of the
components mentioned above may be located in alternative positions
within putter 100 (e.g., within shaft 104, grip 102, etc.).
Furthermore, additional components (e.g., display 112, switch 108,
microprocessor 116, memory, 206, etc.) need not be disposed within
head 106. One of ordinary skill in the art will appreciate that
these and other components may be located anywhere within putter
100 provided that the appropriate components are in communication
with each other. For example, based on the structural design and
characteristics of putter 100, the components illustrated in FIG. 2
may be distributed throughout putter 100 in order to maximize the
feel, performance, and ease of use of putter 100.
[0027] Referring again to FIG. 2, putter 100 may comprise a 6DOF
IMU 114, an analog-to-digital converter 202, microprocessor 116,
power supply 204, memory 206, input/output (I/O) devices 208, and
local interface 214. As illustrated in FIG. 2, 6DOF IMU 114 may
communicate with analog-to-digital converter 202 via interface 210.
Analog-to-digital converter 202 may communicate with microprocessor
116 via interface 212. Furthermore, microprocessor 116 may
communicate with power supply 204, memory 206, and I/0 devices 208
via local interface 214.
[0028] In general, 6DOF IMU 114 comprises sensors configured to
measure three-dimensional motion relative to a reference frame
using a six-degrees-of-freedom method. In one embodiment, 6DOF IMU
114 comprises three rate gyros and three accelerometers. Each set
of three gyros and three accelerometers may be arranged in an
orthogonal configuration on the three axes of a Cartesian
coordinate frame. As known in the art, this type of configuration
of gyros and accelerometers provides a six-degrees-of-freedom
motion analysis in which three translational measurements and three
rotational measurements in mutually orthogonal directions are
provided. In this manner, 6DOF IMU 114 (which is disposed within
head 106 of the golf club) may accurately measure the
three-dimensional motion of the golf club during a golf stroke.
[0029] One of ordinary skill in the art will appreciate that a
number of types of sensors (e.g., gyros, accelerometers, etc.) may
be implemented in 6DOF IMU 114. In one of a number of possible
embodiments, micro-electro-mechanical sensors (MEMS) are employed.
It should be further appreciated that 6DOF IMU 114 may be
implemented using solid state technology. In alternative
embodiments, 6DOF IMU 114 may be implemented on a single chip,
which may also include analog-to-digital converter 202,
microprocessor 116, and/or memory 206.
[0030] As known in the art, analog-to-digital converter 202
comprises a device that converts data from analog to digital form.
In this regard, during operation, analog-to-digital converter 212
receives the analog data acquired by the sensors in 6DOF IMU 114
and converts it to digital form to be processed by microprocessor
116. As mentioned above, analog-to-digital converter 202, 6DOF IMU
114, and microprocessor 116 may be implemented as a single,
commercially-available chip.
[0031] Microprocessor 116 is a hardware device for executing
software, particularly that stored in memory 206. Microprocessor
116 may be any custom-made or commercially-available processor, a
central processing unit (CPU), an auxiliary processor among several
processors associated with putter 100, a semiconductor based
microprocessor (in the form of a microchip or chip set), a
macroprocessor, or generally any device for executing software
instructions.
[0032] Memory 206 may include a number of software module(s),
motion analysis algorithms, etc. configured to perform functions
related to the measured data received from 6DOF IMU 114. Memory 206
may include any one or combination of volatile memory elements
(e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.))
and nonvolatile memory elements (e.g., ROM, hard drive, tape,
CDROM, etc.). Memory 206 may incorporate electronic, magnetic,
optical, and/or other types of storage media. As illustrated in
FIG. 2, memory 206 may include kinematic reference model(s) 216, a
6DOF model 218, stroke feedback module(s) 224, distance/elevation
calculation module(s) 226, break indicator module(s) 228,
Stimpmeter simulator module(s) 230, initialization/orientation
module(s) 232, etc. Each of these exemplary software modules are
described below in more detail.
[0033] Power supply 204, which functions to provide power to the
electronics associated with putter 100 may comprise any of a
variety of types of batteries suitable for use with 6DOF IMU 114,
analog-to-digital converter 202, microprocessor 116, etc. In
preferred embodiments, power supply 204 is rechargeable and has a
long battery life.
[0034] I/O devices 208 may include any desirable input and/or
output devices. For example, I/O devices 208 may include suitable
feedback mechanisms as described above, which may be used in
cooperation with corresponding software modules to provide visual
and/or audio feedback to a golfer. Feedback mechanisms may include
a display 112 (FIG. 1b), audio transducer, etc. I/O devices 208 may
also include suitable mode switching mechanisms as described above,
which may include, for example, switch 108 (FIG. 1a). It should be
appreciated that I/O devices 208 may further comprise data port(s),
wireless transceivers, etc. for interfacing putter 100 with
external processing systems.
[0035] During operation, a golfer may switch putter 100 from
competition mode to a training mode by enabling 6DOF IMU 114 (and
the corresponding electronics and software modules) via a mode
switching mechanism. In training mode, 6DOF IMU 114 measures the
motion of head 106 and provides the analog data to
analog-to-digital converter 202 to be converted to digital form,
where it may be processed by microprocessor 116 and the
corresponding software module(s).
[0036] It should be appreciated that the functionality embodied in
the software modules may be implemented software, firmware,
hardware, or any combination thereof. When implemented in hardware,
the software modules may be implemented with any or a combination
of the following, or other, technologies: a discrete logic
circuit(s) having logic gates for implementing logic functions upon
data signals, an application specific integrated circuit (ASIC)
having appropriate combinational logic gates, a programmable gate
array(s) (PGA), a field programmable gate array (FPGA), etc.
[0037] When implemented in software, as illustrated in the
embodiment of FIG. 2, the functionality may be stored on any
computer-readable medium for use by or in connection with any
computer related system or method. In the context of this document,
a computer-readable medium may be an electronic, magnetic, optical,
or other physical device or means that may contain or store a
computer program for use by or in connection with a
computer-related system or method. Therefore, any of the software
modules may be embodied in any computer-readable medium for use by
or in connection with an instruction execution system, apparatus,
or device, such as a computer-based system, processor-containing
system, or other system that can fetch the instructions from the
instruction execution system, apparatus, or device and execute the
instructions.
[0038] In the context of this document, a "computer-readable
medium" can be any means that can store, communicate, propagate, or
transport the program for use by or in connection with the
instruction execution system, apparatus, or device. The computer
readable medium can be, for example but not limited to, an
electronic, magnetic, optical, electromagnetic, infrared, or
semiconductor system, apparatus, device, or propagation medium.
More specific examples (a nonexhaustive list) of the
computer-readable medium would include the following: an electrical
connection (electronic) having one or more wires, a portable
computer diskette (magnetic), a random access memory (RAM)
(electronic), a read-only memory (ROM) (electronic), an erasable
programmable read-only memory (EPROM, EEPROM, or Flash memory)
(electronic), an optical fiber (optical), and a portable compact
disc read-only memory (CDROM) (optical). Note that the
computer-readable medium could even be paper or another suitable
medium upon which the program is printed, as the program can be
electronically captured, via for instance optical scanning of the
paper or other medium, then compiled, interpreted or otherwise
processed in a suitable manner if necessary, and then stored in a
computer memory.
[0039] Furthermore, it should be appreciated that any functional
description, process descriptions, or blocks in flow charts should
be understood as representing modules, segments, or portions of
code which include one or more executable instructions for
implementing specific logical functions or steps in the process,
and alternate implementations are included within the scope of the
preferred embodiment of the present invention in which functions
may be executed out of order from that shown or discussed,
including substantially concurrently or in reverse order, depending
on the functionality involved, as would be understood by those
reasonably skilled in the art of the present invention.
[0040] Having described the components and general operation of
putter 100 above, the various software modules will be described
with reference to FIGS. 3-9. One of ordinary skill in the art will
appreciate that 6DOF model 218 comprises the functionality for
processing the data received from 6DOF IMU 114 and determining the
corresponding motion of head 106. In this regard, 6DOF model 218
defines the inertial frame 302 illustrated in FIG. 3a and the
non-inertial, or body frame, illustrated in FIG. 3b that
corresponds to head 106. 6DOF model 218 receives the sensor-related
data received from 6DOF IMU 114 and, based on the model, determines
the motion of head 106.
[0041] It should be appreciated that accurate three-dimensional
measurements of translation and rotation must be made to determine
the actual instantaneous position and orientation of the head 106.
One of ordinary skill in the art will further appreciate that the
data provided by 6DOF IMU 114 will include a gravity component as
defined by orientation of head 106 with respect to the center of
the Earth. In this regard, 6DOF model 218 may include a gravity
cancellation module 220 (FIG. 2) configured to determine the
gravity component and cancel this component during motion analysis.
FIG. 4 illustrates a composite of the inertial frame 302, the body
frame, and the gravity component. By canceling the gravity
component during motion analysis, 6DOF model 218 provides an
accurate computation of the motion of head 106. Gravity
cancellation module 220 may include appropriate functionality for
determining the initial orientation of head 106 (e.g.,
initialization/orientation module(s) 232) relative to the Earth (or
another inertial reference frame) in order to calculate the gravity
compensation components for each accelerometer with a high degree
of accuracy.
[0042] By way of example, in certain embodiments, the
initialization of the inertial reference frame and the orientation
of the head of the golf club may be performed by an
initialization/orientation module 232, which reads the
accelerometer outputs while head 106 is held still (e.g., when a
golfer addresses the ball before a stroke). These components may
then be used in a three-dimensional Pythagorean theorem algorithm
to determine the orientation of head 106 with respect to the earth.
For example, at address, a particular golf may actually tilt head
106 toward/away and/or forward/back from the vertical axis. Some
golfers may not initially orient head 106 perfectly flat. Instead,
head 106 may be oriented at address with the toe oriented up/down
or with shaft 104 oriented forward/back. Initialization/orientation
module(s) 232 may determine this orientation and, via an
appropriate feedback mechanism, notify the golfer if head 106 is
not properly oriented at address. Furthermore,
initialization/orientation module 232 may also compensate for this
deviation in the event the golf prefers to use this orientation of
head 106 at address.
[0043] Referring to FIGS. 3a and 3b, the 3 axial accelerations and
3 rotational velocities described above are required to implement a
six-degrees-of-freedom (6DOF) algorithm (i.e., rigid body
kinematics) and completely determine the translation and rotation
of head 106 through space with respect to inertial frame 302. A
more detailed description of rigid body kinematics and the 6DOF
algorithm is described in "Spacecraft Dynamics and Control," Marcel
J. Sidi, Cambridge University Press, 1997, which is hereby
incorporated by reference in its entirety.
[0044] 6DOF model 218 may employ any of a variety of types of
mathematical methods for determining orientation of head 106. In
certain embodiments, an Euler angle method may be employed. For
instance, certain golf strokes (e.g., a putting stroke) involve
less angular motion than other strokes (e.g., a full golf swing).
Where less angular motion is involved (e.g., less than 90 degrees)
in the golf stroke, an Euler angle method may be employed. However,
in situations where large angular motion is involved (e.g., greater
than 90 degrees), a Euler angle method numerically fails and
orientation cannot be calculated due to the limitations of
trigonometry at these large angles.
[0045] As illustrated in FIG. 2, in a preferred embodiment, 6DOF
model 218 includes a Quaternion method module 222 for determining
orientation of head 106 based on a Quaternion method, which
transforms trigonometric equations into an algebraic set of
equations that do not contain any angular restrictions.
Furthermore, the Quaternion method is much more computationally
efficient compared to the Euler method, which may promote a more
accurate and reliable real-time analysis while simultaneously
minimizing power consumption.
[0046] Although various mathematical models may be employed, the
Quaternion method and Euler angle methods are described below to
describe one possible embodiment of 6DOF model 218. As known in the
art, when a rigid body moves through space, the motion of the body
can be determined by measuring three mutually-orthogonal,
translational accelerations and three mutually-orthogonal,
rotational velocities. Referring again to FIGS. 3a and 3b, inertial
reference frame XYZ can be defined, as well as a body frame uvw
corresponding to head 106 and 6DOF IMU 114. As head 106 rotates
through space, the orientation of head 106 with respect to the
inertial frame may be determined by using, for example, a
coordinate transformation matrix.
[0047] Referring to Equation 1, 6DOF model 218 may define the
following Euler angle direction cosine matrix A(.psi..theta..phi.)
may be defined: 1 Equation 1 : Euler Angle Direction Cosine Matrix
_ A ( ) = c c c s - s - c s + s s c c c + s s s c s s + c s c - s c
+ c s s c c
[0048] In Equation 1, A(.psi..theta..phi.) is one form (of 12
possible) of the Euler direction cosine matrix and .psi., .theta.,
and .phi. are sequential (Euler) rotations about the body local w,
v, and u axes, respectively. The c and s in the matrix above
represent the trigonometric cosine and sine functions,
respectively. As known in the art, the instantaneous sensed motion
of head 106 comprises the body angular rates (p, q, and r measured
with rate gyros of 6DOF IMU 114). The corresponding relationship
between body angular rates and Euler angles (rates) are shown below
in Equations 2-4.
p=d.phi./dt-(d.psi./dt)sin .theta. Equation 2
q=(d.theta./dt)cos .phi.+(d.psi./dt)cos .theta. sin .phi. Equation
3
r=(d.psi./dt)cos .theta. cos .phi.-(d.theta./dt)sin .phi. Equation
4
[0049] Referring to Equations 2-4, the angular velocity vector of
the body frame relative to the reference frame may be defined as
follows: .omega..sub.BR =pi+qj+rk. Solving Equations 2-4 for
d.phi./dt, d.theta./dt, and d.psi./dt, 6DOF model 218 may define
Equations 5-7 below.
d.phi./dt=p+(q sin.phi.+r cos.phi.)tan .theta. Equation 5
d.theta./dt=q cos .phi.-r sin .phi. Equation 6
d.psi./dt=(q sin .phi.+r cos .phi.)sec .theta. Equation 7
[0050] As mentioned above, in a Euler angle method, a singularity
exists at .theta.=90 degrees for Equation 5 and Equation 7. The
presence of this singularity causes the Euler angle method to fail
when this orientation condition is present. Furthermore, processing
of Equations 5-7 may be computationally intensive due to the large
number of trigonometric calculations that must be performed.
[0051] In order to provide flexible design requirements for
processing efficiency, power management, etc., Quaternion method
module 222 may transform these trigonometric equations into
algebraic equations. As known in the art, the Quaternion method
employs Euler's theorem, which states that the most general
displacement of a rigid body with one fixed point is a rotation
about some axis (e.g., the eigenvector). Therefore, any attitude
transformation by successive rotations about the three orthogonal
axes may be achieved by a single rotation about the eigenvector
with unity eigenvalue. Since the direction cosine matrix is a
proper real orthogonal matrix, it has at least one eignevector with
eigenvalue of unity.
[0052] Quaternion method module 222 may define the Quaternion in
Equation 8 and the transformation matrix in Equation 9. 2 Equation
8 _ q = q4 + i q1 + j q2 + k q3 = q4 + q Equation 9 :
Transformation Matrix--Quaternion Form _ A ( q ) = q1 2 - q2 2 - q3
2 + q4 2 2 ( q1q2 + q3q4 ) 2 ( q1q3 - q2q4 ) 2 ( q1q2 - q3q4 ) - q1
2 + q2 2 - q3 2 + q4 2 2 ( q2q3 + q1q4 ) 2 ( q1q3 + q2q4 ) 2 ( q2q3
- q1q4 ) - q1 2 - q2 2 + q3 2 + q4 2
[0053] Where the Quaternions q1, q2, q3, and q4 can be determined
arithmetically. The Quaternion transformation matrix values are
identical to the Euler direction cosine matrix, but are developed
without the computationally intensive trigonometric functions and
contain no singularities when used in the rigid body kinematics
equations. This approach allows unlimited rotational range without
restriction while simultaneously making the numerical processing
more efficient and effective.
[0054] As mentioned above, 6DOF model 218 may include functionality
for determining the initial reference frame (e.g., inertial frame
302--FIG. 3a). It should be appreciated that a number of motion
analysis algorithms may employ the functionality for determining
the initial reference frame. For example, the initial reference
frame may be determined at the beginning of the stroke and for
other motion analysis algorithms, such as distance/elevation
calculation module(s), 226, Stimpmeter simulator module(s) 230,
etc. One or more of these modules may employ a reference frame
(e.g., inertial frame 302--FIG. 3a) that is oriented with an axis
aligned with the gravity vector (FIG. 4).
[0055] One of ordinary skill in the art will appreciate that, in
certain embodiments, the initialization process may define an
appropriate reference by using the gravity vector in the manner
described below. Referring again to FIGS. 3a, 3b and 4, 6DOF IMU
114 may read the component of gravity to which each accelerometer
is subjected. As mentioned above, 6DOF IMU 114 may be disposed
within head 106 such that each accelerometer is mutually
orthogonal. For example, one accelerometer may be oriented in a
position perpendicular to the face of head 106 (e.g., x axis). A
second accelerometer may be oriented in a position along the y axis
and a third accelerometer may be oriented in a position
perpendicular to the z axis. By way of example, where the z-axis
accelerometer is perfectly aligned with the gravity vector, the
accelerometer would read 1 g, while the x-axis and y-axis
accelerometers would read zero. It should be appreciated that any
misalignment of the z-axis accelerometer with the gravity vector
may cause the x-axis accelerometer and/or the y-axis accelerometer
to read a value other than zero. In this manner, the initial
reference frame may be determined.
[0056] By way of example, the initial reference frame for a putting
stroke may be assumed to be at the beginning of the stroke. The
putter body z axis may not need to be perfectly aligned with the
gravity vector and the putter face may not need to be perfectly
square (i.e., the face may be slightly tipped forward/back and the
head toe up/down). The assumption may be made that the face does
not require an adjustment about the vertical (gravity vector)
direction because alignment to the intended putt direction cannot
be predicted.
[0057] With this in mind, Equations 10 and 11 may be defined.
{x}=[A]{X},
where:
{x} is the body frame
{X} is the reference frame
[A] is the direction cosine matrix Equation 10
{X}=[A].sup.T{x}
where:
[A].sup.T is the transform of [A] since [A].sup.T=[A].sup.-1 for
orthogonal matrices Equation 11
[0058] Because g is the only non-zero (Z axis) components in the
reference frame, then using the direction cosine matrix [A], the
Equations 12-14 may be derived:
x=sin(.theta.)g and .theta.=sin.sup.-1(x/g) Equation 12
y=-sin (.phi.)cos(.theta.)g and .phi.=sin.sup.-1(-y/cos(.theta.)g)
Equation 13
.psi.=0 (rotation about the putter head vertical/spin axis)
Equation 14
[0059] In this manner, 6DOF model 218 may determine a reference
frame in which the Z-axis is aligned to the gravity vector, the
X-axis is aligned to a target line defined by the orientation of
the face of the head of the club, and the Y-axis is horizontally
aligned along with the X-axis. This reference frame enables 6DOF
model 218 to mathematically define useful features with respect to
the Earth, for example, a perpendicular XZ reference plane for a
putter stroke (pendulum motion) comparison, putter head twist,
distance and elevation changes to the hole and other parts of the
green, etc. It should be appreciated that, 6DOF model 218 may
define other initial reference planes. For example, in addition to
an Earth reference frame, 6DOF model 218 may include the initial
position of the body frame at the beginning of the motion in order
to provide additional motion analysis algorithms.
[0060] FIG. 5 is a flow chart illustrating the general
architecture, operation, and/or functionality of one of a number of
embodiments of 6DOF model 218. As represented by block 502, 6DOF
model 218 may begin processing when a training mode is selected. In
certain embodiments, the golf club or golf swing training device
may include a mode switching mechanism (e.g., switch 108--FIGS. 1
& 2) by which a golfer may enable and disable the IMU,
microprocessor, motion analysis algorithm(s), 6DOF model 218, etc.
For example, in a training or non-competition mode, a golfer may
train by enabling the IMU and microprocessor and thereby receive
stroke feedback. In a competition or rules compliance mode,
however, the golfer may disable the necessary functionality to
comply with appropriate rules of competition, such as the rules of
golf promulgated by the United States Golf Association and The
Royal and Ancient Golf Club of St. Andrews.
[0061] After the training mode is selected (and/or 6DOF model 218,
microprocessor 116, and 6DOF IMU 114 are enabled), at blocks 504,
506, and 508, 6DOF model 218 may perform the initialization process
described above to determine an initial reference frame. In the
embodiment illustrated in FIG. 5, the initialization process
involves (1) initializing Euler angles, (2) initializing the
direction cosine matrix (Equation 1), and (3) initializing the
Quaternions (e.g., Equations 8 and 9, Quaternion method module
222). As mentioned above, in certain embodiments, the
initialization process may also compensate for gravity (e.g.,
gravity cancellation module 220).
[0062] As represented by block 510 and 512, after the inertial
reference frame is initialized, analysis of the motion of head 106
may be performed and data may be read from 6DOF IMU 114. Blocks
514-528 represent the mathematical processing of the data received
by 6DOF IMU based 6DOF model 218 as described above.
[0063] After the position of head 106 is calculated (block 528), at
block 530, the initial conditions may be updated. As shown at
decision block 534, blocks 512-532, may be repeated until the
stroke is completed or until data no longer needs to be read from
6DOF IMU 114.
[0064] Block 530 illustrates that, in certain embodiments where
feedback is be provided to the golfer, 6DOF model 218 may output
the appropriate data. In other embodiments, block 530 may represent
a control point to other software modules.
[0065] Having described the architecture, operation, and/or
functionality of 6DOF model 218, it should be appreciated that a
number of motion analysis algorithms may be employed. As mentioned
above, in one embodiment, the motion of the golf club during a
stroke may be compared to a kinematic reference model 216 (FIG. 2)
to provide the golfer with feedback related to the stroke. In this
regard, it should be appreciated that kinematic reference model(s)
216 store data that may mathematically define various useful stroke
references and/or characteristics of a golf stroke (or portion
thereof), including, for example, planes, vectors, other useful
stroke references, etc. Kinematic reference model(s) 216 may be
configured and stored in a number of possible ways. Nonetheless,
one of ordinary skill in the art will appreciate that kinematic
reference model(s) 216 may define a basis by which to compare the
data received from 6DOF IMU 114 and processed by 6DOF model
218.
[0066] It should be further appreciated that kinematic reference
model(s) 216 may include data corresponding to the individualized
swing mechanics for a particular golfer. For example, a particular
golfer may employ so-called "unconventional" swing mechanics, yet
still achieve successful results. Such a golfer may desire to
"groove" this individualized swing in order to develop a
consistent, repeatable, individualized golf swing.
[0067] In certain embodiments, a feedback mechanism may also be
implemented, which enables the user to receive various forms of
feedback based on the comparison of the actual stroke to the
kinematic reference model. It should be appreciated that the
feedback mechanism may employ visual feedback technique(s) (e.g.,
where a display, LED, etc. is employed) or audio feedback
technique(s) (e.g., where an audio transducer is employed). For
instance, in embodiments where the golf club is a putter, the
feedback mechanism and the stroke motion analysis algorithm(s) may
be configured to provide audio and/or visual feedback during the
putting stroke when the motion of the head of the putter deviates
from the kinematic reference model. One of ordinary skill in the
art will appreciate that feedback may be provided for any aspect of
the golf stroke. By way of example, during the putting stroke, the
feedback mechanism may provide a cue when the putter head rotates
beyond a predefined threshold, when the putter head deviates from
the target line, when the acceleration of the putter head deviates
from a predefined threshold, etc.
[0068] FIG. 6 is a flowchart illustrating the architecture,
operation, and/or functionality of an embodiment of a
distance/elevation calculation module 226 that may be implemented
with 6DOF model 218. It should be appreciated that, in general,
distance/elevation calculation module 226 interfaces with 6DOF
model 218 to determine a particular distance which head 106
travels. It should be appreciated that distance/elevation
calculation module 226 may be used during a golf stroke to provide
information regarding distances head 106 travels during the stroke.
For example, distance/elevation calculation module 226 may be used
to calculate the drawback and follow-through distances of a putting
stroke. In alternative embodiments, distance/elevation calculation
module 226 may be used to determine yardages between two points on
the golf course. In this manner, distance/elevation calculation
module 226 may supplement existing yardage markers on the course
and/or be used on putting greens to calculate more accurate
distances/elevations.
[0069] Referring to FIG. 6, at block 602, distance/elevation
calculation module 226 initializes reference frame 302 (FIG. 3a) as
above, initialization/orientation module 232 may be employed. At
blocks 604 and 608, distance/elevation calculation module 226
determines the position of head 106 at first and second trigger
events. Distance/elevation calculation module 226 may interface
with 6DOF model 218 (block 530--FIG. 5) to receive the position
coordinates. It should be appreciated that the trigger events may
be defined by a user, such as the case where a golfer desires to
measure the distance/elevation of a putt. The golfer may define the
trigger event via any I/O device 108. In this embodiment, the
golfer may locate head 106 at the ball and specify the first
trigger event and then locate head 106 at the hole and specify the
second trigger event. One of ordinary skill in the art will
appreciate that this functionality may be extended to, and included
in, a distance/elevation sampling algorithm (e.g., topology
simulator module 234--FIGS. 2 & 6) by which multiple points may
be sampled with respect to the reference frame in order to model a
simple topology to aid a golfer in reading greens. As illustrated
in FIG. 6, topology simulation module 234 may sample additional
points at more "second" trigger events (decision block 610) in
order to model a simple topology of the green.
[0070] In alternative embodiments, the trigger event may be a
particular event during a stroke, which may be identified by 6DOF
model 218 based on the characteristics of the measured motion. For
example, 6DOF model 218 may be configured to automatically identify
the point at which head 106 impacts a golf ball during a stroke
based on the expected motion characteristics that occur at impact
(e.g., a high-frequency data spike).
[0071] Regardless of the logic that determines, specifies, etc. the
trigger event, at block 608, distance/elevation calculation module
226 calculates the relative distance/elevation between the position
coordinates at the first and second trigger events.
Distance/elevation calculation module 226 may also calculate the
relative distance from reference frame 302 (FIG. 3a) to each
trigger event. It should be appreciated that this
distance/elevation calculation functionality may be implemented in
a number of different features. Furthermore, it should be
appreciated that distance/elevation calculation module 226 may be
configured to interface with the feedback mechanisms described
above.
[0072] FIG. 7 is a flowchart illustrating the architecture,
operation, and/or functionality of an embodiment of a stroke
feedback module 224 (FIG. 2) that may be implemented with 6DOF
model 218. In general, stroke feedback module 224 provides stroke
feedback to a golfer based on a comparison of the motion of head
106 during a stroke to a kinematic reference model 216 that defines
the motion of head 106 during a hypothetical, desirable golf
stroke. Any type of stroke characteristic may be monitored. For
example, stroke feedback module 224 may be configured to monitor
and provide feedback related to any of the following, or other,
stroke characteristics: swing plane of golf club, rotation of head
106, initial orientation of head 106 at address, acceleration of
head 106 in the impact zone (or other segment of swing), etc. In
this regard, numerous kinematic reference model(s) 216 may be
stored in memory 206 for any of these, or other, swing
characteristics.
[0073] Referring to the embodiment in FIG. 7, at block 702, a
golfer may select (e.g., via I/O devices 208) a stroke
characteristic to monitor. In alternative embodiments, putter 100
may be designed for monitoring and providing feedback for a single
stroke characteristic. At block 704, the golfer may begin
performing the stroke. As illustrated by decision block 706, stroke
feedback module 224 may determine when the stroke has been
completed and, in such cases, terminate at block 708. During the
stroke, stroke feedback module 224 may read, at block 710, current
motion analysis data acquired by 6DOF IMU 114. At block 712, stroke
feedback module 224 may compare the current motion analysis data to
the appropriate (e.g., selected) kinematic reference model 216. At
block 714, stroke feedback module 224 may provide feedback to the
golfer based on the comparison (block 712). For example, stroke
feedback module 224 may determine whether the swing being performed
by the golfer (based on the current and/or previous motion analysis
data) conforms to the corresponding data in kinematic reference
model 216. Consider the situation where the kinematic reference
model 216 includes data corresponding to a minimum acceptable value
for the amount head 106 may rotate during a putting stroke. Many
golf teachers advocate minimizing the rotation of the putter head
(i.e., keep the putter face "square" to the target line at
address). In this example, stroke feedback module 224 may read the
motion analysis data from putter 100 during the stroke (block 710),
compare the data to the kinematic reference model 216 (block 712),
and determine whether the actual amount of putter rotation is
within the accepted threshold.
[0074] FIG. 8 is a flowchart illustrating the architecture,
operation, and/or functionality of an embodiment of a Stimpmeter
simulator module 230 that may be implemented with 6DOF model 218.
As known in the art, a Stimpmeter is an extruded aluminum bar used
in the golf industry to provide a uniform measurement of the speed
of greens. A Stimpmeter is 36 inches long, with a V-shaped groove
extending along its entire length. It has a precisely milled
ball-release notch 30" from the tapered end (the end that rests on
the ground). The underside of the tapered end is milled away to
reduce bounce as a rolling ball makes contact with the green. The
V-shaped groove has an included angle of 145 degrees, thereby
supporting a golf ball at two points 1/2" apart. A ball rolling
down the groove has a slight overspin, which is thoroughly
consistent and has no deleterious effect on the ensuing
measurements. The ball-release notch is designed so that a ball
will always be released and start to roll when the Stimpmeter is
raised to an angle of approximately 20 degrees. This feature
ensures that the velocity of the ball will always be the same when
it reaches the tapered end. In this manner, a Stimpmeter may be
used to compare the relative speeds of greens by comparing the
distance/elevation a golf ball rolls.
[0075] Stimpmeter simulator module 230 may be configured to model
the Stimpmeter calculation to provide a similar measurement of the
speed of a green. Referring to FIG. 8, at block 802, a golfer may
strike a golf ball using putter 100. At block 804, Stimpmeter
simulator module 230 may determine the impact velocity of putter
100 and/or the initial velocity of the golf ball based on the
motion analysis data from 6DOF IMU 114. At block 806, Stimpmeter
simulator module 230 may measure the travel distance of the golf
ball as described above with respect to distance/elevation
calculation module 226. Given the initial velocity of the golf ball
and the travel distance, Stimpmeter simulator module 230 may
calculate, at block 808, the corresponding Stimpmeter measurement
to provide a relative measure of the speed of the green.
[0076] One of ordinary skill in the art will appreciate that
additional software modules may be included in putter 100 to
provide other motion analysis features. For example, an additional
software module (e.g., break indicator module 228--FIG. 1) may be
configured to provide an estimation of the amount of expected break
in a putt based on the orientation of the face of putter 100 (e.g.,
target line at address) relative to a ball-to-hole line defined by
the vector from the ball to the hole. In this regard, as
illustrated in FIG. 9, break indicator module 228 may be configured
to determine a vector from the ball to the hole (i.e., ball-to-hole
line) and the orientation of the face of putter 100 (i.e., X-axis
of the putter 100--FIGS. 3a and 3b--i.e. the target line at
address) relative to the ball-to-hole line (block 902). Based on
the ball-to-hole line relative to the target line at address, break
indicator module 228 may determine a "break" calculation indicating
the number of "inches of break" to the left or right of the hole
(block 904) resulting from the target line at address. The "break"
calculation may be provided to the golfer (e.g., via display 112)
to aid in aligning a putt (block 906).
[0077] As mentioned above, various types of feedback mechanisms may
be employed in putter 100. For example, audio and visual cues may
be used. Regarding audio cue, in one embodiment, a constant
frequency tone could be generated at initialization (e.g., 5000
Hz). As the putter 100 is drawn back and deviates from the vertical
plane, the frequency (or volume) could be increased or decreased as
a function of out-of-plane displacement (i.e., frequency increases
if pushed out of plane, frequency decreases if pulled out of
plane). Also, if a small amount of deviation is acceptable, a small
dead-band could be included where frequency is not modified until a
threshold is exceeded. A similar output could be generated for the
other features.
[0078] An alternative output could be an LED/LCD readout (e.g.,
display 112--FIG. 1) on the top of the putter 100 providing a
visual cue to the user. Depending on the particular feature being
implemented, various types of visual cues may be employed. For
example, when calculating the drawback distance for a putting
stroke, the maximum drawback distance could be output to display
112 such that the user could then measure ball travel and determine
the appropriate drawback distance relative to final ball position
to develop fine distance control. Clearly, any of these cases and
outputs could be combined to have multiple cases simultaneously
output.
[0079] It should be emphasized that the above-described embodiments
of the present invention, particularly, any "preferred"
embodiments, are merely possible examples of implementations,
merely set forth for a clear understanding of the principles of the
invention. Many variations and modifications may be made to the
above-described embodiment(s) of the invention without departing
substantially from the spirit and principles of the invention. All
such modifications and variations are intended to be included
herein within the scope of this disclosure and protected by the
following claims.
* * * * *