U.S. patent application number 14/949545 was filed with the patent office on 2016-05-26 for systems and methods for determining optimum putting speed and angle.
The applicant listed for this patent is Adam Denning, Jack W. Peterson. Invention is credited to Adam Denning, Jack W. Peterson.
Application Number | 20160144251 14/949545 |
Document ID | / |
Family ID | 56009229 |
Filed Date | 2016-05-26 |
United States Patent
Application |
20160144251 |
Kind Code |
A1 |
Denning; Adam ; et
al. |
May 26, 2016 |
SYSTEMS AND METHODS FOR DETERMINING OPTIMUM PUTTING SPEED AND
ANGLE
Abstract
Systems and methods for calculating a path of a golf ball on a
putting surface and for calculating an ideal putt direction and
speed to cause a golf ball in an initial location on a putting
surface to, when putted, enter a hole in a putting surface as
described are significantly more computationally efficient and
rapid. The efficiency allows implementation of the systems and
methods with lower-powered computing devices, including mobile
computing devices such as smart phones and the like.
Inventors: |
Denning; Adam; (Alpine,
UT) ; Peterson; Jack W.; (Elk Ridge, UT) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Denning; Adam
Peterson; Jack W. |
Alpine
Elk Ridge |
UT
UT |
US
US |
|
|
Family ID: |
56009229 |
Appl. No.: |
14/949545 |
Filed: |
November 23, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14538129 |
Nov 11, 2014 |
|
|
|
14949545 |
|
|
|
|
13737837 |
Jan 9, 2013 |
8992345 |
|
|
14538129 |
|
|
|
|
12240086 |
Sep 29, 2008 |
|
|
|
13737837 |
|
|
|
|
62083013 |
Nov 21, 2014 |
|
|
|
61585122 |
Jan 10, 2012 |
|
|
|
Current U.S.
Class: |
473/406 ;
473/409 |
Current CPC
Class: |
A63B 57/353 20151001;
G09B 19/0038 20130101; G06F 30/00 20200101 |
International
Class: |
A63B 57/30 20060101
A63B057/30; A63B 71/06 20060101 A63B071/06 |
Claims
1. A computer-implemented method for calculating an ideal putt
direction and speed to cause a golf ball in an initial location on
a putting surface to, when putted, enter a hole in the putting
surface, the method comprising computing-device-performed steps of:
calculating a first plurality of reverse paths leading from the
hole; determining which of the reverse paths passes closest to the
initial location of the golf ball; calculating an additional
plurality of reverse paths leading from the hole, the additional
plurality of reverse paths comprising reverse paths closer to the
reverse path that passed closest to the initial location of the
golf ball than other prior reverse paths; repeating the steps of
determining which of the reverse paths passes closest to the
initial location of the golf ball and calculating an additional
plurality of reverse paths leading from the hole until one of the
additional plurality of reverse paths passes within a selected
distance of the initial location of the golf ball; and determining
and outputting a putt speed and angle based on the reverse path
that passes within the selected distance of the initial location of
the golf ball.
2. A computer-implemented method as recited in claim 1, wherein
each reverse path is calculated using a final, at-the-hole, speed
chosen to emulate having the golf ball pass over the hole as if the
putting surface lacked the hole, and stop within a chosen distance
range of the hole.
3. A computer-implemented method as recited in claim 2, wherein the
chosen distance range is selected from the group consisting of:
between approximately 17 to approximately 19 inches; between
approximately 15 to approximately 21 inches; between approximately
13 to approximately 23 inches; between approximately 11 to
approximately 25 inches; between approximately 9 to approximately
27 inches; between approximately 7 to approximately 29 inches;
between approximately 5 to approximately 31 inches; between
approximately 3 to approximately 33 inches; and between
approximately 1 to approximately 35 inches.
4. A computer-implemented method as recited in claim 1, wherein
calculating each reverse path leading from the hole comprises:
selecting a final, at-the-hole, direction; and selecting a final,
at-the-hole, speed chosen to emulate having the golf ball pass over
the hole in the final, at-the-hole, direction as if there was no
hole in the putting surface, and stop within a chosen distance
range of the hole.
5. A computer-implemented method as recited in claim 4, wherein
calculating each reverse path comprises: beginning from the hole as
a first current location and with a first current velocity
comprising the selected final, at-the-hole, direction and the
selected final, at-the-hole, speed; determining a sum of forces to
which the golf ball, when rolling across the putting surface, is
subject at the current location based on gravitational, normal, and
frictional forces at the current location of the golf ball;
calculating a previous location and a previous velocity of the golf
ball using the current location, the current velocity, and an
opposite of the sum of forces at the current location; repeating
the steps of calculating the sum of forces to which the rolling
golf ball is subject at the current location and calculating a
previous location and a previous velocity while using the previous
location and the previous velocity as the current location and the
current velocity for each repetition until the reverse path has
been calculated to a selected extent.
6. A computer-implemented method as recited in claim 5, wherein
determining the sum of forces to which the rolling golf ball is
subject at the current location comprises referencing a force map
of the putting surface.
7. A computer-implemented method as recited in claim 6, further
comprising generating the force map of the putting surface.
8. A computer-implemented method as recited in claim 5, wherein
determining the sum of forces to which the rolling golf ball is
subject at the current location comprises: determining a slope of
the putting surface at the current location; and determining a
coefficient of rolling friction of the putting surface for current
conditions of the putting surface.
9. A computer-implemented method as recited in claim 4, wherein
calculating the first plurality of reverse paths comprises
calculating three reverse paths comprising: a first reverse path
having a first direction lying along a line extending between the
initial location and the hole; a second reverse path having a first
direction at a selected angle from the first direction of the first
reverse path; and a third reverse path having a first direction at
a selected angle from the first direction of the first reverse path
that is opposite and equal to the angel of the second reverse
path.
10. A computer-implemented method as recited in claim 9, wherein
the selected angle of the second reverse path is approximately
ninety degrees.
11. A computer-implemented method as recited in claim 9, wherein
calculating an additional plurality of reverse paths comprises
calculating two reverse paths, the two reverse paths comprising: a
first new reverse path having a first new direction at a new angle
from the first direction of a best reverse path of the prior
calculation iteration, the new angle being approximately half the
size of the selected angle from the prior calculation iteration;
and a second new reverse path having a second new direction at an
angle from the best reverse path of the prior calculation iteration
opposite and equal to the new angle of the first new reverse
path.
12. A computer-implemented method as recited in claim 1, wherein
the step of determining and outputting a speed and angle based on
the reverse path that passes within the selected distance of the
initial location of the golf ball comprises an action selected from
the group consisting of: determining and outputting a putt speed
and angle based on a point of the reverse path that passes within
the selected distance of the initial location of the golf ball that
is most proximate the initial location of the golf ball; and
determining and outputting a putt speed and angle based on an
interpolation between two points of the reverse path that passes
within the selected distance of the initial location of the golf
ball that are most proximate the initial location of the golf
ball.
13. A computer-implemented method for calculating a projected path
of a golf ball on a putting surface to a hole in the putting
surface, the method comprising computing-device-performed steps of:
setting the hole as a current location; selecting a current
velocity comprising a selected final, at-the-hole, direction and a
selected final, at-the-hole, speed; determining the sum of forces
to which the golf ball, when rolling, is subject at the current
location based on gravitational, normal, and frictional forces at
the current location of the golf ball; calculating a previous
location and a previous velocity of the golf ball using the current
location, the current velocity, and an opposite of the sum of
forces at the current location; repeating the steps of calculating
the sum of forces to which the rolling golf ball is subject at the
current location and calculating a previous location and a previous
velocity while using the previous location and the previous
velocity as the current location and the current velocity for each
repetition until the reverse path has been calculated to a selected
extent.
14. A computer-implemented method as recited in claim 13, wherein
the final, at-the-hole, speed is chosen to emulate having the golf
ball pass over the hole in the final, at-the-hole, direction as if
there was no hole in the putting surface, and stop within a chosen
distance range of the hole.
15. A computer-implemented method for calculating an ideal putt
direction and speed to cause a golf ball in an initial location on
a putting surface to, when putted, enter a hole in the putting
surface using the computer-implemented method of claim 13, the
method for calculating an ideal putt direction and speed comprising
computing-device-performed steps of: calculating a first plurality
of reverse paths leading from the hole according to the
computer-implemented method of claim 13; determining which of the
reverse paths passes closest to the initial location of the golf
ball; calculating an additional plurality of reverse paths leading
from the hole according to the computer-implemented method of claim
13, the additional plurality of reverse paths comprising reverse
paths closer to the reverse path that passed closest to the initial
location of the golf ball than other prior reverse paths; repeating
the steps of determining which of the reverse paths passes closest
to the initial location of the golf ball and calculating an
additional plurality of reverse paths leading from the hole until
one of the additional plurality of reverse paths passes within a
selected distance of the initial location of the golf ball; and
determining and outputting a speed and angle based on the reverse
path that passes within the selected distance of the initial
location of the golf ball.
16. A computer-implemented method as recited in claim 15, wherein a
precision of calculation of each reverse path increases as the
calculated reverse paths pass more closely to the initial location
of the golf ball.
17. A computer-implemented method as recited in claim 15, wherein a
step size between current positions and previous positions of each
reverse path is decreased as the calculated reverse paths pass more
closely to the initial location of the golf ball.
18. A non-transitory computer-readable medium containing computer
program code means to cause a computing device to execute a method
for calculating a projected path of a golf ball on a putting
surface to a hole in the putting surface, the method comprising
steps of: setting the hole as a current location; selecting a
current velocity comprising a selected final, at-the-hole,
direction and a selected final, at-the-hole, speed; determining the
sum of forces to which the golf ball, when rolling, is subject at
the current location based on gravitational, normal, and frictional
forces at the current location of the golf ball; calculating a
previous location and a previous velocity of the golf ball using
the current location, the current velocity, and an opposite of the
sum of forces at the current location; repeating the steps of
calculating the sum of forces to which the rolling golf ball is
subject at the current location and calculating a previous location
and a previous velocity while using the previous location and the
previous velocity as the current location and the current velocity
for each repetition until the reverse path has been calculated to a
selected extent.
19. A non-transitory computer-readable medium containing computer
program code means to cause a computing device to execute a method
for calculating an ideal putt direction and speed to cause a golf
ball in an initial location on a putting surface to, when putted,
enter a hole in the putting surface using the method of claim 18,
the method for calculating an ideal putt direction and speed
comprising steps of: calculating a first plurality of reverse paths
leading from the hole according to the method of claim 18;
determining which of the reverse paths passes closest to the
initial location of the golf ball; calculating an additional
plurality of reverse paths leading from the, the additional
plurality of reverse paths comprising reverse paths closer to the
reverse path that passed closest to the initial location of the
golf ball than other prior reverse paths; repeating the steps of
determining which of the reverse paths passes closest to the
initial location of the golf ball and calculating an additional
plurality of reverse paths leading from the hole until one of the
additional plurality of reverse paths passes within a selected
distance of the initial location of the golf ball; and determining
and outputting a speed and angle based on the reverse path that
passes within the selected distance of the initial location of the
golf ball.
20. A system for improving putting comprising: a base station
configured to calculate the position of the ball utilizing a device
selected from the group consisting of a compass and a module
configured to receive carrier wave signals from a satellite-based
navigation system and to transmit phase measurements of the carrier
wave signals; a server system comprising a topographical data set
and configured to calculate recommended swing parameters using a
position of a ball, a known position of a hole, and the
topographical data set; and a digital ball marker comprising: a
housing containing an indication for orienting the ball marker with
respect to a hole in a green, wherein the ball marker is placed on
a surface of the green proximate to the position of the ball lying
on the green, the orientation defining a line from the ball marker
that intersects the hole; a receiver configured to receive signals
from the global navigation satellite system and to receive phase
measurements of the carrier wave signals from the base station,
wherein the ball marker calculates the position of the ball by
using the received signals and the received phase measurements; a
communication module configured to transmit the position of the
ball to the server system and to receive the recommended swing
parameters for putting the ball into the hole; and a display for
displaying the recommended swing parameters.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit of U.S. Provisional Patent
Application No. 62/083,013 (Attorney Docket No. 16649.8), filed
Nov. 21, 2014, and entitled "Systems and Methods for Determining
Optimum Putting Speed and Angle". This application is a
continuation-in-part application of U.S. patent application Ser.
No. 14/538,129 (Attorney Docket No. 16649.9), filed Nov. 11, 2014,
and entitled "Digital Compass Ball Marker", which is a
continuation-in-part application of U.S. patent application Ser.
No. 13/737,837 (Attorney Docket No. 16649.6), filed Jan. 9, 2013,
and entitled "Digital Compass Ball Marker" (now U.S. Pat. No.
8,992,345), which claims the benefit of U.S. Provisional
Application No. 61/585,122 (Attorney Docket No. 16649.5), filed
Jan. 10, 2012, and is entitled "Digital Compass Ball Marker", and
is a continuation-in-part application of U.S. application Ser. No.
12/240,086 (Attorney Docket No. 16649.2), filed Sep. 29, 2008, and
entitled "Method and Device for Improving Putting", all of which
applications are incorporated by reference for all they
disclose.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention relates to golf, and more particularly
to computer-assisted methods for determining a best putt angle and
speed based on a golf ball's initial location on a putting
surface.
[0004] 2. Background and Related Art
[0005] Golf is played on golf courses that include various terrain
features, including tees, fairways, roughs, woods, water hazards,
sand traps (or bunkers), and golf greens (commonly referred to as
"the green"). The terrain of the golf course is generally varied so
as to enhance the difficulty and play experience of the golf
course. The greens further include a hole into which the golfer
attempts to place the golf ball. The object of the game is to move
a golf ball from the tee into a hole located on each green
throughout the golf course. The golf ball is moved from the tee to
the green by hitting or stroking the ball with a golf club.
Usually, more than one stroke is required to place the golf ball in
the hole.
[0006] Great skill and precision is required to successfully stroke
the golf ball onto the green and eventually into the hole with a
minimum number of strokes. Once the ball is on the green, various
physical contours and properties of the green must be analyzed by
the player to aid the player in accurately putting the ball into
the hole. Distance to the hole, lines, slopes, grades, wind speed,
wind direction, wetness or dryness of the grass, the length of the
grass, the grain of the grass and other variables must be taken
into account when determining the direction and swing speed of the
golf club.
[0007] Some of the most important considerations when putting are
the position of the ball on the green and the distance between the
ball and the hole. A player's likelihood of success largely depends
upon the player knowing these pieces of information. Once the
position and distance has been determined, the player may adjust
his or her swing accordingly. The position of the ball and the
distance between the ball and the hole is typically gauged by
pacing or is otherwise estimated by the player. Even when an
accurate measurement is obtained, it can be difficult for the
player to account for ground conditions and varying slopes of some
greens.
[0008] Sometimes, a golfer employs a caddie that is familiar with a
course and can therefore offer advice on where to aim, how hard to
hit a shot, what type of shot to hit, etc. However, caddies are
generally not available for the average golfer. To address this,
technology has been used to provide digital caddies in the form of
special-purpose electronic devices or as programs running on
multi-purpose electronic devices that provide much of the
information generally provided by a caddy. For example, global
positioning system (GPS) devices are available that provide a
distance to the hole or an obstacle to assist the golfer in
selecting the appropriate club, type of shot, and swing force. Such
devices are useful when hitting a drive, approach shot, or other
relatively longer distance shot where precision is less important.
However, when putting or chipping on the green, where both the
direction and force of the shot must be precisely determined, such
GPS devices provide little benefit.
[0009] Further, a key requirement of any digital caddy is that it
must provide information in a sufficiently quick manner so as to
not unacceptably slow play. GPS devices can be programmed with the
coordinates of tee blocks, fairways, greens, and other features of
a golf course so that an instant output of an important distance
can be output at any time. Accordingly, because the golfer can rely
on the distance output by the GPS device rather than relying on
other physical markers on the golf course (e.g. by stepping off a
distance from a distance marker), such devices can speed play.
However, as stated above, these devices provide little benefit once
the ball is on or in close proximity to the green.
BRIEF SUMMARY OF THE INVENTION
[0010] Implementation of the invention provides systems, methods,
and non-transitory computer-readable media containing code means
for implementing methods for calculating a path of a golf ball on a
putting surface and systems, methods, and computer-readable media
containing code means for implementing methods for calculating an
ideal putt direction and speed to cause a golf ball in an initial
location on a putting surface to, when putted, enter a hole in a
putting surface. According to implementations for calculating an
ideal putt direction and speed, a method includes
computing-device-performed steps of calculating a first plurality
of reverse paths leading from the hole and determining which of the
reverse paths passes closest to the initial location of the golf
ball. The method also includes calculating an additional plurality
of reverse paths leading from the hole, the additional plurality of
reverse paths including reverse paths closer to the reverse path
that passed closest to the initial location of the golf ball than
other prior reverse paths and repeating the steps of determining
which of the reverse paths passes closest to the initial location
of the golf ball and calculating an additional plurality of reverse
paths leading from the hole until one of the additional plurality
of reverse paths passes within a selected distance of the initial
location of the golf ball. Finally, the method includes determining
and outputting a putt speed and angle based on the reverse path
that passes within the selected distance of the initial location of
the golf ball.
[0011] Each reverse path may be calculated using a final,
at-the-hole, speed chosen to emulate having the golf ball pass over
the hole as if the putting surface lacked the hole, and stop within
a chosen distance range of the hole. The chosen distance range may
be selected from a variety of distance ranges, such as, for
example, between approximately 17 to approximately 19 inches,
between approximately 15 to approximately 21 inches, between
approximately 13 to approximately 23 inches, between approximately
11 to approximately 25 inches, between approximately 9 to
approximately 27 inches, between approximately 7 to approximately
29 inches, between approximately 5 to approximately 31 inches,
between approximately 3 to approximately 33 inches, and between
approximately 1 to approximately 35 inches.
[0012] Calculating each reverse path leading from the hole may
include steps of selecting a final, at-the-hole, direction and
selecting a final, at-the-hole, speed chosen to emulate having the
golf ball pass over the hole in the final, at-the-hole, direction
as if there were no hole in the putting surface, and stop within a
chosen distance range of the hole. Calculating each reverse path
may also include beginning from the hole as a first current
location and with a first current velocity of the selected final,
at-the-hole, direction and the selected final, at-the-hole, speed
and determining a sum of forces to which the golf ball, when
rolling across the putting surface, is subject at the current
location based on gravitational, normal, and frictional forces at
the current location of the golf ball. Calculating each reverse
path may also include calculating a previous location and a
previous velocity of the golf ball using the current location, the
current velocity, and an opposite of the sum of forces at the
current location. Calculating each reverse path may also include
repeating the steps of calculating the sum of forces to which the
rolling golf ball is subject at the current location and
calculating a previous location and a previous velocity while using
the previous location and the previous velocity as the current
location and the current velocity for each repetition until the
reverse path has been calculated to a selected extent.
[0013] Determining the sum of forces to which the rolling golf ball
is subject at the current location may include referencing a force
map of the putting surface. The system or method may also generate
the force map of the putting surface. Alternatively, determining
the sum of forces to which the rolling golf ball is subject at the
current location may include determining a slope of the putting
surface at the current location and determining a coefficient of
rolling friction of the putting surface for current conditions of
the putting surface.
[0014] According to a specific exemplary implementation,
calculating the first plurality of reverse paths involves
calculating three reverse paths, namely, a first reverse path
having a first direction lying along a line extending between the
initial location and the hole, a second reverse path having a first
direction at a selected angle from the first direction of the first
reverse path, and a third reverse path having a first direction at
a selected angle from the first direction of the first reverse path
that is opposite and equal to the angel of the second reverse path.
In one such implementation, the selected angle of the second
reverse path is approximately ninety degrees.
[0015] Calculating an additional plurality of reverse paths may
include calculating two reverse paths, namely, a first new reverse
path having a first new direction at a new angle from the first
direction of a best reverse path of the prior calculation
iteration, the new angle being approximately half the size of the
selected angle from the prior calculation iteration, and a second
new reverse path having a second new direction at an angle from the
best reverse path of the prior calculation iteration opposite and
equal to the new angle of the first new reverse path.
[0016] According to some implementations of the invention, the step
of determining and outputting a speed and angle based on the
reverse path that passes within the selected distance of the
initial location of the golf ball includes an action such as
determining and outputting a putt speed and angle based on a point
of the reverse path that passes within the selected distance of the
initial location of the golf ball that is most proximate the
initial location of the golf ball, and determining and outputting a
putt speed and angle based on an interpolation between two points
of the reverse path that passes within the selected distance of the
initial location of the golf ball that are most proximate the
initial location of the golf ball.
[0017] According to implementations for calculating a projected
path of a golf ball on a putting surface to a hole in the putting
surface, a method may include setting the hole as a current
location and selecting a current velocity comprising a selected
final, at-the-hole, direction and a selected final, at-the-hole,
speed. The method may also include determining the sum of forces to
which the golf ball, when rolling, is subject at the current
location based on gravitational, normal, and frictional forces at
the current location of the golf ball and calculating a previous
location and a previous velocity of the golf ball using the current
location, the current velocity, and an opposite of the sum of
forces at the current location. The method may also include
repeating the steps of calculating the sum of forces to which the
rolling golf ball is subject at the current location and
calculating a previous location and a previous velocity while using
the previous location and the previous velocity as the current
location and the current velocity for each repetition until the
reverse path has been calculated to a selected extent.
[0018] In such implementations, the final, at-the-hole, speed may
be chosen to emulate having the golf ball pass over the hole in the
final, at-the-hole, direction as if there was no hole in the
putting surface, and stop within a chosen distance range of the
hole.
[0019] The method for calculating a projected path of a golf ball
on a putting surface may be used in methods for calculating an
ideal putt direction and speed to cause a golf ball in an initial
location on a putting surface to, when putted, enter a hole in the
putting surface. Such a method may include calculating a first
plurality of reverse paths leading from the hole according to the
method of calculating a projected path on a putting surface and
determining which of the reverse paths passes closest to the
initial location of the golf ball. The method may also include
calculating an additional plurality of reverse paths leading from
the hole according to the method of calculating a projected path on
a putting surface, the additional plurality of reverse paths
including reverse paths closer to the reverse path that passed
closest to the initial location of the golf ball than other prior
reverse paths and repeating the steps of determining which of the
reverse paths passes closest to the initial location of the golf
ball and calculating an additional plurality of reverse paths
leading from the hole until one of the additional plurality of
reverse paths passes within a selected distance of the initial
location of the golf ball. The method may also include determining
and outputting a speed and angle based on the reverse path that
passes within the selected distance of the initial location of the
golf ball.
[0020] According to some implementations, a precision of
calculation of each reverse path may increase as the calculated
reverse paths pass more closely to the initial location of the golf
ball. Similarly, a step size between current positions and previous
positions of each reverse path may be decreased as the calculated
reverse paths pass more closely to the initial location of the golf
ball. According to some implementations, at each repetition of the
steps of determining which of the reverse paths passes closest to
the initial location of the golf ball and calculating an additional
plurality of reverse paths leading from the hole, an angle between
the most widely spaced of the additional plurality of reverse paths
is approximately halved.
[0021] Implementation of the invention may be associated with
special-purpose electronic devices as dedicated golf aids, or may
be associated with general-purpose electronic devices, such as an
app or program running on any of a variety of electronic devices.
Implementation of the invention is significantly less
computationally intensive than existing methods for determining a
putting speed and angle, allowing for implementations that are less
expensive than currently available systems and devices.
Additionally, results can be provided more quickly, thereby
speeding play.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0022] The objects and features of the present invention will
become more fully apparent from the following description and
appended claims, taken in conjunction with the accompanying
drawings. Understanding that these drawings depict only typical
embodiments of the invention and are, therefore, not to be
considered limiting of its scope, the invention will be described
and explained with additional specificity and detail through the
use of the accompanying drawings in which:
[0023] FIG. 1 shows a representative computing device for use with
embodiments of the invention;
[0024] FIG. 2 shows a representative networked computing device for
use with embodiments of the invention;
[0025] FIG. 3 illustrates an exemplary computing device environment
in which embodiments of the present invention can be
implemented;
[0026] FIG. 4 illustrates a schematic view of an exemplary
configuration of a ball marker;
[0027] FIG. 5 illustrates a side cross-sectional view of a green on
which a ball marker is used in accordance with one or more
embodiments of the present invention;
[0028] FIG. 6 illustrates a top view of a green on which a ball
marker is used in accordance with one or more embodiments of the
present invention;
[0029] FIG. 7 illustrates an exemplary view of a display on a ball
marker that is used to receive user input of an estimated
distance;
[0030] FIGS. 8-9 illustrate exemplary views of a display on a ball
marker that is used to display recommended swing parameters to a
golfer;
[0031] FIG. 10 illustrates a flowchart of an exemplary method for
generating recommended swing parameters for putting a golf ball on
a green;
[0032] FIG. 11 illustrates a flowchart of an exemplary method for
calculating a reverse putt path leading from a hole in a green;
[0033] FIG. 12 illustrates a flowchart of an exemplary method for
generating recommended swing parameters for putting a golf ball on
a green;
[0034] FIG. 13 illustrates a top view of a green showing a first
iteration of steps for generating recommended swing parameters for
putting a golf ball on a green;
[0035] FIG. 14 illustrates a top view of a green showing a second
iteration of steps for generating recommended swing parameters for
putting a golf ball on a green;
[0036] FIG. 15 illustrates a top view of a green showing a third
iteration of steps for generating recommended swing parameters for
putting a golf ball on a green;
[0037] FIG. 16 illustrates a top view of a green showing a fourth
iteration of steps for generating recommended swing parameters for
putting a golf ball on a green;
[0038] FIGS. 17A and 17B illustrate a representative networked
computing device for use with embodiments of the invention; and
[0039] FIGS. 18A and 18B illustrate additional embodiments of the
invention.
DETAILED DESCRIPTION OF THE INVENTION
[0040] A description of embodiments of the present invention will
now be given with reference to the Figures. It is expected that the
present invention may take many other forms and shapes, hence the
following disclosure is intended to be illustrative and not
limiting, and the scope of the invention should be determined by
reference to the appended claims.
[0041] Embodiments of the invention provide systems, methods, and
computer-readable media containing code means for implementing
methods for calculating a path of a golf ball on a putting surface
and systems, methods, and computer-readable media containing code
means for implementing methods for calculating an ideal putt
direction and speed to cause a golf ball in an initial location on
a putting surface to, when putted, enter a hole in a putting
surface. According to embodiments for calculating an ideal putt
direction and speed, a method includes computing-device-performed
steps of calculating a first plurality of reverse paths leading
from the hole and determining which of the reverse paths passes
closest to the initial location of the golf ball. The method also
includes calculating an additional plurality of reverse paths
leading from the hole, the additional plurality of reverse paths
including reverse paths closer to the reverse path that passed
closest to the initial location of the golf ball than other prior
reverse paths and repeating the steps of determining which of the
reverse paths passes closest to the initial location of the golf
ball and calculating an additional plurality of reverse paths
leading from the hole until one of the additional plurality of
reverse paths passes within a selected distance of the initial
location of the golf ball. Finally, the method includes determining
and outputting a putt speed and angle based on the reverse path
that passes within the selected distance of the initial location of
the golf ball.
[0042] Each reverse path may be calculated using a final,
at-the-hole, speed chosen to emulate having the golf ball pass over
the hole as if the putting surface lacked the hole, and stop within
a chosen distance range of the hole. The chosen distance range may
be selected from a variety of distance ranges, such as, for
example, between approximately 17 to approximately 19 inches,
between approximately 15 to approximately 21 inches, between
approximately 13 to approximately 23 inches, between approximately
11 to approximately 25 inches, between approximately 9 to
approximately 27 inches, between approximately 7 to approximately
29 inches, between approximately 5 to approximately 31 inches,
between approximately 3 to approximately 33 inches, and between
approximately 1 to approximately 35 inches.
[0043] Calculating each reverse path leading from the hole may
include steps of selecting a final, at-the-hole, direction and
selecting a final, at-the-hole, speed chosen to emulate having the
golf ball pass over the hole in the final, at-the-hole, direction
as if there were no hole in the putting surface, and stop within a
chosen distance range of the hole. Calculating each reverse path
may also include beginning from the hole as a first current
location and with a first current velocity of the selected final,
at-the-hole, direction and the selected final, at-the-hole, speed
and determining a sum of forces to which the golf ball, when
rolling across the putting surface, is subject at the current
location based on gravitational, normal, and frictional forces at
the current location of the golf ball. Calculating each reverse
path may also include calculating a previous location and a
previous velocity of the golf ball using the current location, the
current velocity, and an opposite of the sum of forces at the
current location. Calculating each reverse path may also include
repeating the steps of calculating the sum of forces to which the
rolling golf ball is subject at the current location and
calculating a previous location and a previous velocity while using
the previous location and the previous velocity as the current
location and the current velocity for each repetition until the
reverse path has been calculated to a selected extent.
[0044] Determining the sum of forces to which the rolling golf ball
is subject at the current location may include referencing a force
map of the putting surface. The system or method may also generate
the force map of the putting surface. Alternatively, determining
the sum of forces to which the rolling golf ball is subject at the
current location may include determining a slope of the putting
surface at the current location and determining a coefficient of
rolling friction of the putting surface for current conditions of
the putting surface.
[0045] According to a specific exemplary embodiments, calculating
the first plurality of reverse paths involves calculating three
reverse paths, namely, a first reverse path having a first
direction lying along a line extending between the initial location
and the hole, a second reverse path having a first direction at a
selected angle from the first direction of the first reverse path,
and a third reverse path having a first direction at a selected
angle from the first direction of the first reverse path that is
opposite and equal to the angel of the second reverse path. In one
such embodiment, the selected angle of the second reverse path is
approximately ninety degrees.
[0046] Calculating an additional plurality of reverse paths may
include calculating two reverse paths, namely, a first new reverse
path having a first new direction at a new angle from the first
direction of a best reverse path of the prior calculation
iteration, the new angle being approximately half the size of the
selected angle from the prior calculation iteration, and a second
new reverse path having a second new direction at an angle from the
best reverse path of the prior calculation iteration opposite and
equal to the new angle of the first new reverse path.
[0047] According to some embodiments of the invention, the step of
determining and outputting a speed and angle based on the reverse
path that passes within the selected distance of the initial
location of the golf ball includes an action such as determining
and outputting a putt speed and angle based on a point of the
reverse path that passes within the selected distance of the
initial location of the golf ball that is most proximate the
initial location of the golf ball, and determining and outputting a
putt speed and angle based on an interpolation between two points
of the reverse path that passes within the selected distance of the
initial location of the golf ball that are most proximate the
initial location of the golf ball.
[0048] According to embodiments for calculating a projected path of
a golf ball on a putting surface to a hole in the putting surface,
a method may include setting the hole as a current location and
selecting a current velocity comprising a selected final,
at-the-hole, direction and a selected final, at-the-hole, speed.
The method may also include determining the sum of forces to which
the golf ball, when rolling, is subject at the current location
based on gravitational, normal, and frictional forces at the
current location of the golf ball and calculating a previous
location and a previous velocity of the golf ball using the current
location, the current velocity, and an opposite of the sum of
forces at the current location. The method may also include
repeating the steps of calculating the sum of forces to which the
rolling golf ball is subject at the current location and
calculating a previous location and a previous velocity while using
the previous location and the previous velocity as the current
location and the current velocity for each repetition until the
reverse path has been calculated to a selected extent.
[0049] In such embodiments, the final, at-the-hole, speed may be
chosen to emulate having the golf ball pass over the hole in the
final, at-the-hole, direction as if there was no hole in the
putting surface, and stop within a chosen distance range of the
hole.
[0050] The method for calculating a projected path of a golf ball
on a putting surface may be used in methods for calculating an
ideal putt direction and speed to cause a golf ball in an initial
location on a putting surface to, when putted, enter a hole in the
putting surface. Such a method may include calculating a first
plurality of reverse paths leading from the hole according to the
method of calculating a projected path on a putting surface and
determining which of the reverse paths passes closest to the
initial location of the golf ball. The method may also include
calculating an additional plurality of reverse paths leading from
the hole according to the method of calculating a projected path on
a putting surface, the additional plurality of reverse paths
including reverse paths closer to the reverse path that passed
closest to the initial location of the golf ball than other prior
reverse paths and repeating the steps of determining which of the
reverse paths passes closest to the initial location of the golf
ball and calculating an additional plurality of reverse paths
leading from the hole until one of the additional plurality of
reverse paths passes within a selected distance of the initial
location of the golf ball. The method may also include determining
and outputting a speed and angle based on the reverse path that
passes within the selected distance of the initial location of the
golf ball.
[0051] According to some embodiments, a precision of calculation of
each reverse path may increase as the calculated reverse paths pass
more closely to the initial location of the golf ball. Similarly, a
step size between current positions and previous positions of each
reverse path may be decreased as the calculated reverse paths pass
more closely to the initial location of the golf ball. According to
some embodiments, at each repetition of the steps of determining
which of the reverse paths passes closest to the initial location
of the golf ball and calculating an additional plurality of reverse
paths leading from the hole, an angle between the most widely
spaced of the additional plurality of reverse paths is
approximately halved.
[0052] As embodiments of the invention may be implemented using a
variety of general-purpose and special-purpose electronic and
computing devices, FIG. 1 and the corresponding discussion are
intended to provide a general description of a suitable operating
environment in which embodiments of the invention may be
implemented. One skilled in the art will appreciate that
embodiments of the invention may be practiced by one or more
computing devices and in a variety of system configurations,
including in a networked configuration. However, while the methods
and processes of the present invention have proven to be
particularly useful in association with a system comprising a
general purpose computer, embodiments of the present invention
include utilization of the methods and processes in a variety of
environments, including embedded systems with general purpose
processing units, digital/media signal processors (DSP/MSP),
application specific integrated circuits (ASIC), standalone
electronic devices, and other such electronic environments.
[0053] Embodiments of the present invention embrace one or more
computer-readable media, wherein each medium may be configured to
include or includes thereon data or computer executable
instructions for manipulating data. The computer executable
instructions include data structures, objects, programs, routines,
or other program modules that may be accessed by a processing
system, such as one associated with a general-purpose computer
capable of performing various different functions or one associated
with a special-purpose computer capable of performing a limited
number of functions. Computer executable instructions cause the
processing system to perform a particular function or group of
functions and are examples of program code means for implementing
steps for methods disclosed herein. Furthermore, a particular
sequence of the executable instructions provides an example of
corresponding acts that may be used to implement such steps.
Examples of computer-readable media include random-access memory
("RAM"), read-only memory ("ROM"), programmable read-only memory
("PROM"), erasable programmable read-only memory ("EPROM"),
electrically erasable programmable read-only memory ("EEPROM"),
compact disk read-only memory ("CD-ROM"), or any other device or
component that is capable of providing data or executable
instructions that may be accessed by a processing system. While
embodiments of the invention embrace the use of all types of
computer-readable media, certain embodiments as recited in the
claims may be limited to the use of tangible, non-transitory
computer-readable media, and the phrases "tangible
computer-readable medium" and "non-transitory computer-readable
medium" (or plural variations) used herein are intended to exclude
transitory propagating signals per se.
[0054] With reference to FIG. 1, a representative system for
implementing embodiments of the invention includes computer device
10, which may be a general-purpose or special-purpose computer or
any of a variety of consumer electronic devices. For example,
computer device 10 may be a personal computer, a notebook or laptop
computer, a netbook, a personal digital assistant ("PDA") or other
hand-held device, a smart phone, a tablet computer, a workstation,
a minicomputer, a mainframe, a supercomputer, a multi-processor
system, a network computer, a processor-based consumer electronic
device, a computer device integrated into another device or
vehicle, a golf-specific device, a GPS device, or the like.
[0055] Computer device 10 includes system bus 12, which may be
configured to connect various components thereof and enables data
to be exchanged between two or more components. System bus 12 may
include one of a variety of bus structures including a memory bus
or memory controller, a peripheral bus, or a local bus that uses
any of a variety of bus architectures. Typical components connected
by system bus 12 include processing system 14 and memory 16. Other
components may include one or more mass storage device interfaces
18, input interfaces 20, output interfaces 22, and/or network
interfaces 24, each of which will be discussed below.
[0056] Processing system 14 includes one or more processors, such
as a central processor and optionally one or more other processors
designed to perform a particular function or task. It is typically
processing system 14 that executes the instructions provided on
computer-readable media, such as on memory 16, a magnetic hard
disk, a removable magnetic disk, a magnetic cassette, an optical
disk, or from a communication connection, which may also be viewed
as a computer-readable medium or may provide access to a remote
computer-readable medium.
[0057] Memory 16 includes one or more computer-readable media that
may be configured to include or includes thereon data or
instructions for manipulating data, and may be accessed by
processing system 14 through system bus 12. Memory 16 may include,
for example, ROM 28, used to permanently store information, and/or
RAM 30, used to temporarily store information. ROM 28 may include a
basic input/output system ("BIOS") having one or more routines that
are used to establish communication, such as during start-up of
computer device 10. RAM 30 may include one or more program modules,
such as one or more operating systems, application programs, and/or
program data.
[0058] One or more mass storage device interfaces 18 may be used to
connect one or more mass storage devices 26 to system bus 12. The
mass storage devices 26 may be incorporated into or may be
peripheral to computer device 10 and allow computer device 10 to
retain large amounts of data. Optionally, one or more of the mass
storage devices 26 may be removable from computer device 10.
Examples of mass storage devices include hard disk drives, magnetic
disk drives, tape drives, flash memory drives, and optical disk
drives. A mass storage device 26 may read from and/or write to a
magnetic hard disk, a removable magnetic disk, a magnetic cassette,
an optical disk, flash memory, or another computer-readable medium.
Mass storage devices 26 and their corresponding computer-readable
media provide nonvolatile storage of data and/or executable
instructions that may include one or more program modules such as
an operating system, one or more application programs, other
program modules, or program data. Such executable instructions are
examples of program code means for implementing steps for methods
disclosed herein.
[0059] One or more input interfaces 20 may be employed to enable a
user to enter data and/or instructions to computer device 10
through one or more corresponding input devices 32. Examples of
such input devices include a keyboard and alternate input devices,
such as a mouse, trackball, light pen, stylus, or other pointing
device, a microphone, a joystick, a game pad, a satellite dish, a
scanner, a camcorder, a digital camera, a touch screen, and the
like. Similarly, examples of input interfaces 20 that may be used
to connect the input devices 32 to the system bus 12 include a
serial port, a parallel port, a game port, a universal serial bus
("USB"), an integrated circuit, a firewire (IEEE 1394), or another
interface. For example, in some embodiments input interface 20
includes an application specific integrated circuit (ASIC) that is
designed for a particular application. In a further embodiment, the
ASIC is embedded and connects existing circuit building blocks.
[0060] One or more output interfaces 22 may be employed to connect
one or more corresponding output devices 34 to system bus 12.
Examples of output devices include a monitor or display screen,
lights, a speaker, a printer, a multi-functional peripheral, and
the like. A particular output device 34 may be integrated with or
peripheral to computer device 10. Examples of output interfaces
include a video adapter, an audio adapter, a parallel port, and the
like.
[0061] One or more network interfaces 24 enable computer device 10
to exchange information with one or more other local or remote
computer devices, illustrated as computer devices 36, via a network
38 that may include hardwired and/or wireless links. Examples of
network interfaces include a network adapter for connection to a
local area network ("LAN") or a modem, wireless link, or other
adapter for connection to a wide area network ("WAN"), such as the
Internet. The network interface 24 may be incorporated with or
peripheral to computer device 10. In a networked system, accessible
program modules or portions thereof may be stored in a remote
memory storage device. Furthermore, in a networked system computer
device 10 may participate in a distributed computing environment,
where functions or tasks are performed by a plurality of networked
computer devices.
[0062] Thus, while those skilled in the art will appreciate that
embodiments of the present invention may be practiced in a variety
of different environments with many types of system configurations,
FIG. 2 provides a representative networked system configuration
that may be used in association with embodiments of the present
invention. The representative system of FIG. 2 includes a computer
device, illustrated as client 40, which is connected to one or more
other computer devices (illustrated as client 42 and client 44) and
one or more peripheral devices 46 across network 38. While FIG. 2
illustrates an embodiment that includes a client 40, two additional
clients, client 42 and client 44, one peripheral device 46, and
optionally a server 48, which may be a print server, connected to
network 38, alternative embodiments include more or fewer clients,
more than one peripheral device 46, no peripheral devices 46, no
server 48, and/or more than one server 48 connected to network 38.
Other embodiments of the present invention include local,
networked, or peer-to-peer environments where one or more computer
devices may be connected to one or more local or remote peripheral
devices. Moreover, embodiments in accordance with the present
invention also embrace a single electronic consumer device,
wireless networked environments, and/or wide area networked
environments, such as the Internet, accessible via any desirable
connection, such as cellular, satellite, and other network
connections.
[0063] Similarly, embodiments of the invention embrace cloud-based
architectures where one or more computer functions are performed by
remote computer systems and devices at the request of a local
computer device. Thus, returning to FIG. 2, the client 40 may be a
computer device having a limited set of hardware and/or software
resources. Because the client 40 is connected to the network 38, it
may be able to access hardware and/or software resources provided
across the network 38 by other computer devices and resources, such
as client 42, client 44, server 48, or any other resources. The
client 40 may access these resources through an access program,
such as a web browser or a dedicated program, and the results of
any computer functions or resources may be delivered through the
access program to the user of the client 40. In such
configurations, the client 40 may be any type of computer device or
electronic device discussed above or known to the world of cloud
computing, including traditional desktop and laptop computers,
smart phones and other smart devices, tablet computers,
golf-specific devices, or any other device able to provide access
to remote computing resources through an access program.
[0064] FIG. 17A illustrates an embodiment of a satellite-based
navigation system 400. In some embodiments, a satellite-based
navigation system 400 can comprise satellites 410 that orbit the
Earth 402 and transmit navigation signals 420 that relay the
satellites' current time and position. A receiver 430 can receive
the transmitted navigation signals 420 and can perform calculations
to determine the receiver location 440 of the receiver 430 on Earth
402. In other embodiments, a satellite-based navigation system 400
can comprise a constellation of satellites 410 that are configured
to orbit the Earth 402 such that the receiver 430 can receive
signals from at least four satellites 410 at any one time. In yet
other embodiments, the satellite constellation can comprise
additional satellites 410 to increase the number of navigation
signals 420 that the receiver 430 can receive to improve the
determination of the receiver location 440. In some embodiments,
the receiver location 440 can comprise longitude and latitude
positions. In other embodiments, the receiver location 440 can
comprise altitude positions.
[0065] In some embodiments, each satellite 410 can transmit a
navigation signal 420 that comprises the orbital data (from which
the satellite's position can be calculated) and the precise time
that the signal was transmitted. In other embodiments, the
navigation signal 420 can comprise a carrier frequency with
modulation that includes a known pseudorandom code and a time of
transmission. In yet other embodiments, the receiver 430 can
calculate a time of flight by aligning the pseudorandom code and
comparing the time of transmission to determine a distance to a
satellite 410. The receiver 430 can determine the distance to at
least four satellites 410 and can use the known positions of the
satellites 410 to compute the receiver location 440.
[0066] In some embodiments, satellite-based navigation systems 400
can comprise a global navigation satellite system (GNSS) comprising
a satellite constellation with global coverage. Global navigation
satellite systems can include Global Positioning System (GPS),
GLONASS, Galileo, COMPASS/Beidou2, IRNSS, and/or Quasi-Zenith
Satellite System (QZSS). In other embodiments, satellite-based
navigation systems 400 can include regional satellite navigation
systems comprising satellite constellations with regional
coverage.
[0067] GPS is a United States-sponsored satellite-based navigation
system 400 with a constellation of 32 medium Earth orbit
satellites. GPS satellites transmit an L1 carrier signal carrying
the C/A (civilian access or coarse acquisition) code and the L2
carrier. Newer GPS satellites can also transmit an L2C signal and
an L5 signal. GLONASS is a Russian satellite-based navigation
system 400 comprising a constellation of 22 satellites. GLONASS
satellites transmit two different frequencies for each satellite
(frequency division multiple access or FDMA signals). Newer GLONASS
satellites can transmit a new CDMA signal called L3 as well as FDMA
signals and CDMA signal on L1 and L2 bands. Galileo is a
satellite-based navigation system 400 sponsored by the European
Union. Galileo satellites can transmit L1 and L5-like signals that
are compatible with GPS receivers. Galileo will include an Open
Service (OS) that will offer E1 and E5 signals that are similar to
L1 and L5. However, the E5 signal resolution will be as much as
three times that of GPS L1. China's satellite-based navigation
system 400, COMPASS/Beidou2, is a regional system that comprises
nine satellites that transmit on four carrier frequency bands.
Quasi-Zenith Satellite System (QZSS) is a Japanese-sponsored
satellite-based navigation system 400 that provides high elevation
satellites to overcome problems with receiving navigation signals
in urban canyons. The first QZSS satellite broadcasts L1 and L2C
signals with the capacity to broadcast L1C and L5 signals. The QZSS
system will comprise additional satellites and become a regional
satellite-based navigation system.
[0068] In some embodiments, satellite-based navigation systems 400
can further comprise augmentation systems to enhance positioning
accuracy and integrity monitoring. In other embodiments,
augmentation of satellite-based navigation systems 400 can comprise
methods of improving accuracy, reliability, and/or availability by
integrating external information into the calculation process. In
yet other embodiments, this external information can comprise
additional information about sources of error such as clock drift,
ephemeris, or ionospheric delay. In some embodiments, augmentation
systems can comprise satellite-based augmentation systems (SBAS).
SBAS systems can comprise a ground-based control segment which
provides corrections between satellite-calculated position
determination and actual position. These corrections can be
broadcast to geostationary satellites that can then transmit the
corrections to receivers. The receivers can then apply the
corrections to the satellite-calculated position determination to
enhance accuracy of the determined location. In yet other
embodiments, SBAS systems can include US Wide Area Augmentation
System (WAAS) that broadcasts an extra GPS signal along with the
correction signals to achieve differential GPS corrected
positioning. In some embodiments, SBAS systems can include EGNOS
(European Geostationary Navigation Overlay Service) and Japan's
MSAS (Multi-functional Satellite Augmentation System). In some
embodiments, satellite-based augmentation systems (SBAS) can
comprise wide-area DGPS (WADGPS). In some embodiments,
satellite-based augmentation systems (SBAS) can comprise Wide Area
GPS Enhancement (WAGE), StarFire navigation system (operated by
John Deere), Starfix DGPS System (operated by Fugro), and/or
OmniSTAR system (operated by Fugro).
[0069] In some embodiments, satellite-based navigation systems 400
can further comprise ground based augmentation systems (GBAS) to
enhance positioning accuracy and integrity monitoring. In other
embodiments, satellite-based navigation systems 400 can further
comprise ground based regional augmentation systems (GRAS) to
enhance positioning accuracy and integrity monitoring. GBAS and
GRAS systems can comprise a ground-based control segment which
provides corrections between satellite-calculated position
determination and actual position. These corrections can be
broadcast to receivers that apply the corrections to the
satellite-calculated position determination to enhance accuracy of
the determined location. In yet other embodiments, GBAS and GRAS
systems can transmit the corrections through terrestrial radio
signals. In some embodiments, GBAS systems can transmit corrections
through VHF or UHF bands. In other embodiments, GRAS systems can
transmit corrections through VHF bands. In yet other embodiments,
GBAS systems can comprise International Civil Aviation
Organization, Ground-based Augmentation System, Local Area
Augmentation System (LAAS), US Nationwide Differential GPS System
(NDGPS), and/or differential GPS (DGPS) systems.
[0070] In some embodiments, the satellite-based system may be
augmented by precise point positioning (PPP). In PPP, an
augmentation system has information on the exact positions and
clock errors of satellites 410. This information on the exact
positions and clock errors of satellites 410 can be transmitted to
receivers 420 to be used to enhance accuracy of the location
determination. In other embodiments, this information on the exact
positions and clock errors of satellites 410 can be transmitted to
receivers 420 via the Internet.
[0071] FIG. 17B illustrates an embodiment of a Real Time Kinematic
(RTK) satellite-based navigation system 401. In some embodiments,
an RTK system 401 can provide enhanced position data as compared to
satellite-based navigation systems alone. In other embodiments, RTK
systems 401 can comprise satellites 410 that orbit the Earth 402
and transmit navigation signals 430 that relay the satellites'
current time and position. In yet other embodiments, a receiver 420
in an RTK system 401 can receive navigation signals 430 from the
satellites 410 that comprise a pseudorandom code on a carrier wave.
The RTK receiver 420 can use the phase of the carrier wave signal
to determine the receiver location 440 of the receiver 420 on Earth
402. In some embodiments, an RTK system 401 can further comprise a
base station receiver 450. The precise location 460 of the base
station 450 can be determined. The base station 450 can receive
navigation signals 430 from the satellites 410 that comprise a
carrier wave and measure the phase of the carrier wave signal. The
base station 450 can transmit 470 phase measurements of the carrier
wave signal to the RTK receiver 420. In some embodiments, the RTK
receiver 420 can compare the base station phase measurements with
the RTK receiver phase measurements to determine the position 440
of the RTK receiver 420. In other embodiments, the RTK receiver 420
can determine the position 440 of the RTK receiver 420 by comparing
the base station phase measurements with the RTK receiver phase
measurements and by using the precise location 460 of the base
station 450. In some embodiments, the base station 450 can transmit
470 phase measurements of the carrier wave signal to the RTK
receiver 420 with low power spread-spectrum radio signals, UHF/VHF
radio signals, GSM/CDMA phone network signals, and/or RTK network
signals. In other embodiments, the base station 450 can transmit
470 phase measurements of the carrier wave signal to the RTK
receiver 420 via the Internet.
[0072] In yet other embodiments, an RTK system 401 can determine
the position 440 of the RTK receiver 420 to within 30 cm. In some
embodiments, an RTK system 401 can determine the position 440 of
the RTK receiver 420 to within 10 cm. In other embodiments, an RTK
system 401 can determine the position 440 of the RTK receiver 420
to within 5 cm. In other embodiments, an RTK system 401 can
determine the position 440 of the RTK receiver 420 to within 2 cm.
In other embodiments, an RTK system 401 can determine the position
440 of the RTK receiver 420 to within 1 cm. In other embodiments,
an RTK system 401 can determine the position 440 of the RTK
receiver 420 to within 4 mm.
[0073] In some embodiments, an RTK system 401 can determine the
position of the ball 330 to within 30 cm. In other embodiments, an
RTK system 401 can determine the position of the ball 330 to within
10 cm. In yet other embodiments, an RTK system 401 can determine
the position of the ball 330 to within 5 cm. In some embodiments,
an RTK system 401 can determine the position of the ball 330 to
within 2 cm. In other embodiments, an RTK system 401 can determine
the position of the ball 330 to within 1 cm. In other embodiments,
an RTK system 401 can determine the position of the ball 330 to
within 4 mm. In yet other embodiments, the RTK system 401 can
determine the position of the ball 330 relative to the base station
450 with enhanced accuracy compared to determining the absolute
position of the ball 330 on Earth 402. In some embodiments,
determining the position of the ball 330 relative to the base
station 450 can be more effective for determining recommended swing
parameters because the position of the base station 450 relative to
the green 300 and the hole 322 can be known.
[0074] FIG. 18 illustrates a perspective view of green 300 to
describe how ball marker 101 uses position module 201 to determine
the position of ball 330 relative to the green 300 and relative to
the position of the hole 322. Ball marker 101 can include an
indication for orienting the ball marker in the appropriate
position. As shown in FIG. 5, the indication can be an arrow 510
contained or displayed on ball marker 101 that is aligned with hole
322 when the ball marker 101 is placed behind the ball 330. This
indication can define the line 503 between the ball 330 and the
hole 322. In other embodiments, ball marker 101 can have a
particular shape (e.g. a triangular shape) or other feature that
defines the indication. The ball marker 101 can be appropriately
oriented behind the ball 330 so that the indication is pointing
towards the hole 322 and the ball marker 101 can be activated to
determine the position of the ball 330. In some embodiments the
ball marker 101 can be activated by activating positioning module
201 to determine the position of the ball 330. Although FIG. 5
shows ball 330 being left on the putting surface 310 during the
placement and activation of ball marker 101, in some embodiments,
ball 330 can be picked up after being marked by ball marker
101.
[0075] In some embodiments, the positioning module 201 can
determine the position of the ball 330 by Real Time Kinematic
satellite-based navigation. The positioning module 201 can comprise
an RTK receiver 420 configured to receiver navigation signals 420
from a constellation of satellites 410. In other embodiments, the
positioning module 201 can receive navigation signals 420 from the
satellites 410 that comprise a pseudorandom code on a carrier wave.
The positioning module 201 can use the phase of the carrier wave
signal to determine the location 440 of the ball 330 on the green
300. In some embodiments, a base station 450 can be used by
positioning module 201 to determine the position of the ball 330.
The precise location 460 of the base station 450 can be determined.
The base station 450 can receive navigation signals 430 from the
satellites 410 that comprise a carrier wave and measure the phase
of the carrier wave signal. The base station 450 can transmit 470
phase measurements of the carrier wave signal to the ball marker
201. In some embodiments, the ball marker 101 can compare the base
station phase measurements with the positioning module 201 phase
measurements to determine the position 440 of the ball 330. In
other embodiments, the ball marker 101 can determine the position
440 of the ball marker 101 by comparing the base station phase
measurements with the positioning module 201 phase measurements and
by using the precise location 460 of the base station 450.
[0076] In some embodiments, the base station 450 can be located on
the golf course relative to a known, fixed landmark such as a
sprinkler head. In other embodiments, the base station 450 can be
provided by the golfer and can be affixed to a known, fixed
landmark before beginning play and remain in the fixed location
during play. In yet other embodiments, the base station 450 can be
provided by the golfer and affixed to a known, fixed landmark at
each green 300.
[0077] In some embodiments, the ball receiver 101 can use
positioning module 201 to determine the ball position based on a
satellite-based navigation system 400 without RTK. In other
embodiments, the ball receiver 101 can use positioning module 201
to determine the ball position based on satellite-based
augmentation systems (SBAS). In yet other embodiments, the ball
receiver 101 can use positioning module 201 to determine the ball
position based on wide-area DGPS (WADGPS). In some embodiments, the
ball receiver 101 can used positioning module 201 to determine the
ball position based on ground based augmentation systems (GBAS). In
other embodiments, the ball receiver 101 can used positioning
module 201 to determine the ball position based on ground based
regional augmentation systems (GRAS). In yet other embodiments, the
ball receiver 101 can be used positioning module 201 to determine
the ball position based on International Civil Aviation
Organization, Ground-based Augmentation System, Local Area
Augmentation System (LAAS), US Nationwide Differential GPS System
(NDGPS), and/or differential GPS (DGPS) systems. In some the ball
receiver 101 can be used positioning module 201 to determine the
ball position based on PPP.
[0078] In some embodiments, the golfer can place the ball marker
101 behind the golf ball 330 and can activate the ball marker 101.
Typically, a golfer is required to mark his ball on the green with
some type of ball marker, and therefore, placing ball marker 101
behind ball 330 and activating the ball marker 101 does not require
any additional time than would otherwise be taken by the golfer.
Because ball marker 101 can provide recommended force and direction
information for putting the ball, which the typical golfer would
otherwise spend a significant amount of time determining mentally,
the use of ball marker 101 may not slow play, and in many cases may
even speed play.
[0079] In some embodiments, ball marker 101 can inform the golfer
approximately how hard the putt should be hit and the approximate
direction to aim. This information can be determined and returned
immediately by server system 103 for display on ball marker 101
thereby relieving the golfer from having to spend the time to
figure out this information on his own. The golfer only needs to
view the information on ball marker 101 and play the shot
accordingly.
[0080] In some embodiments, the ball marker 101 determines the
position of the ball 330 on the green 300 by using the positioning
module 201. The position of the ball 330 on the green can then be
transmitted to the server system 103 by the communication module
203. Using this position in combination with the known position of
the hole 322 and the topography of the green 300, server system 103
can calculate the approximate amount of force with which the ball
330 should be hit, and the approximate direction to hit the ball
330. For example, based on the topography of the green 300 between
the position of the ball 330 and the hole 322, server system 103
can determine that the hole 322 is four feet uphill from the ball
330 and that there is a rightward slope of 10 degrees. Server
system 103 can therefore recommend hitting the ball x feet to the
left of the hole (to account for the break to the right) and with a
force y (to account for the uphill slope).
[0081] FIG. 3 illustrates an exemplary computing environment 50 in
which embodiments of the present invention can be implemented.
Computing environment 50 represents one embodiment and
implementation of the present invention; however, as clarified
below, other embodiments and implementations are also possible.
[0082] Computing environment 50 includes a digital compass ball
marker 52 that is connected to a mobile computing device 54 (e.g. a
smart phone) via connection 56. Connection 56 can be a Bluetooth
connection; however, any other type of connection over which two
computing devices can communicate could be used. Mobile computing
device 54 is connected to server system 58 via connection 60.
Connection 60 can be a mobile network data connection; however, any
other type of connection can also be used.
[0083] Mobile computing device 54 can be any type of computing
device that can be carried by the golfer. In one example, mobile
computing device 54 can be the golfer's smart phone having an app
for communicating with ball marker 52 and server system 58. Server
system 58 represents any number and type of interconnected server
computing resources. For example, server system 58 can represent a
cloud of computing resources or a single server. Accordingly, the
particular architecture of mobile computing device 54 and server
system 58 is not essential to the illustration of the
invention.
[0084] In an example of usage, a golfer will carry ball marker 52
and mobile computing device 54 onto the green, and use ball marker
52 to mark his ball. Ball marker 52 communicates information to
mobile computing device 54 which is routed to server system 58.
Server system 58 uses the information to calculate the force and
direction information for the shot and routes this information back
to ball marker 52 via mobile computing device 54. Ball marker 52
can then display the force and direction information to the golfer
to assist the golfer in playing the shot.
[0085] In another example of usage, a golfer will carry ball marker
52 and mobile computing device 54 onto the golf course. Prior to
entering the golf course, mobile computing device 54 communicates
with server system 58 and obtains any and all information necessary
to provide the functionality discussed herein. Mobile computing
device 54 uses information obtained from the server system 58 prior
to the round along with information communicated from ball marker
52 to calculate the force and direction information for the shot,
and either communicates this information directly to the user via a
display of mobile computing device 54, or communicates this
information back to ball marker 52 for display to the golfer.
[0086] FIG. 4 illustrates an exemplary embodiment of ball marker 52
in further detail. As shown, ball marker 52 can include a compass
module 62, an input module 64, and a communication module 66.
Compass module 62 can be used to determine an angle from true (or
magnetic) north at which the ball marker 52 is placed. The role of
compass module 62 will be further described below. Input module 64
comprises any type of logic or circuitry for receiving user input.
For example, input module 64 can comprise components for receiving
user input via a touch screen, buttons, wheels, speech, etc.
Similarly, communication module 66 can comprise any type of logic
or circuitry for communicating with another computing device such
as mobile computing device 54. For example, communication module 66
can include components for communicating using Bluetooth, Wi-Fi,
Infrared, NFC, or any other suitable type of communication
protocol.
[0087] In some embodiments, compass module 62 can include
magneto-inductive technology that is used to determine true north.
In some embodiments, compass module 62 comprises a magnetometer
such as a 3-axis tilt compensated compass (e.g. the OS4000 Nano
Compass which is available from OceanServer Technology, Inc.).
[0088] Compass module 62 may further comprise circuitry and
components to electronically sense the difference in the Earth's
magnetic field from a disturbance caused by external elements, such
as ferromagnetic materials and any magnetic field generated by the
remaining components of ball marker 52. For example, in some
embodiments compass module 62 further comprises an embedded
microcontroller that determines and subtracts any magnetic
distortions from the stronger earth magnetic field thereby
resulting in a highly accurate true north reading.
[0089] Referring now to FIG. 5, a cross-sectional side view of a
green 70 is shown. Green 70 generally comprises a putting surface
72 having a hole 74 marked by a flagstick or pin 76. Putting
surface 72 comprises grass that is cut very short so that a golf
ball 78 may roll for a long distance. Putting surface 72 may
further include various physical contours, such as slopes or grades
which are designed to challenge the player in placing the ball 78
into hole 74. Accordingly, a player must account for the physical
contours of putting surface 72 when putting ball 78 into hole
74.
[0090] To accurately provide swing parameters (e.g. force and
direction information) for putting ball 78 into hole 74, several
items of information are useful: (1) the position of ball 78 on
green 70; (2) the position of hole 74 on green 70; (3) the
topography of green 70 (e.g. the slope of putting surface 72
between ball 78 and hole 74); (4) current characteristics of the
putting surface 72 (e.g. moisture, hardness, softness, etc. or any
other information useful in determining how "fast" the putting
surface 72 is currently behaving). Embodiments and implementations
of the present invention enable the quick determination of the
information and the calculation of recommended swing parameters in
an accurate manner without slowing play.
[0091] Specifically, the topography of green 70 and the position of
hole 74 can be preprogrammed into server system 58 (because the
topography should remain constant and the position of hole 74 is
changed relatively infrequently and can be updated accordingly).
Such information can be used by server system 58 or may be
downloaded to mobile computing device 54 at any time prior to using
the information to determine and provide swing parameters. In
contrast, the position of ball 78 is different for each golfer.
Accordingly, ball marker 52 can be used to determine the position
of ball 78 on green 70. In one type of embodiment, the
determination of the position of ball 78 can use two types of data:
(1) the angle from true north formed by a line between the ball 78
and the hole 74; and (2) the distance between ball 78 and hole 74.
The determination of the position of ball 78 can be made by any
other desired method.
[0092] FIG. 6 illustrates a top view of green 70 to illustrate how
ball marker 52 may use compass module 62 to determine an angle 80
from true north 82 formed by a line 84 between the ball 78 and the
hole 74. Ball marker 52 can include an indication for orienting the
ball marker in the appropriate position. As shown in FIG. 6, the
indication can be an arrow 86 contained or displayed on ball marker
52 that is aligned with hole 74 when the ball marker is placed
behind the ball. This indication can define the line 84 between the
ball 78 and the hole 74. In other embodiments, ball marker 52 can
have a particular shape (e.g. a triangular shape) or other feature
that defines the indication. Where the indication is displayed on
ball marker 52, it may be displayed permanently or temporarily.
[0093] When ball marker 52 is appropriately oriented behind the
ball 78 so that the indication is pointing towards the hole 74, an
angle 80 between true north 82 and the line 84 defined when the
ball marker 52 is thus oriented can be reported by ball marker 52
to mobile computing device 54. For example, as shown in FIG. 6, the
line 84 defines an angle of approximately forty degrees from true
north which can be reported by ball marker 52 to mobile computing
device 54. Although FIG. 4 shows ball 78 being left on the putting
surface during the placement of ball marker 52, ball 78 may be
picked up after being marked by ball marker 52.
[0094] Next, the distance between the ball 78 and the hole 74 can
be obtained in any of a variety of ways. In one embodiment, the
distance can be obtained from the golfer as an estimate. For
example, the golfer can view the distance, step off the distance,
measure the distance with a separate device, etc. and provide an
estimate. In this manner, the distance can be quickly and easily
provided so that the rate of play is not slowed when ball marker 52
is used. In some embodiments, the distance can also be provided
using mobile computing device 54, such as using a range finder of
mobile computing device 54 or using one or more photographs as
further described below.
[0095] FIG. 7 illustrates an exemplary configuration of ball marker
52 that can be used to receive golfer input of an estimated or
measured distance. In FIG. 7, ball marker 52 is shown as having
three input buttons 90-94 and a display 96 that displays a distance
98 (which is shown as being 59 ft.). Buttons 90-94 can be pressed
to input or modify distance 98.
[0096] For example, in one exemplary configuration, button 90 can
be pressed to switch between modes for entering distance and for
requesting an angle. Prior to placing ball marker 52 behind ball
78, the estimated distance can be input such as by using buttons 92
and 94. For example, button 92 can be used to change the value of
the most significant digit of distance 98 (five in this case), and
button 94 can be used to change the value of the least significant
digit of distance 98 (nine in this case). Alternatively, in a
different configuration, button 92 can be used to increase distance
98, and button 94 can be used to decrease distance 98.
[0097] As described above, buttons 90-94 are only one way in which
input can be provided to ball marker 52, and any other type of
input device or means can also be used. For example, display 96 can
be a touch display so that no buttons or other input controls are
required. In other cases, a combination of buttons or other input
controls and a touch screen can also be provided. Similarly, ball
marker 52 can be configured to accept speech input in some
embodiments. Accordingly, ball marker 52 can receive user input of
an estimated distance in any appropriate manner. Alternatively,
distance information may be input via mobile computing device
54.
[0098] Once a distance is input, ball marker 52 can be placed
behind the ball 78, as shown in FIGS. 5 and 6, after which the ball
78 may be removed from the green 70. Referring specifically to the
example in FIG. 7, after a distance is input, button 90 can be
pressed to switch to the mode for acquiring an angle. In this mode,
ball marker 52 can use compass module 62 to determine an angle from
true north and submit the determined angle and the distance input
by the golfer to server system 58 via mobile computing device 54,
or simply to mobile computing device 54. In some embodiments,
compass module 62 can be configured to detect the angle once ball
marker 52 has been at rest for a specified duration of time or in
response to input from the golfer (which would allow the golfer to
align the indication with the hole 74 prior to the angle
determination being made). Once the angle is determined by compass
module 62, ball marker 52 can be picked up or otherwise removed
from the putting surface 72.
[0099] As can be seen, in this manner ball marker 52 only requires
the golfer to input an estimated distance and then place the ball
marker 52 behind the golf ball 78. Often, a golfer chooses or is
required to mark his ball 78 on the green 70 with some type of ball
marker, and therefore, placing ball marker 52 behind ball 78 does
not require any additional time than would otherwise be taken by
the golfer.
[0100] Using embodiments and implementations of the present
invention, the only additional step required of the golfer is the
input of an estimated distance. However, because ball marker 52 can
provide recommended force and direction information for putting the
ball 78, which the typical golfer would otherwise spend a
significant amount of time determining mentally, the use of ball
marker 52 may not slow play, and in many cases may even speed
play.
[0101] For example, as will be more fully described below, ball
marker 52 or mobile computing device 54 can inform the golfer
approximately how hard the putt should be hit and the approximate
direction to aim. This information can be determined and returned
immediately by server system 58 for display on ball marker 52 or
mobile computing device 54 thereby relieving the golfer from having
to spend the time to figure out this information on his own.
Alternatively, the information can be determined by mobile
computing device 54 without reliance on server system 58, and can
be displayed on mobile computing device 54 or transmitted to ball
marker 52 for display. The golfer only needs to view the
information on ball marker 52 or mobile computing device 54 and
play the shot accordingly.
[0102] Using the measured or estimated distance input by the golfer
and the angle calculated by compass module 62, server system 58
and/or mobile computing device 54 can accurately determine the
position of the ball 78 on the green 70. Using this position in
combination with the known position of the hole 74 and the
topography of the green 70, server system 58 and/or mobile
computing device 54 can calculate the approximate amount of force
with which the ball 78 should be hit, and the approximate direction
to hit the ball 78. For example, based on the topography of the
green 70 between the position of the ball 78 and the hole 74,
server system 58 and/or mobile computing device 54 might determine
that the hole 74 is four feet uphill from the ball 78 and that
there is a rightward slope of ten degrees. Server system 58 and/or
mobile computing device 54 can therefore recommend hitting the ball
78 X feet to the left of the hole 74 (to account for the break to
the right) and with a force Y (to account for the uphill
slope).
[0103] FIG. 8 illustrates an exemplary display of recommended force
and direction information on ball marker 52. As shown, given an
estimated distance of fifty-nine feet and the other known
parameters, server system 58 and/or mobile computing device 54 has
recommended that the putt be hit with a force of sixty-five feet
(i.e. with a force that would result in the ball moving sixty-five
feet over a flat green) and at three feet to the left of the hole
78. While FIG. 8 illustrates the information being displayed on
ball marker 52, the information could similarly be displayed on
mobile computing device 54.
[0104] In some embodiments, server system 58 and/or mobile
computing device 54 can also provide recommended force and
direction information for other distances around the estimated
distance. For example, because the estimate is likely not to be
perfectly accurate, server system 58 and/or mobile computing device
54 can calculate recommended force and direction information for
distances of fifty-six, fifty-seven, fifty-eight, sixty, sixty-one,
and sixty-two feet using the same determined angle. FIG. 9
illustrates an exemplary display that includes recommended swing
parameters for multiple distances. The number of distances for
which swing parameters are recommended can be a user configurable
parameter or may vary based on the topography of the green 70.
[0105] In this way, the golfer can easily see if a change in the
estimated distance will result in a significant change in the
recommended shot. For example, if a significant break existed at 60
feet from the hole but not at 58 feet from the hole (as shown in
FIG. 9 by the eleven-inch difference between the recommended aim
for fifty-eight feet and sixty feet), the golfer could see the
significant difference between recommended force/distance
information and adjust his shot accordingly. However, if the
force/distance information changed essentially linearly with the
estimated distance, the golfer might not be too concerned that
following recommended information for the wrong distance will give
undesirable results.
[0106] While certain embodiments may minimize the chance that the
use of such embodiments will slow the rate of play, embodiments of
the present invention can also be implemented with other
variations. For example, in some embodiments, ball marker 52 may
not include input or display capabilities. In such cases, mobile
computing device 54 can be used to receive the golfer's estimated
distance, and to display the recommended force/direction parameters
to the golfer. Ball marker 52 can include compass module 62 that
determines an angle as described above and communication module 66
that relays this angle to mobile computing device 54. Accordingly,
in such embodiments, the ball marker 52 is placed in the same
manner as described above, but the golfer interfaces with mobile
computing device 54 to input the estimated distance and to view
recommended swing parameters.
[0107] Also, even in embodiments as described above where the ball
marker 52 includes input and display capabilities, the golfer may
choose to use either ball marker 52 or mobile computing device 54
to provide input and to view recommended swing parameters. Using
mobile computing device 54 may at times be less desirable because
it may tend to slow the rate of play, although the golfer may also
obtain information while waiting for other golfers without any
slowing of the rate of play.
[0108] In other embodiments, ball marker 52 can include
functionality so that a separate mobile computing device 54 is not
required. In such cases, ball marker 52 can include functionality
to directly communicate with server system 58. For example, ball
marker 52 can communicate directly over a mobile data network, a
Wi-Fi network, or another type of network providing direct access
to server system 58 (e.g. via a network such as the Internet). In
some embodiments, a golf course may desire to place routers or
other access points within proximity of a green to allow ball
marker 52 to use Wi-Fi communications to transfer information to
and receive information from server system 58. Of course, other
communication protocols could also be used in a similar manner.
[0109] In further embodiments, it is also possible that ball marker
52 or mobile computing device 54 contain sufficient processing
power and storage to perform the functions of server system 58
described above. In such cases, ball marker 52 (or ball marker 52
in communication with mobile computing device 54) would not need to
communicate with any other computing device, but could calculate
recommended force/direction parameters using stored hole location
and topography information in conjunction with an input estimated
distance and determined angle. The improvements in methods to
calculate swing parameters discussed in more detail below permit
rapid and less computing-resource-intensive determination of swing
parameters. Thus, it should be emphasized that the embodiments and
implementations of the invention should not be limited to any
particular computer environment or architecture.
[0110] In other variations, the calculation and provision of
recommended force/direction information can be accomplished using
only GPS data. Current GPS devices generally lack the precision
necessary to provide useful force/direction recommendations
(because even minor errors in detecting or determining location can
result in relatively useless data). However, advances in GPS
technology that improve the accuracy of determining the exact
location of a ball (e.g. within inches of the exact location) would
enable a ball marker 52 or mobile computing device 54 to be used
that detects its position using GPS data alone. In other words, the
force/direction information could be calculated as described above
using the known location of the hole 74 and topography in
conjunction with a position of the ball 78 reported by the ball
marker 54 and/or mobile computing device using GPS coordinates.
Additionally or alternatively, current or future GPS data could be
combined with other location triangulation signals, such as signals
provided by the golf course and received by ball marker 52 and/or
mobile computing device 54.
[0111] In some embodiments, rather than requiring the golfer to
input an estimated distance, the distance between a ball and the
hole can be estimated using stereophotogrammetry techniques.
Stereophotogrammetry is a sophisticated technique which involves
estimating the three-dimensional coordinates of the ball 78 and the
hole 74 on the putting surface 72 using a photograph that includes
the ball 78 and the pin 76 (or flagstick). In such embodiments,
mobile computing device 54 can be used to take a photograph with
sufficient resolution to allow mobile computing device 54 and/or
server system 58 to calculate the distance using the pixels of the
photo. This calculation could also employ the angle determined
using compass module 62 in the manner described above and/or other
information contained in the photograph. In some cases, GPS
coordinates can also be used to enhance this calculation.
[0112] The photograph can be taken in various ways such as: (1)
from behind the ball 78 in approximate alignment with the pin 76 at
a distance which captures both the pin 76 and the ball 74 within
the field of view; (2) from between the ball 78 and hole 74 at a
distance which captures both the pin 76 and the ball 78 within the
horizontal field of view; or (3) from over top of the ball 78 which
captures the pin 76 but not the ball 78. In some embodiments,
multiple photographs can be taken and analyzed using
stereophotogrammetry techniques.
[0113] In cases where the photograph is taken of only the pin 76,
known parameters about the height of the camera when taking the
picture can be used in the stereophotogrammetry calculations. For
example, the golfer can take a photograph with the camera
positioned at chest level. Prior to taking the picture (e.g. when
registering an account), the golfer can specify his height or a
height at which he holds mobile computing device 54 when taking a
picture. This height can then be used in the calculation.
[0114] When calculating the optimal putt swing speed, it may be
desirable to compensate for the weight or "mass" of the golfer's
putter. Accordingly, in some embodiments, ball marker 52 and/or
mobile computing device 54 further comprises an input field where
the golfer is prompted to enter a value which indicates the mass of
the golfer's putter (e.g. by directly inputting the mass, by
inputting the putter model, etc.).
[0115] Ball marker 52 and/or mobile computing device 54 can also be
configured to determine or receive other variable parameters that
may affect a putt such as wind speed, grass length, humidity, etc.
In some embodiments, one or more of these additional parameters can
be reported to server system 58 and/or mobile computing device 54
and be used in the calculation of the recommended swing
parameters.
[0116] In some embodiments, the systems of embodiments or
implementations of the present invention further include a user
database which is configured to record and store putt data and
other calculations determined by ball marker 52 and mobile
computing device 54 during the golfer's round of golf and/or during
the rounds of golf of other golfers. For example, in some
embodiments information received and calculated by ball marker 52
and/or mobile computing device 54 is uploaded to a database which
is made available to the golfer for subsequent analysis and
record-keeping. For example, a golfer may be required to register
or subscribe to a database service to gain access to the golfer's
putt data. Alternatively, mobile computing device 54 may include a
database software application which is configured to automatically
store and update the golfer's putt data in real-time. Further
still, in some instances a database is provided which is part of a
social network where the golfer's putt data (e.g. the length of
putts and ball orientation) is posted and made available for public
viewing and comment. The golfer's putt data may further be updated
to a community website that is provided for tracking a golfer's
progress or activity. The golfer's putt data may further include a
topographical image of green 70, thereby providing a visual
representation of the golfer's putt data.
[0117] In some embodiments, mobile computing device 54 (or server
system 58) analyzes the golfer's putt data to learn green 70 and
thereby modify putt instructions for the golfer and/or for other
golfers based upon the precise position of the ball 78. Thus,
mobile computing device 54 (or server system 58) comprises learning
capabilities. In some embodiments, the learning capabilities of
mobile computing device 54 further analyze and learn the mechanics
or tendencies of the golfer's club swing and thereby modify the
putt instructions to compensate for the golfer's style and/or
skills.
[0118] In some embodiments, the systems and devices of the present
invention are further used in combination with a swing speed
trainer which is designed to assist the golfer in learning and/or
adjusting his swing speed. A swing speed trainer may include a
software application and hardware which analyzes a golfer's golf
swing and swing speed in real-time during the golfer's putting
practice. For example, in some instances a swing speed trainer is
provided having portable hardware for following the golfer's swing
using six degrees of freedom to detect detailed results of each
putter stroke in real-time. As such, the swing speed trainer may
provide the golfer with practice swing information such as the
degree to which the given swing at a planned point of impact was
open, closed, forward of the putter sweet spot, behind the sweet
spot, lofted or de-lofted. This information may be used in
combination with the information derived by ball marker 52 and
mobile computing device 54 to provide the golfer with accurate and
personalized ball line and swing speed values to assist the golfer
in taking each putt stroke.
[0119] Golf courses often change the hole location on the greens.
Therefore, each time a hole location is moved, it is necessary to
update the known hole location used by server system 58, mobile
computing device 54, and/or ball marker 52. This can be
accomplished in a variety of ways. When the topography of the green
is determined, the location of one or more fixed features (e.g.
sprinkler heads) around the green can be determined and stored with
the topography information. Then, each time a new hole location is
selected, a tripod (or similar device) can be placed over top of
the fixed feature and used to identify the precise location of the
new hole location.
[0120] The calculation of the new hole location can be performed in
a similar manner as described above with respect to determining the
position of the ball on the green. That is to say, the tripod can
be placed so that it aims directly at the new hole location. An
insert can be placed in the new hole location to assist in aiming
the tripod towards the new hole location. The tripod can contain a
compass module (similar to compass module 62) that determines an
angle from true north at which the tripod is placed, and can
contain a distance calculation module (e.g. a laser distance
measurement device) that accurately determines the distance between
the fixed feature and the new hole location (i.e. the insert in the
new hole location). The angle and distance can be uploaded to
server system 58, mobile computing device 54, and/or ball marker 52
which calculates a new hole location using the known location of
the fixed feature.
[0121] Of course, this process could also be performed in reverse
by placing the insert (or its equivalent) over top of the fixed
feature and placing the tripod overtop of the new hole location.
The server system 58 could be notified of where the measurements
were taken to allow the appropriate calculation.
[0122] Alternatively, rather than placing the tripod over top of
the fixed feature each time the hole location is updated, the old
hole location can be used as the known location for calculating the
new hole location. In other words, because server system 58 already
knows the old hole location, the new location can be determined
using the angle and distance parameters with respect to the old
hole location.
[0123] For example, the tripod can be placed over top of the old
hole location and positioned with respect to the new hole location
as described above (i.e. by aiming it towards the insert and
determining the distance). The angle and distance can be reported
to server system 58, mobile computing device 54, and/or ball marker
52 which can calculate the new hole location accordingly. Again,
this process could also be performed in reverse by placing the
tripod over the new hole location and placing the insert in the old
hole.
[0124] In some embodiments, the golf course can be provided with
the option to update the hole location using any of the above
described approaches. In such cases, the tripod or other device
used to submit angle and distance information to server system 58,
mobile computing device 54 and/or ball marker 52 can include the
ability to specify which locations (e.g. fixed feature, old hole,
or new hole locations) were used to obtain the angle and distance.
While the hole location information may be determined and received
using the methods discussed above, the hole location information
may be received using any appropriate methods.
[0125] In summary, a ball marker can be used to submit ball
location to a server system and/or to a mobile computing device in
a quick and efficient manner thereby allowing the quick provision
of swing parameter recommendations so that the pace of play is not
slowed. The ball marker can therefore provide additional enjoyment
to the game of golf by assisting golfers to be more proficient
putters. Further, although the above description has primary
described the use of ball marker to determine putting
recommendations, the same techniques can be applied to provide
swing recommendations for other types of shots onto the green such
as chipping and pitching. For example, by determining the position
of a ball next to or near the green, the system could provide swing
parameter recommendations that account for the green topography
when the golfer is chipping or pitching onto the green.
[0126] FIG. 10 illustrates a flowchart of an exemplary method 100
for generating recommended swing parameters for putting a golf ball
on a green. Method 100 can be implemented by a computing device
such as a golfer's smart phone or other device carried by the
golfer. Method 100 includes an act 102 of receiving, from a digital
compass ball marker that is placed on a green, proximate to a ball
lying on the green, in an orientation that defines a line between
the ball marker and a hole in the green, an angle between the line
defined by the orientation and true north. For example, mobile
computing device 54 can receive an angle from ball marker 52 when
or after ball marker has been placed on a green.
[0127] Method 100 includes an act 104 of receiving an indication of
a distance between the ball and the hole. For example, an estimated
distance can be input to ball marker 52 and transmitted to mobile
computing device 54, can be input directly into mobile computing
device 54, or one or more photographs which include the pin and/or
ball can be taken by or provided to mobile computing device 54.
Method 100 further includes an act 106 of submitting the angle and
the indication of the distance to a server system. For example,
mobile computing device 54 can submit the angle and indication of
the distance to server system 58. Method 100 finally includes an
act 108 of receiving, from the server system, recommended swing
parameters for putting the ball into the hole, the recommended
swing parameters being based on the angle, the distance, a known
position of the hole, and known topography of the green. For
example, mobile computing device 54 can receive recommended swing
parameters from server system 58 that can be displayed to the
golfer either on mobile computing device 54 or on ball marker
52.
[0128] While the method illustrated by FIG. 10 utilizes a server
system such as server system 58 to receive information, calculate
swing parameters, and return swing parameter results, the method
may be varied as discussed above. For example, the method may be
varied by having a mobile computing device such as mobile computing
device 54 perform the functions illustrated as being performed by
the server system in FIG. 10. Similarly, another device, such as
ball marker 52 could be tasked with performing the functions
illustrated as being performed by the server system in FIG. 10.
Indeed, the improvements in methods for determining and/or
calculating swing parameters discussed in more detail below will
significantly reduce the computing power necessary to arrive at
such swing parameters, making it more feasible for consumer
electronic devices such as mobile computing device 54 and/or ball
marker 52 to successfully determine and/or calculate such swing
parameters.
[0129] Accordingly, while the method of FIG. 10 is illustrative of
certain embodiments and/or implementations of methods for
generating recommended swing parameters, it should not be deemed
restrictive. Indeed, it will be understood how steps illustrated in
FIG. 10 may need to be modified to account for the omission of a
server system and/or for the omission of a separate mobile
computing device. Similarly, such steps could be modified to
account for the omission of a digital compass ball marker and use
of a mobile computing device only (e.g. through methods such as the
stereophotogrammetry methods discussed above). Finally, it should
be understood that the steps of FIG. 10 have been defined more or
less from the viewpoint or standpoint of the mobile computing
device 52. Similar but modified steps could alternatively be
defined from the viewpoint or standpoint of ball marker 52 and/or
server system 58.
[0130] Current methods for generating recommended swing parameters
generally rely on brute force computational methods to determine
the swing parameters. Solutions to the problem of selecting a putt
path are currently deduced from a multi-variable differential
equation that may have many solutions depending on an initial
starting direction and speed. Solving for an optimal path and its
initial parameters in current fashions can be difficult. A
traditional way of doing this has been to guess an initial speed
and starting direction based on the ball's original starting
location. The initial speed and direction is then adjusted until
the projected path and ending location of the ball is roughly in
the area of the desired end position. The problem is
computationally difficult to solve and is inefficient, since the
initial speed and angle are dependent on each other. The
co-dependence of the initial factors greatly increases the
computational power necessary to determine the recommended swing
parameters. Therefore, current methods for generating recommended
swing parameters are generally inappropriate for performance by
mobile computing devices (e.g. today's smart phones), and users are
required to be connected to external computing resources.
[0131] In some instances, external computing resources may not be
available to a golfer on the golf course. Embodiments of the
invention permit computing of recommended swing parameters without
relying on external computing resources. Thus, for example, a
golfer may be able to determine recommended swing parameters using
only a mobile computing device such as a smart phone or a
golf-specific mobile computing device. Thus, embodiments of the
invention provide methods and means of calculating a path of a golf
ball on a putting surface and methods and means of calculating an
ideal putt direction and speed to cause a golf ball in an initial
location on a putting surface to, when putted, enter a hole in a
putting surface. The on-the-spot computing resources required to
perform methods according to embodiments of the invention are
greatly reduced when methods according to embodiments of the
invention are used, as the putt path problem can be solved quickly
and efficiently using the methods disclosed herein.
[0132] According to methods used by embodiments of the invention,
the putt path problem is reduced to a single variable differential
equation, eliminating the multiple dependent variable equation used
by previous methods. According to such methods, the putt path
problem is reversed, with the hole 74 being treated as the starting
position of the ideal putt path, and with the initial position of
the ball 78 being treated as the ending position of the ideal putt
path. Computationally, the calculation or determination of an ideal
putt path is as if a video of the ideal putt path were played
backwards, with the ball 78 starting at the hole 74 with an
initially relatively slow speed, and with the ball 78 speeding up
until it reaches its initial position. This method reduces the
variables to be considered to, first, the final speed of the ball
78 at the hole 74, and second, the angle at which the ball 78
arrives at the hole 74. Because the ideal speed of the ball 78 at
the hole 74 can be readily determined, the problem effectively
reduces to determining the best angle for the ball 78 to arrive at
the hole 74.
[0133] FIG. 11 illustrates a flowchart of an exemplary method 110
of determining a putt path that will arrive at the hole 78 at a
particular final velocity (angle and speed). The method 110 begins
with step 112, in which the angle from which the ball 74 will
arrive at the hole 78 is selected, determined, or otherwise
received. This angle may be selected using a variety of methods,
some of which will be discussed in more detail below. The method
110 continues with step 114, in which a speed at which the ball 74
is moving when the ball 74 would enter the hole 78 from the
selected direction is determined. According to research, the ideal
speed with which the ball 74 should arrive at the hole 78 would be
the speed at which the ball 74 would roll over an uninterrupted
green (as if the hole 78 weren't there) and roll past the hole 78
approximately seventeen to nineteen inches past the hole 78.
[0134] This initial speed might be varied according to a variety of
factors, therefore the example final distance range of the ball 78
from the hole 74 of approximately seventeen to approximately
nineteen inches might vary, by way of example only, from
approximately fifteen to approximately twenty-one inches, from
approximately thirteen to approximately twenty-three inches, from
approximately eleven to approximately twenty-five inches; from
approximately nine to approximately twenty-seven inches, from
approximately seven to approximately twenty-nine inches, from
approximately five to approximately thirty-one inches, from
approximately three to approximately thirty-three inches, and from
approximately one to approximately thirty-five inches. Factors that
may be considered in selecting the final distance range of the ball
78 from the hole 74, include the angle from which the ball 78 will
arrive, a slope of the putting surface 72 around the hole 74, an
original distance between the initial location of the ball 78 and
the hole 74, a speed of the putting surface 72, other conditions
that may affect an ideal speed with which the ball 78 should arrive
at the hole 74.
[0135] To obtain the speed with which the ball 78 should arrive at
the hole 74 in the chosen direction, it may be assumed that the
hole 74 is located on a plane having no curvature in the area
surrounding the hole 74. This is typically a reasonable assumption,
as in practice holes are generally placed on more planar areas of
greens, rather than along or near curved ridges. The assumption may
therefore be made that the putting surface 72 is nearly planar in a
circle around the hole 74, such as a circle having a radius of
approximately one meter. Then, a simple trigonometric calculation
can be used to calculate the approximate speed of the ball 78 as it
arrives at the hole 74 in the chosen direction.
[0136] Once the speed of the ball 78 as it arrives at the hole 74
has been determined, the method 110 continues at step 116, where
the sum of forces to which the ball 78 is subject when rolling at
the current location is determined. Such forces at least include
the gravitational force exerted on the ball 78 by gravity, the
normal force exerted on the ball 78 by the putting surface 72, and
the rolling frictional force exerted on the ball 78 by the putting
surface 72 as the ball rolls along the putting surface 72. If any
other forces should be taken into account, such as forces exerted
by existing wind conditions, they may also be taken into account.
Research has shown that the rolling frictional force to which a
golf ball is subject at typical putt speeds of up to approximately
four meters per second is largely independent of speed and can be
approximated by a constant. The effect is that a putt path may be
solved in reverse with the same result as a putt path solved in a
forward direction.
[0137] Once the sum of forces to which the ball 78 is subject has
been determined, the method 110 may proceed to step 118, where a
previous location of the ball 78 is calculated and to step 120,
where a previous velocity of the ball 78 is calculated. The
previous location of the ball 78 and the previous velocity of the
ball 78 may be calculated based on the current location (initially
immediately adjacent the hole 74) and the current velocity
(initially the velocity selected in step 114) and further based on
the reverse or opposite of the sum of forces determined in step
116, such as according to the equation acceleration equals force
divided by mass. The steps of calculating the previous location and
previous velocity may be accomplished using any desirable step
size, and may be determined using differential mathematics, as is
known in the art. For example, if only a rough idea of the path to
be calculated is needed (for example when initially selecting for
just a rough idea of the angle at which the ball 78 should arrive
at the hole 74), a step size may be made larger, and if a better
idea of the path to be calculated is needed (for example when
refining the determination of the angle at which the ball 78 should
arrive at the hole 74), a step size may be made smaller. As may be
appreciated, using larger step sizes may result in smaller
computational loads on the computing device performing the method
steps, which may be particularly useful when using computing
devices having limited computational power.
[0138] Once the previous location and the previous velocity have
been determined, the method 110 proceeds to step 122, where a
determination is made as to whether the putt path has been
calculated to a necessary extent. For example, it might be
determined that the putt path should be calculated to a maximum
distance of the edge of the putting surface 72, or some percentage
past the initial distance between the initial location of the ball
78 and the hole 74 (e.g. approximately 150% to approximately 200%),
whichever is greater. Thus, a decision may be made at decision
block 124 whether the putt path has been calculated to the
necessary extent. If yes, the method 110 ends. If not, however, the
method 110 proceeds to step 126, where the previous location and
the previous velocity are set to be the current location and the
current velocity for further calculation of the putt path, and
method 110 returns to step 116 for calculation of the next step of
the putt path.
[0139] FIG. 12 illustrates a flowchart of an exemplary method 130
of calculating an ideal putt direction and speed, which may be
accomplished in conjunction with methods similar to those discussed
with respect to FIG. 11. The method 130 includes a first step 132
of calculating a first plurality of reverse paths leading from the
hole. These paths may be determined according to the method 110 of
FIG. 11 or according to similar methods. According to a first
example, the first plurality of reverse paths includes three
reverse paths, and the three reverse paths are calculated based on
three final angles and final speeds, which are the final speeds and
final angles (e.g. the final velocities) with which the ball 78
would arrive at the hole 74 in the path simulations. Other examples
involve the calculation of two, four, five, or more reverse paths
in step 132. Regardless of the number of reverse paths in the first
plurality of reverse paths, the final speeds with which the ball 78
arrives at the hole 74 for each of the reverse paths (for each of
the final angles) may be selected or calculated as discussed
above.
[0140] The final angles with which the ball 78 arrives at the hole
74 for the first plurality of reverse paths may be selected
according to a variety of methods. According to one exemplary
method illustrated in FIG. 13, a first final angle 150 is selected
to be the angle along the line 84 leading between the initial
location of the ball 78 and the hole 74. Alternatively, the first
final angle 150 might be selected to roughly take into account the
line 84 as well as a contour of the putting surface 72, especially
a contour of the putting surface 72 proximate the hole 74, where
the ball 78 will be moving most slowly and be most subject to
changes in motion imparted by the contour of the putting surface
72. After the first final angle 150 is selected, two additional
final angles 152, 154 are selected that are at ninety degrees to
the first final angle 150. The first plurality of reverse paths are
calculated for each of the final velocities, such as is discussed
above. As discussed above, a step size used for the initial
calculation of reverse paths may be relatively large if desired to
reduce computational power necessary at this stage of the
process.
[0141] The method 130 then proceeds to step 134, where it is
determined which of the reverse paths passes closest to the initial
location of the ball 78. For example, in the Example of FIG. 13, it
might be determined that the reverse path having final angle 154
passes closest to the initial location of ball 78.
[0142] Once the first plurality of reverse paths have been
calculated and it has been determined which path passes closest to
the initial location of the ball 78, the method 130 proceeds to
decision block 136. At this point, a determination is made as to
whether the calculated reverse paths that passes closest to the
initial location of the ball 78 passes close enough to the initial
location of the ball 78. In various embodiments, what qualifies as
close enough may be defined or determined according to an aspect of
the computing device, the program, or even via user input. If, for
example, a first computing device is computationally limited to an
extent that prevents calculating ideal swing parameters with a
precision that might be computationally feasible on a second
computing device, the distance that may be considered close enough
may be larger on the first computing device than on the second
computing device. As another example, if the user finds that using
systems and methods as described herein results in unacceptable
slowing of play while the user waits for the ideal swing
parameters, the user might provide an input to the system to reduce
the necessary precision and speed up computational results. Thus,
embodiments of the invention embrace a variety of distances between
a reverse path and the initial location of the golf ball 78 as
being close enough to satisfy methods discussed herein, such as
decision block 136.
[0143] If the closest reverse path fails to pass close enough to
the initial location of the ball 78, the method 130 proceeds to
step 138, where a new plurality of reverse paths leading from the
hole 74 are calculated. The new plurality of reverse paths may
include more, the same, or fewer reverse paths than any previous
pluralities of reverse paths, and each reverse path may be
calculated as previously described. As each new plurality of
reverse paths is calculated, the determination of the ideal final
angle and speed for the ball 78 to arrive at the hole 74 is
refined. Returning to the specific example illustrated in FIG. 13
and as discussed above, final angle 154 might have been determined
to have the best reverse path of the first plurality of reverse
paths, and may be used in calculating the next plurality of reverse
paths at step 138. In this example, as shown in FIG. 14, the new
plurality of reverse paths is the second plurality of reverse
paths.
[0144] The final angles with which the ball 78 arrives at the hole
74 for the second plurality of reverse paths may be selected
according to a variety of methods. According to one exemplary
method illustrated in FIG. 14, the first final angle is selected to
be the final angle 154 from the best of the previous plurality of
reverse paths. Alternatively, the first final angle might be
selected to roughly take into account some difference between the
final angles of the two closest of the previous plurality of
reverse paths. Regardless, two additional final angles 156, 158 are
selected that are a reduced angle from the previous iteration, such
as at forty-five degrees to the first final angle (final angle 154,
in this case). The second plurality of reverse paths are calculated
for each of the final velocities, such as is discussed above.
[0145] It will be appreciated that if step sizes are not to be
varied as the method progresses, one of the three reverse paths was
already calculated in a previous step, so calculation of the second
plurality of reverse paths can involve calculating one fewer
reverse paths, further reducing computational power necessary to
execute this step of the method. In contrast, if step sizes are to
be varied as discussed above, a step size used for the calculation
of the second (and subsequent) plurality of reverse paths may be
reduced at each stage of the process (e.g. as the angle between the
various selected final angles is reduced).
[0146] Once the new plurality of reverse paths has been calculated,
the method 130 loops back to step 134, where a determination is
made as to which of the reverse paths passes closest to the initial
location of the ball 78. As may be appreciated, the method 130 may
loop through step 134, decision block 136, and step 138 multiple
times, with each time narrowing the spread of final angles used for
the new plurality of reverse paths. For example, if final angle 156
from FIG. 14 passed closest to the initial location of the ball 78,
a new plurality of reverse paths could be calculated as shown in
FIG. 15, with final angles 160, 162 at, for example, twenty-two
point five degrees from final angle 156. Then, if final angle 162
from FIG. 15 passed closest to the initial location of the ball 78,
a new plurality of reverse paths could be calculated as shown in
FIG. 16, with final angles 164, 166 at, for example, twelve point
two-five degrees from final angle 156.
[0147] The repetition of step 134, decision block 136, and step 138
will quickly and efficiently arrive at an ideal putt path at a
desired level of accuracy. In the specific examples discussed
above, each repetition reduces the spread of the final angles by
half. Thus, for example, within just sixteen iterations, the best
final angle will be known to within just over one thousandth of a
degree (90.degree./2 16). Meanwhile, with just sixteen iterations,
the method might require calculating only thirty-three reverse
paths (three for the first plurality of reverse paths and an
additional two for each new plurality of reverse paths). Thus, the
method provides significant reductions in the computational power
necessary to generate recommended swing parameters, and permits the
performance of the method on a greater variety of devices,
including wholly within current mobile computing devices such as
general-purpose devices (e.g. smart phones) and special purpose
devices (e.g. golf-specific devices).
[0148] Once one of the calculated reverse paths passes close enough
to the initial location of the ball 78, the method 130 proceeds as
illustrate in FIG. 12. In the method of FIG. 12, decision block 140
and step 142 are optional steps to be used in examples where a
precision of calculating a reverse path is subject to variation,
such as where lesser precision is used for earlier iterations of
step 132, step 134, decision block 136, and step 138. At decision
block 140, a determination is made as to whether the path that
passed close enough to the initial location of ball 78 was
calculated with sufficient precision. If not, method 130 proceeds
to step 142, where a plurality of reverse paths are calculated with
increased precision before the method loops back to step 134. At
step 142, the plurality of reverse paths that are calculated with
increased precision may be the same set of reverse paths as used in
a previous iteration of step 138, step 134, and decision block 136,
or the method may simultaneously narrow the spread of final angles
around the best of the reverse paths from the previous
iteration.
[0149] Once a reverse path is determined to pass close enough to
the initial location of the ball 78 at decision block 136 and the
reverse path is determined to have been calculated with sufficient
precision at decision block 140 (or optional decision block 140 is
skipped in an embodiment because reverse paths are always
calculated with sufficient precision), method 130 proceeds to step
144, where a determination is made as to the velocity of the
reverse path at a point or points closest to the initial location
of the ball 78. At this stage of method 130, the best reverse path
may include hundreds or thousands of data points at which the
position, velocity, and acceleration vectors of the reverse path
are known. If one point is very near the initial location of the
ball 78, the velocity vector of that point may be used at step 144.
Alternatively, a velocity vector may be inferred from the two
calculated points nearest the initial location of the ball 78.
[0150] Method 130 then proceeds to step 148, where the velocity
vector determined in the previous step (which by definition
incorporates speed and direction components) is used to output
ideal or suggested swing parameters to the user. The information
may be output according to any of the methods discussed above.
[0151] As discussed above, as each reverse path is calculated, the
reverse path is calculated using the sum of forces to which the
rolling ball 78 is subject. The step 116 of determining the sum of
forces to which the rolling ball 78 is subject may include
referencing a force map of the putting surface 72. In one example,
a force map of the putting surface 72 may be determined prior to
the start of a round of golf (such as by a remote computing
resource) and is provided to mobile computing device 54 either
prior to or during the round of golf. Alternatively, the mobile
computing device 54 generates the force map of the putting surface
as needed. In a second example, the step 116 of determining the sum
of forces to which the rolling ball 78 is subject includes
determining a slope of the putting surface 72 at the current
location. The step 116 may also include determining a coefficient
of rolling friction of the putting surface 72 for current
conditions of the putting surface 72.
[0152] While not specifically discussed above, a variety of other
factors may be utilized to determine forces to which the rolling
ball 78 is subject and/or the final speed of the ball 78 at the
hole 74 for each final angle. Such factors may include surface
conditions, whether the putt is uphill or downhill, what type of
grass is utilized on the putting surface, etc. For example, because
downhill putts have gravity assisting them to stay online, their
optimum speed tends to be a little lower as they reach the hole,
while uphill putts are being pulled off-line by gravity every time
they hit an imperfection. To keep uphill putts on-line, the optimum
speed tends to be faster.
[0153] Another example a factor that affects optimum speed and or
force is the type of grass utilized. For example, Bermuda grass has
a very strong grain, producing a situation in which optimum putting
speed rolls a ball 78 as much as thirty-six inches past the back
edge of the hole 74. This may be compared with situations in which
greens with very little grain have measured optimum speeds that
roll a ball 78 only five inches past the hole 74. Algorithms may be
utilized to process such information, including the type of grass
utilized, to provide a golfer with precise information.
[0154] Other factors include the speed of the green which may
include factors such as the type of grass utilized to make the
putting surface, the time of day, the length of grass, the contours
of the green itself, the lie of the land surrounding the greens,
etc. For example, when a green is next to water or constructed on a
hill side, the path the ball will take will be influenced by these
surrounding features. Embodiments of the invention utilize the
actual measured green speed for a day or time, or utilizing average
speed values provided for greens on a particular course or in a
particular geographic area. Some embodiments may utilize additional
information to adjust speed values throughout the day.
[0155] Further embodiments of the invention may utilize algorithms
to adjust green speed for the passage of time. For example, the
length of grass on the green affects the speed at which the ball
will roll. Over the course of the day, grass length increases and
the green speed measurement might change. Further, watering
schedules and evaporation based on temperature during the day will
affect the speed of the greens over the course of the given day.
Accordingly, in some embodiments, the systems and methods may
utilize algorithms that compensate for the various factors which
affect the speed of greens during the day.
[0156] Therefore, embodiments of the invention provide systems and
methods for calculating and providing golfers with recommended
swing parameters in a more efficient manner that utilizes fewer
computational resources and is therefore more suited for
performance by systems such as mobile computing devices.
[0157] The present invention may be embodied in other specific
forms without departing from its spirit or essential
characteristics. The described embodiments are to be considered in
all respects only as illustrative and not restrictive. The scope of
the invention is, therefore, indicated by the appended claims,
rather than by the foregoing description. All changes which come
within the meaning and range of equivalency of the claims are to be
embraced within their scope.
* * * * *