Patent Description:
Golf is a very popular sport but demanding in terms of the various skills that need to be applied by the individual golfer to play the sport at even the most basic level. A golfer's basic swing technique is governed by many variables including his (or her) coordination and strength, golf club selection, golf ball selection, and golf course conditions, to name just a few.

In view of these many variables, the golfer is required to develop and maintain a certain skill set to improve their overall ability to play golf at some consistent level. For example, with respect to the putting element of the golf game, the player is faced with and required to determine and control variables such as stroke, speed, aim with respect to the golf ball, and aim (including putter angle) with respect to the face of the putter. Interestingly, it has been reported that putting comprises a large percentage (e.g., <NUM> - <NUM> percent) of the overall number of strokes made during a standard round of golf, and a putt, in both professional golf tournaments and recreational play, can create some of the greatest drama during a round as reflected in the well-known golf adage "drive for show, putt for dough" that is often repeated by golf professionals, amateurs, spectators and broadcasters.

As those who are well-acquainted with golf will attest, the ability to accurately and consistently putt a golf ball is a very difficult skill to develop and maintain, and many golfers are on a continual search to find their best and repeatable putting stroke. Seizing on an opportunity, the golf industry is replete with a variety of putting training devices to assist players with their putting prowess. Some of these devices are directed to improving aiming capability, others for improving alignment, and others for perfecting the stroke itself. Some devices attached to the putter itself or require the player to secure himself to the device or training apparatus.

The information directed to, and useful for, putting in these types of aides varies widely in terms of assisting a golfer in training for a particular putting stroke or executing a real-time putt during a round of golf. So, while some existing golf aides may be useful in providing general information related to putting, the golfer is still challenged with digesting the general information and effectively utilizing that information to determine how to strike a particular golf putt in a real-time fashion. Important to that real-time determination is the precise location of the golf ball on the green, the precise location of the golf cup (or hole), the overall surface characteristics of the green (including its topography and so-called green speed), and the ideal putt defined in terms of aiming direction and speed.

Therefore, a need exists for an improved putting stroke apparatus and methodology that determines and simulates the proper putting stroke in terms of aiming direction and speed for successfully making a putt based on particular putting green characteristics and the location of the golf hole on the putting green, and which is interactive with the user thereby providing an enhanced playing experience.

Related prior art is disclosed in the following documents.

<CIT> discloses a method and an apparatus for determining the precise location of a target on a surface by utilizing a plurality of objects that are fixed in their position proximate to the location, thereby constituting a plurality of fixed reference points, upon which the target(s) resides or is otherwise located. The plurality of fixed references points are used either in conjunction with images of the target or certain distance measurements between the target and the fixed reference points to determine the precise location of the target(s) on the surface.

<NPL> - discloses modeling of a motion of a rolling golf ball on a sloped golf green. The resulting calculated path of a golf ball is then used, along with a model of the capture of the golf ball by the hole, to determine the resulting launch conditions required for a successful putt. Estimates of the probability of making certain putts are also presented.

<CIT>, which represents the closest prior art, discloses a method, an apparatus, and a program for computing a path, starting velocity, aim angle, and aim points for directing a putted golf ball from a point on a golf course to another point and incorporating such data into easily read charts or electronic media. <CIT> also discloses a means of determining the initial launch conditions and actual path a putted golf ball traveled on given its starting and ending ball positions.

This document however does not disclose any form of "correction" of the putting stroke.

<CIT> discloses a system for aiding the selection of a golf shot by a golfer on a hole of a golf course, comprising means for retrieving statistics indicative of past performances by the golfer for each of a plurality of golf club types, means for retrieving data regarding the hole of the golf course, means for analyzing the retrieved statistics in concert with the data regarding the hole of the golf course, means for selecting one of the golf club types as the statistically preferred golf club type for the golf shot, and means for displaying the selected golf club type to the golfer.

The scope of protection of the invention is defined by the appended claims.

In accordance with the invention as disclosed hereinafter , a method and apparatus is provided that determines and simulates the proper putting stroke using at least aiming direction and speed for successfully making a particular putt based on particular putting green characteristics and the location of the golf hole on the putting green, and which is interactive with the user thereby providing an enhanced playing experience and improved putting results.

In accordance with the invention as disclosed hereinafter, a library of putting information is compiled using, illustratively, a pendulum putter apparatus and putting diagnostic tool wherein the putting information includes the approximate vertical angle necessary for a golf putter to be drawn back to exert the amount of force needed to roll the golf ball the required distance on the golf green using a pendulum motion. In turn, the compiled library of putting information can be used to customize a particular putting experience for a user (e.g., golfer). In accordance with an embodiment, the golfer will utilize a mobile device (e.g., smartphone) for initiating operations (e.g., through the execution of a mobile application) that will (i) initiate a calibration process involving the player attempting a set number of putts (e.g., <NUM> putts) at a specified distance and green speed, and for each putt, capture and calculate certain mobile device operational information (e.g., information from a micro electrical mechanical system (MEMS) integrated in the mobile device) at the time of each putt and the associated putting stroke applied by the player; (ii) calculate an average value, for the player, for a plurality of MEMS offset measurements; (iii) compare the calculated average player value with that of the compiled library of putting information for the same putt distance and same green speed to identify a set of precise distance guidance (e.g., a tempo and a vertical angle needed to make the putt at the specific distance); and (iv) using a feedback mechanism (e.g., haptic feedback resident on the mobile device) communicate the set of precise distance guidance to the player in order for the player to apply a putting stroke to make the putt successfully.

In accordance with various embodiments, method and apparatus is provided that determines and simulates the proper putting stroke using at least aiming direction and speed for successfully making a particular putt based on particular putting green characteristics and the location of the golf hole on the putting green, and which is interactive with the user thereby providing an enhanced playing experience and improved putting results.

In accordance with an embodiment, a pendulum putter apparatus is coupled with a putting diagnostic tool wherein the putting diagnostic tool determines at least an aiming direction and initial ball speed for a particular putt using at least four (<NUM>) inputs: (i) topographic information (e.g., contours) specific to the green; (ii) the green speed at a particular time; (iii) the golf hole location (i.e., the physical location of the golf hole); and (iv) the golf ball location on the green (i.e., the physical location of the golf ball). In this way, the pendulum putter apparatus is utilized with a calculated horizontal direction for aiming the putt at the golf hole and the initial ball speed needed to successfully make the putt by striking the golf ball in a pendulum motion. As will be appreciated the putting diagnostic tool may be configured in a variety of combinations of hardware and software executed thereon and the embodiments detailed herein below are illustrative but limiting in nature. Before describing an embodiment of the putting stroke apparatus, the method and operations of the putting diagnostic tool will be discussed in detail.

As noted above, in accordance with an embodiment, one input utilized by the putting diagnostic tool is topographic information (e.g., contours) specific to the green. Illustratively, this input comprises a plurality of three dimensional (3D) coordinate triples that facilitate the generation of a surface model of a golf green. <FIG> shows an illustrative contour map <NUM> generated and configured in accordance with an embodiment. Contour map <NUM> is one such exemplary input for the putting diagnostic tool in terms of identifying the requisite input of a plurality of 3D coordinate triples.

As shown, green <NUM> is an individual green, which in accordance with a typical golf course layout would be one of eighteen (<NUM>) greens located therein. Green <NUM> has a border <NUM> (or sometimes called a transition area) that transitions the green surface (typically the shortest cut of grass on a golf course and different type of grass) through a fringe <NUM> (typically an area having another cut of grass different from the green and immediately surrounding the green surface) and thereafter to a fairway <NUM> (typically a different cut of grass from the green and fringe area as well as a different type of grass). The surface contour of a green remains substantially unchanged after the original construction of the green (of course, nothing would preclude a contour change should a change in the surface topography be warranted or desired) such that so-called contour lines <NUM>-<NUM>, <NUM>-<NUM> through <NUM>-n and so-called "falls" indicated by directional lines or arrows <NUM>-<NUM>, <NUM>-<NUM> through <NUM>-n are established and can be recorded for reference. As will be appreciated, such contour lines and directional lines or arrows (the directional lines or arrows being a derivative of the contour lines) are important indicators with respect to the specific contour of a green in terms of characteristics such as shape, speed, slope and break. Green <NUM> is also shown having bunker <NUM> which is typically filled with sand and which captures golf shots that miss landing and/or staying on green <NUM>.

In order to properly irrigate a golf course (e.g., areas such as green <NUM>, fringe <NUM> and fairway <NUM>), it is typical to use a network of sprinklers that periodically (e.g., on an automated schedule) water these various areas for a predetermined time period. Illustratively, this sprinkler network is defined, in part, by a plurality of sprinkler heads <NUM>-<NUM> that encircle and are located proximally to green <NUM>, and are permanently embedded throughout fringe <NUM> and fairway <NUM> in some predetermined configuration to deliver the desired irrigation. The plurality of sprinkler heads <NUM>-<NUM> (and, as will be appreciated, the broader sprinkler network across a given golf course of which they form a part of) constitute a set of fixed reference points when their 3D coordinates have been determined in a suitable coordinate system (e.g., a localized 3D Cartesian coordinate system). In this way, the plurality of fixed reference points (e.g., the plurality of sprinkler heads <NUM>-<NUM>) may be utilized to determine the location of a target (e.g., golf ball <NUM> or golf hole <NUM>) on green <NUM>. One technique using such fixed reference points is described in <CIT>. It will be understood that other fixed objects proximate to or near green <NUM> can also be used to determine the target location (provided that their 3D coordinates have been pre-determined and that they are physically stable so that their coordinates remain substantially constant in time) including, but not limited to, drain covers, placards, signage, structures, grandstands, and equipment.

As shown, golf hole <NUM> is cut into green <NUM> with flagstick <NUM> (or sometimes also referred to as the "pin") set therein, and golf ball <NUM> is located on green <NUM>. As will be appreciated, the location of golf cup <NUM> can change from day-to-day for any given golf course but typically not within the same day or golf round. As described above, the principles of the various embodiments are directed to determining and simulating the proper putting stroke in terms of aiming direction and initial ball speed for successfully making a particular putt (in this example, the putt of golf ball <NUM> to golf hole <NUM>) based on the particular putting green characteristics of green <NUM> and the location of golf hole <NUM> thereon.

The generation of contour map <NUM> may be accomplished using a variety of well understood techniques. For example, a survey of green <NUM> may be undertaken using well-known surveying instruments such as a level and total station. The resulting surveying will enable the generation and output of a listing of 3D point records which can be utilized for the generation of a 3D surface model used by the putting diagnostic tool herein as input. As will be appreciated, other techniques that utilize non-traditional surveying instruments (e.g., cameras for close-range photogrammetry, Global Navigation Satellite System (GNSS) receivers in Real-Time Kinematic (RTK) mode, light detection and ranging (Lidar), and 3D laser scanners) may also be used to generate the aforementioned survey provide that the resulting 3D point records and other associated data is of sufficient accuracy.

As noted above, in accordance with an embodiment, a second input utilized by the putting diagnostic tool is the green speed at a particular time, for example, the speed of green <NUM>. One well-known technique for measuring green speed is the use of a so-called "Stimpmeter" which is a tool utilized by the United States Golf Association (a well-known, established and recognized golf governing body in the United States). The tool is basically an inclined plane with a V-groove running down its center and a notch near the top that allows a golf ball to remain stationary until lifted to a certain height where the force of gravity causes the golf ball to roll out of the notch and down the plane. Such operation then assumes the golf ball reaches the surface of the golf green at a known speed; thus measuring the distance traveled in feet characterizes the speed of the golf green (e.g., slow, medium, fast). For example, some of the fastest greens in the world measure readings of <NUM>-<NUM> feet (<NUM>-<NUM>) on the Stimpmeter.

As noted above, in accordance with an embodiment, third and fourth inputs utilized by the putting diagnostic tool are related to the golf hole location (e.g., the physical location golf hole <NUM>); and the golf ball location on the green (e.g., the physical location of golf ball <NUM>). These respective locations (i.e., location coordinates of each) are determined in the same coordinate system as the survey for contour map generation as described above, and may be located, illustratively, using a GNSS receiver in RTK mode. As will be understood, GNSS receivers provide locations (e.g., 3D coordinates) in a global geodetic coordinate system. In the embodiments herein, the putting diagnostic tool requires 2D coordinates in a local coordinate system. As such, the 3D geodetic coordinates must be transformed to 2D coordinates in the local system. This transformation will be readily understood by those skilled in the art and may take various forms.

For example, the coordinates provided by the GNSS receiver can be expressed in both an Earth-Centered Earth-Fixed (ECEF) Cartesian system (i.e., X, Y, Z coordinates) or, given by an associated reference ellipsoid in a geodetic coordinate system using latitude, longitude, and height (i.e., ϕ, λ, h). In either case, the 3D coordinates from the GNSS receiver must be mathematically transformed to the coordinate system of the golf green (e.g., green <NUM>), which can be separated into planar components (x, y) and a height component H. Such a transformation can be made by determining certain parameters which will now be discussed.

To determine the transformation parameters, coordinates of a set of physically accessible points on the ground must be "known" at a sufficient accuracy level in both the geodetic and local coordinate systems, which are based on a triad of orthogonal axes. To transform between two 3D coordinate systems, estimated parameters such as three translation, three orientation, and one scale parameter are typically used. In accordance with the embodiments herein, the 2D planar coordinates (x, y) in the local coordinate system are necessary in order to accurately determine the location of the golf hole and golf ball.

As will be appreciated, over a small or local neighborhood/area (e.g., golf green <NUM>) the global geodetic coordinates (i.e., ϕ, λ, h) from the GNSS receiver can be rotated into a local geodetic (Cartesian) coordinate system (N, E, U) with a specified origin point in the vicinity of the rotated points. In this way, the local geodetic and local coordinate system (i.e., the local coordinate system for golf green <NUM>) may be assumed to have a common scale. As such, the transformation between their respective horizontal coordinates (N, E) and (x, y) can be represented by three parameters: two translation and one orientation. In this case, only two control points with known coordinates in both coordinate systems are needed which leads to a unique determination of these three transformation parameters. Of course, having a redundant number of control points (i.e., more than two) will increase error detection abilities and potentially improve the overall accuracy of the transformation parameter estimation.

As noted above, the coordinates provided by the GNSS receiver can be expressed in both an ECEF coordinate system (with axes labeled X, Y, Z), or given an associated reference ellipsoid, in a geodetic coordinate system expressed as latitude, longitude, and height above the ellipsoid (i.e., ϕ, λ, h). The meaning of ECEF is that the origin O is at the center of mass of the Earth. The X and Y axes lie in the equatorial plane. The X-axis points to the prime meridian; the Z-axis coincides with the Earth's spin axis, and the Y-axis completes a right-handed orthogonal coordinate system.

<FIG> shows a global geodetic system in an ECEF reference frame, and a local geodetic (LG) coordinate system (as further described below) in accordance with an embodiment. In addition, portions of two median lines and the equatorial plane of a reference ellipsoid (e.g., WGS <NUM>) are shown. As will be appreciated, <FIG> is not shown to scale, as the equatorial radius of the WGS <NUM> ellipsoid is <NUM>,<NUM>,<NUM> meters, and the distance between two points, for example, point P<NUM> <NUM> and point P<NUM> <NUM> (which are assumed to lie on or near the same golf green, e.g., green <NUM>) may only be a few to several tens of meters. As shown, <FIG> depicts the ECEF origin (O) point <NUM> together with X-axis <NUM>, Y-axis <NUM>, and Z-axis <NUM>, and the LG coordinate system with axes north axis N <NUM>, east axis E <NUM>, and up axis U <NUM>, and point P<NUM> (e.g., the point associated with sprinkler head <NUM> on green <NUM>) latitude <NUM>, longitude <NUM>, and height above ellipsoid <NUM> (i.e., ϕ, λ, h). A reference ellipsoid is depicted by showing a portion of the prime meridian <NUM>, a meridian <NUM> containing an ellipsoid normal passing through point P<NUM> <NUM>, and a portion of the equatorial plane <NUM>. Point Q <NUM> lies on the reference ellipsoid and on the normal line through P<NUM> <NUM>; thus, the height above the ellipsoid h at point P<NUM> <NUM> is the distance between points Q <NUM> and P<NUM> <NUM> along the normal line.

Given values of certain parameters of the reference ellipsoid (e.g., its equatorial radius and flattening values), there is a one-to-one mapping between the Cartesian coordinates (i.e., X, Y, Z) and the geodetic coordinates (i.e., ϕ, λ, h), the mathematical relationships and formulas for which are well-known by those skilled in the art. Further, over a small or local neighborhood (e.g., green <NUM>), it is also well-known that ECEF coordinate differences (e.g., as derived from a GNSS receiver) can be rotated into a LG coordinate system. The coordinate differences are computed between a point designated as the origin of the LG system and other points that must be located with respect to that origin point. For example, up axis U <NUM> in an LG coordinate system coincides with the normal to the ellipsoid at the origin of the LG system, and north axis N <NUM> is parallel to the direction from point Q <NUM> to geodetic north, and east axis E <NUM> completes an orthogonal left-handed coordinate system.

By way of illustration, given P<NUM> <NUM> with coordinates (X<NUM>, Y<NUM>, Z<NUM>) which may be, for example, associated with a sprinkler head (e.g., sprinkler head <NUM>) near green <NUM> is located with a GNSS receiver (not shown) and is designated as the origin an LG coordinate system. Given a second point P<NUM> <NUM> with coordinates (X<NUM>, Y<NUM>, Z<NUM>) in the vicinity of P<NUM>, which is also located with the GNSS receiver to thereby locate points P<NUM> <NUM> and P<NUM> <NUM>, respectively, in the ECEF coordinate system. As noted above, P<NUM> <NUM> with coordinates (X<NUM>, Y<NUM>, Z<NUM>) can readily be converted to P<NUM> <NUM> (ϕ<NUM>, λ<NUM>, h<NUM>), where(ϕ<NUM>, λ<NUM>, h<NUM>) are geodetic coordinates. Next, let the difference in coordinates between points P<NUM> <NUM> and P<NUM> <NUM> (i.e., a 3D vector from P<NUM> <NUM> to P<NUM> <NUM>) in the ECEF coordinate system be defined as follows: <MAT> In this way, the LG coordinates (N<NUM>, E<NUM>, U<NUM>) of P<NUM> <NUM> are given by the matrix equation: <MAT> Equation (<NUM>) can be applied to any number of points to compute their LG coordinates in a system having point P<NUM> <NUM> as its origin, as detailed above.

Ultimately, points located in the LG coordinate system must be transformed into the coordinate system of the golf green (e.g., green <NUM>), which can be separated into planar components (x, y) and height component H. Such a transformation can be made if certain parameters of the transformation can be determined (i.e., estimated). To estimate the transformation parameters, coordinates of a set of physically accessible points on the ground must be "known" to an acceptable level of accuracy in both of the coordinate systems (one being the LG coordinate system provided by the GNSS receiver via the transformation in equation (<NUM>), and the other being the coordinate system associated with the golf green), which may have been established previously using conventional, well-known surveying methods. Herein, such points are deemed "control points", and assuming that coordinates in both systems refer to a triad of orthogonal axes, seven transformation parameters could be estimated (namely, three translation, three orientation, and one scale factor).

However, in accordance with the various embodiments herein, only the 2D planar coordinates (x, y) in the coordinate system associated with the golf green (e.g., green <NUM>) are needed for the location of the cup (e.g., golf cup <NUM>) and golf ball (e.g., golf ball <NUM>) in a horizontal plane. As such, assuming that the horizontal axes of the LG system (i.e., north axis <NUM> and east axis <NUM>) lie in a plane common to the golf green's coordinate system, then the 2D transformation between their respective coordinates (N, E) and (x, y) can be represented by the following four parameters: two translation, one rotation, and one scale factor. In such a case, only two control points with known coordinates in both coordinate systems are needed, which would permit a unique determination of the four transformation parameters. However, having a redundant number of control points (i.e., more than two) would allow for a better chance to detect potential errors in the given coordinates and could also result in a more precise estimation of the four transformation parameters. Note that the assumption of a common plane is not necessarily strictly satisfied, as the NE-plane is orthogonal to an ellipsoidal normal passing through the points of origin P<NUM> <NUM>, whereas the xy-plane might be assumed to be normal to the tangent to a plumb line at the same point. The difference between the ellipsoid normal and the tangent to the plumb line is called the "deflection of the vertical", and for purposes of the various embodiments herein is considered to be sufficiently small so as to be ignored.

Given a set of n physical control points (P<NUM>, P<NUM> through Pn) having known 2D coordinates in both an LG coordinate system and a golf-green coordinate system, an estimation may be made with respect to so-called unknown transformation parameters ξ = [ξ<NUM>, ξ<NUM>, ξ<NUM>, ξ<NUM>]T necessary to transform from the LG coordinate system to the golf green's coordinate system using the following mathematical model: <MAT> The variables in equation (<NUM>) are defined as follows:.

The approximately equal sign in equation (<NUM>) above is used to denote that the coordinates in both systems contain random measurement errors, which can be accounted for by well-known least-squares estimation techniques, thereby requiring that the number of points n be greater than two (n > <NUM>). After estimation of the parameter vector ξ, the estimated rotation angle α̂ can be computed by <MAT>, while <MAT> yields the estimated scale factor. Note that estimated variables are shown with hats. Optionally, the scale factor ω can be constrained to one by adding <MAT> as a constraint to the model in equation (<NUM>).

For example, in terms of the illustrative computations described herein above, <FIG> shows LG coordinate system <NUM> with source origin <NUM>-<NUM>, and golf-green coordinate system <NUM> with target origin <NUM>-<NUM>. Also shown in <FIG> are estimated transformation parameters <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> together with five exemplary control points, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM>.

<FIG> shows a flowchart of illustrative operations <NUM> for determining and simulating a precise putting stroke in accordance with an embodiment. As detailed above, at step <NUM>, the required set of inputs (i.e., contour map/3D surface model, golf hole location, golf ball location, and green speed) are received. At step <NUM>, based on the received inputs, the geodetic to local coordinate system transformation is undertaken as described above. At step <NUM>, a putter calibration is performed and such calibration is specific to the particular type of putter unit being used to strike the putt. In accordance with an embodiment, the calibration is undertaken using specific starting and stopping positions of the golf ball travelling across the golf green surface as captured by, illustratively, a conventional total station survey instrument in any number of well-known manners. The calibration of step <NUM> is illustratively a one-time operation (or an infrequent operation) that may be performed independent of any real-time use of putter unit. For example, the calibration may be performed in a factory setting or other facility thereby providing for calibration of a variety of putter units including but not limited to configuration of pendulum putter apparatus <NUM>. The measurements are taken at various putter backswing angles which are deemed so-called "measured values". Multiple measurements are made for a given backswing angle and the measured final stopping positions are averaged using a well-known distance-weighted mean formula. Using the position given by the distance-weighted mean, well-known principles of physics (see, e.g., <NPL>; hereinafter "Penner") are used to identify a putt with an initial ball speed and aiming angle which match the starting and stopping positions of the golf ball. The derived initial ball speed and given backswing angle are then used to estimate the parameters of a fitted nonlinear function (as further detailed herein below), and the fitted function can be interpolated to compute the backswing angle associated with any initial ball speed thereby completing the calibration and outputting a set of putter calibration parameters (e.g., a record describing the type of fitted function and the numerical values of the estimated parameters associated with the fitted function).

In a further embodiment, the calibration at step <NUM> is alternatively performed by measuring the average ball speed between two closely spaced light gates on a low-friction surface which is considered to be approximate to a measurement of initial ball speed (i.e., upon contact). These measurements are taken at various putt backswing angles and deemed "measured values" and used to estimate the parameters of a fitted nonlinear function (as further detailed herein below), and the fitted function can be interpolated to compute the backswing angle associated with any initial ball speed thereby completing the calibration and outputting a set of putter calibration parameters. In an exemplary configuration, the two light gates are configured at a fixed distance, and without any horizontal coupling such that a first light gate is situated at a position which is a few millimeters from the initial launch point of the golf ball (i.e., stationary position before being struck) and the second light gate is situated approximately <NUM> centimeters from the first light gate's position. In this way, once the golf ball (e.g., golf ball <NUM>) is struck using pendulum putter apparatus <NUM>, the golf ball will travel (and deaccelerates through) a total distance of approximately <NUM> centimeters as the golf ball passes by the respective light gates. In a further calibration embodiment, the above-described light gates are replaced with a conventional camera.

As noted above, the data collected in the calibration at step <NUM> is fitted to a nonlinear function, for example, a polynomial of second degree or higher. If the initial ball speed or distance and backswing data are considered as measurements containing random errors, in accordance with an embodiment, a well-known total least-squares (TLS) data adjustment can be used to estimate the unknown parameters of the function. In accordance with a further embodiment, where the swing back angles are treated as errorless data, the well-known ordinary least-squares (OLS) method can be used to estimate the unknown parameters. In either case, the estimated parameters will be utilized for the interpolation of backswing angles at step <NUM> where using the aforementioned putter calibration parameters and an initial ball speed (e.g., as output by step <NUM> as detailed below) , the backswing angle for a particular putt is computed by interpolation of the fitted function/polynomial set forth in step <NUM>.

In accordance with the embodiment, at steps <NUM> through <NUM>, a simulation is undertaken that determines the precise trajectory of a golf putt on a particular golf green (i.e., the modeled surface) given the initial speed, and direction (i.e., the initial velocity) of the golf ball. Trajectories are determined by numerical integration of the location and velocity of the golf ball struck with a specified initial velocity. At each integration step, the location and velocity are updated, and the integration continues until the golf ball comes to rest (i.e., zero velocity). The simulation accounts for primary forces (and discounts certain secondary forces) acting on the golf ball along its path, in particular, surface friction and gravity due to sloping terrain. In the course of the integration, a determination is made as to whether the golf ball intersects the so-called "capture region" of the golf cup (i.e., where the golf ball is expected to drop into the golf hole), and if so, that putt is deemed as "successful", otherwise the putt is deemed "unsuccessful". In accordance with the embodiments, the integration is repeated for a range of initial directions and speeds, and for suitable interval (e.g., left <NUM>° to right <NUM>° and <NUM> to <NUM>/s to ensure that a plurality of successful putts are determined.

At step <NUM>, a search space determination is made. In particular, in accordance with the embodiment, the simulation performed will search over a 2D space comprised of speed and direction for putt trajectories that will theoretically result in a successfully made putt. This search space must be sufficiently large to find one or more theoretically successful putts in order to identify the "best" putt(s) but must not be so large to as to adversely impact computational performance. In accordance with the embodiment, at step <NUM>, this 2D search space is determined by establishing a range of initial ball velocities and determining the final velocity (vf) at which the golf ball will drop into the golf cup (i.e., a successfully "made" putt) and remain therein (i.e., not bounce out of the cup). In terms of the well-known physics principles as previously discussed, for example, such final velocities, on a level surface, are known to be in the range of <NUM> to <NUM>/s. Also, in accordance with the embodiment, the net slope of the golf green from the golf ball to the golf cup can be used to establish a maximum value of vf, given that the intermediary sloping of the golf green is assumed to have consistent deceleration characteristics in Penner. More particularly, the minimum and maximum velocities are defined as follows: <MAT> <MAT> <MAT> Here, d is the initial distance between the cup and ball, g is the magnitude of acceleration due to gravity, and θ is the net slope between them. The other terms in equations (<NUM>)-(<NUM>) are defined below.

At step <NUM>, the simulation of putt trajectories is performed to determine potentially successful putts from unsuccessful ones based on the direction and speed characteristics as detailed above. In particular, the tangential force acting on the golf ball has a magnitude f and makes an angle ϕ with the y-axis, such forces and angle are given by: <MAT> <MAT> where:.

As will be appreciated, a certain number of simplifications (having only a secondary effect on golf ball trajectory) are reflected in the application of the above equations as noted in Penner: (i) the golf ball is taken to be in a state of pure rolling throughout its entire path and not accounting for any initial state of bounce in the golf ball, sliding, or a combination of sliding and rolling over a certain portion of its path to the golf hole; (ii) the surface of the golf ball is deemed smooth rather than dimpled; and (iii) the deceleration of the golf ball is taken as a constant thereby not accounting for any variable speeds.

Using the trajectory simulations, a determination is made at step <NUM> as to the success of a particular putt. Specifically, if it determined that the golf ball will fall within the capture region of the golf cup (alternatively referred to herein as golf hole) in the course of the specific trajectory, that putt is deemed "successful", at step <NUM>, and recorded and stored for later use. If not, the putt is discarded at step <NUM> as "unsuccessful" and the simulations proceed as necessary. In this way, a listing of "successful" putts is compiled, at step <NUM>, that contains the initial speed and aiming direction of all successful putts as determined by the executed simulations (at step <NUM>) and used in the interpolations at step <NUM> as discussed above, and at step <NUM> the results are provided as output. The output, includes, illustratively, the putts ranked in ascending order of the distance of the resting point of the golf ball (i.e., as if there was no golf hole to interfere with the course of the golf ball), and the center of the golf cup. The ranking is established, illustratively, by at least two criteria. The first criterion is how close a particular putt approaches the "center" of the golf cup along its trajectory. The second criterion is how close the resting point of the golf ball is to a nearby point projected through the center of the cup and lying "X" feet beyond the cup, where X may be two (<NUM>) feet, for example. The putts that pass closer to the cup's center are considered to be more likely to succeed, than those further away from the center. Further, those putts that would come to rest nearer to the designated point beyond the cup may be considered more preferable than others.

<FIG> shows exemplary results <NUM> for determining and simulating a precise putting stroke in accordance with the operations of <FIG> and using the illustrative pendulum putter apparatus of <FIG>, as further discussed below. Illustratively, exemplary results <NUM> are outputted and displayed on display <NUM>. Exemplary results <NUM> include contour map <NUM> showing golf hole <NUM> and golf ball <NUM>, golf green speed (i.e., Stimpmeter value) <NUM>, golf cup coordinates <NUM>, golf ball coordinates <NUM>, and the listing of putts <NUM> as generated and ranked, as detailed above. That is, putt listing <NUM>-<NUM> is ranked highest in the listing thereby designating that this putt (see, trajectory <NUM>) is the one that is closest to the center and considered to be more likely to succeed than those further away from the center (e.g., the lowest ranked putt listing <NUM>-<NUM>). Further details regarding the listing of putts <NUM> includes the speed <NUM>, aim offset <NUM>, aim distance <NUM>, score <NUM> (used for designating a final rank), and drop <NUM> (designating position from center), and all the results may be outputted by the user, for example, by selecting "output solutions" <NUM> (e.g., a touchscreen radio button). In this way, these solutions can be utilized to demonstrate and execute actual putts with higher likelihoods of success.

More particularly, as noted above, a putting stroke apparatus and method is provided that determines and simulates the proper putting stroke in terms of aiming direction and initial ball speed for successfully making a particular putt based on particular putting green characteristics and the location of the golf hole on the putting green. Illustratively, a pendulum putter apparatus is coupled with a putting diagnostic tool, performing the operations detailed herein above, to determine an aiming direction and an initial ball speed for a particular putt.

To that end, <FIG> shows an illustrative pendulum putter apparatus <NUM> situated on golf green <NUM>, the putter apparatus <NUM> comprising at least: (i) putter assembly <NUM> comprising adjustable putter head <NUM>, adjustable putter shaft <NUM>, and mounting bracket <NUM>, with <FIG> showing a close up view of adjustable putter head <NUM> and <FIG> showing a close up view of mounting bracket <NUM>; (ii) vertical angular scale <NUM> and fine trigger adjustment assembly <NUM>-<NUM> and <NUM>-<NUM>, with a close up view shown in <FIG>; (iii) aiming mechanism <NUM> as shown in <FIG>; and (iv) stationary support assembly <NUM>. In an embodiment, laser <NUM> is an optional feature which can be placed upon adjustable putter head <NUM> on putter shaft <NUM> to aid in aiming, as shown in the close up view of <FIG> and adjustable support arm <NUM> connected to vertical angular scale and fine trigger adjustment assembly <NUM> and extending to ground surface of green <NUM>, with stationary support assembly <NUM> including three (<NUM>) supporting legs <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> having individual feet <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM> configured, for example, in a tripod fashion, along with a supporting center post <NUM> and foot <NUM>-<NUM>. As shown in <FIG>, aiming mechanism <NUM> includes knob <NUM>-<NUM> and tangent screw <NUM>-<NUM> to facilitate a coarse aiming by the user loosening knob <NUM>-<NUM> and rotating the assembly there below about the vertical axis. Using aiming mechanism <NUM>, a finer adjustment is made possible by the user tightening knob <NUM>-<NUM> and engaging tangent screw <NUM>-<NUM>. In addition, adjustable putter head <NUM> can be made to strike the ball at a particular point above the ground by turning handle <NUM> at the top of the apparatus <NUM>, which allows putter assembly <NUM> to translate vertically. As such, pendulum putter apparatus <NUM> is a mechanical apparatus that is representative of any number of well-known commercially standard putters used by professional and/or amateur golfers.

In this way, pendulum putter apparatus <NUM> is configured for mimicking a human putter's putting stroke at some specified initial ball velocity and direction, as determined in accordance with the illustrative operations set forth in <FIG> and described above. Thus, upon being released from trigger stand <NUM>, putter assembly <NUM> swings under the well-known force of gravity and under resistance primarily applied by friction between the axle upon which adjustable support arm swings about and the ball bearings that hold the axle in place. Illustratively, the ball bearings are set in two (<NUM>) opposing trunnions that are rigidly attached to the lower plate of a pair of plates that can be translated vertically along a pair of steel rods attached to supporting legs <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM>.

Thus, the aiming direction of pendulum putter apparatus <NUM> (by and through putter assembly <NUM>) is defined by the projection of the vertical plane that the putter apparatus swings into the horizontal plane tangent to the associated plumb line, as putter head <NUM> travels from a release point towards golf ball <NUM> in order to make contact therewith. Illustratively, the direction can be set by rotating a lower plate with respect to an upper plate of the pair of plates, as described above. If so configured, laser <NUM> is set square to putter head <NUM> using, for example, a mechanical bracket with magnets, and laser <NUM> illuminates target <NUM> which has been placed at some specified distance (D) <NUM> from golf cup <NUM> to indicate when the aiming direction of pendulum putter apparatus <NUM> is correct. In accordance with the embodiment, laser <NUM> is removed after the targeting is completed (i.e., establishing an initial orientation of putter head <NUM> in the horizontal plane) and before putter head <NUM> is drawn back to strike golf ball <NUM>. Also, in various embodiments, a mirror (not shown) may be mounted on adjustable putter shaft <NUM> to facilitate the observation of the reflected laser beam (originating from laser <NUM>) off target <NUM>, and the mirror is also removed after targeting is completed. In accordance with a further embodiment, an initial aiming direction may be established using a set of conventional mechanical clamps and gears using coarse rotation of the lower plate followed by a more precise turning of the lower plate with respect to the upper plate of the pair of plates.

<FIG> shows an illustrative golf putting system <NUM> in accordance with an embodiment that employs pendulum putter apparatus <NUM> (as detailed above) together with putting diagnostic tool <NUM>. Putting diagnostic tool <NUM> can be any type of computing device (e.g., computer, tablet, smart phone, to name just a few; see also the discussion below with respect to <FIG>) capable of performing the operations described herein above with respect to determining the aiming direction and initial ball speed for a particular putt. As shown, pendulum putter apparatus <NUM> and putting diagnostic tool <NUM> are utilized by individual <NUM> on golf green <NUM> having golf cup <NUM>. In this way, individual <NUM> has access to the results/outputs <NUM> computed by putting diagnostic tool <NUM> (as detailed above) by observation via display <NUM> or over communications link <NUM> (e.g., any type of communication link for exchanging signals and/or data between devices such as Ethernet, Wi-Fi, and Bluetooth®, to name just a few) and received by portable device <NUM> (e.g., smart phone) and/or directly by pendulum putter apparatus <NUM> (as configured with such well-known communications capabilities, but not shown in <FIG>) that may be utilized in a well-known manner. In this way, in a further embodiment, the execution and completion of putts by golf putting system <NUM> may be fully automated without the need for significant human intervention.

Illustratively, individual <NUM> will execute any number of putts using results/output <NUM> by employing positions <NUM> and <NUM>, respectively, in terms of setting adjustable putter head <NUM> at an initial position (i.e., position <NUM>) and releasing adjustable putter head <NUM> so as to strike (at position <NUM>) golf ball <NUM> along a specific trajectory (i.e., trajectory <NUM>-<NUM>, <NUM>-<NUM> through <NUM>-N), as detailed above, sending golf ball <NUM> towards golf cup <NUM>. As noted above, in the embodiment, laser <NUM> is removed after the targeting is completed (i.e., establishing an initial orientation of putter head <NUM> in the horizontal plane) and before putter head <NUM> is drawn back to strike golf ball <NUM>. In accordance with an embodiment, as detailed above, one of the trajectories (e.g., trajectory <NUM>-<NUM>) has been ranked as the most probable trajectory for successfully completing/making the putt.

As detailed above, the various embodiments herein can be embodied in the form of methods and apparatuses for practicing those methods. The disclosed methods may be performed by a combination of hardware, software, firmware, middleware, and computer-readable medium (collectively "computer") installed in and/or communicatively connected to a user apparatus. <FIG> is a high-level block diagram of an exemplary computer <NUM> that may be used for implementing a method for determining and simulating a precise putting stroke in accordance with the various embodiments herein. Computer <NUM> comprises a processor <NUM> operatively coupled to a data storage device <NUM> and a memory <NUM>. Processor <NUM> controls the overall operation of computer <NUM> by executing computer program instructions that define such operations. Communications bus <NUM> facilitates the coupling and communication between the various components of computer <NUM>. The computer program instructions may be stored in data storage device <NUM>, or a non-transitory computer readable medium, and loaded into memory <NUM> when execution of the computer program instructions is desired. Thus, the steps of the disclosed method (see, e.g., <FIG> and the associated discussion herein above) can be defined by the computer program instructions stored in memory <NUM> and/or data storage device <NUM> and controlled by processor <NUM> executing the computer program instructions. For example, the computer program instructions can be implemented as computer executable code programmed by one skilled in the art to perform the illustrative operations defined by the disclosed method. Accordingly, by executing the computer program instructions, processor <NUM> executes an algorithm defined by the disclosed method. Computer <NUM> also includes one or more communication interfaces <NUM> for communicating with other devices via a network (e.g., a wireless communications network) or communications protocol (e.g., Bluetooth®). For example, such communication interfaces may be a receiver, transceiver or modem for exchanging wired or wireless communications in any number of well-known fashions. Computer <NUM> also includes one or more input/output devices <NUM> that enable user interaction with computer <NUM> (e.g., camera, display, keyboard, mouse, speakers, microphone, buttons, etc.).

Processor <NUM> may include both general and special purpose microprocessors, and may be the sole processor or one of multiple processors of computer <NUM>. Processor <NUM> may comprise one or more central processing units (CPUs), for example. Processor <NUM>, data storage device <NUM>, and/or memory <NUM> may include, be supplemented by, or incorporated in, one or more application-specific integrated circuits (ASICs) and/or one or more field programmable gate arrays (FPGAs).

Data storage device <NUM> and memory <NUM> each comprise a tangible non-transitory computer readable storage medium. Data storage device <NUM>, and memory <NUM>, may each include high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate synchronous dynamic random access memory (DDR RAM), or other random access solid state memory devices, and may include non-volatile memory, such as one or more magnetic disk storage devices such as internal hard disks and removable disks, magneto-optical disk storage devices, optical disk storage devices, flash memory devices, semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), digital versatile disc read-only memory (DVD-ROM) disks, or other non-volatile solid state storage devices.

Input/output devices <NUM> may include peripherals, such as a camera, printer, scanner, display screen, etc. For example, input/output devices <NUM> may include a display device such as a cathode ray tube (CRT), plasma or liquid crystal display (LCD) monitor for displaying information to the user, a keyboard, and a pointing device such as a mouse or a trackball by which the user can provide input to computer <NUM>.

In accordance with various embodiments, a method and apparatus is provided that determines and simulates the proper putting stroke using at least aiming direction and speed for successfully making a particular putt based on particular putting green characteristics and the location of the golf hole on the putting green, and which is interactive with the user thereby providing an enhanced playing experience.

More particularly, in accordance with an embodiment, a library of putting information is compiled using the aforementioned pendulum putter apparatus and putting diagnostic tool wherein the putting information includes the approximate vertical angle necessary for a golf putter to be drawn back to exert the amount of force needed to roll the golf ball the required distance on the golf green using a pendulum motion. In turn, the compiled library of putting information can be used to customize a particular putting experience for a user (e.g., golfer).

<FIG> shows a flowchart of illustrative operations <NUM> for determining and simulating a precise putting stroke using a mobile device in accordance with an embodiment. Illustratively, the golfer will utilize a mobile device (e.g., smartphone) for initiating operations (e.g., through the execution of a mobile application). At step <NUM>, a calibration process is initiated and execute involving the player attempting a set number of putts (e.g., <NUM> putts) at a specified distance and green speed, and for each putt, capture and calculate certain mobile device operational information (e.g., information from the MEMS components integrated in the mobile device) at the time of each putt and associated the putting stroke applied by the player. At step <NUM>, the calculation of an average value, for the player, for a plurality of MEMS offset measurements is made. An optional user profile may be created and stored, at step <NUM>, which may store the results of the MEMS offset calculation from step <NUM>. Next, at step <NUM>, the compiled library of putting information is received and, at step <NUM>, a comparison is made between the calculated average player value with that of the compiled library of putting information for the same putt distance and same green speed to identify a set of precise putting distance guidance (e.g., a tempo and a vertical angle needed to make the putt at the specific distance, in other words, a representative putting stroke). That is, the putting stroke defined by the compiled library of putting information (i.e., the simulated putting stroke) is compared with the representative putting stroke of the golfer. In this way, the representative putting stroke is adjusted using the simulated putting stroke in order to identify an adjusted representative putting stroke that is more likely to successfully make the desired putt. At step <NUM>, using a feedback mechanism (e.g., haptic feedback resident on the mobile device, as detailed herein) the set of precise putting distance guidance is communicated (i.e., the adjusted representative putting stroke) to the player in order for the player to apply a putting stroke to make the putt successfully.

<FIG> is a high-level block diagram of an exemplary mobile device <NUM> for executing the operations of <FIG> in accordance with an embodiment As shown, mobile device <NUM> (e.g., a smartphone, mobile phone, smart watches, rangefinder, to name just a few) includes processor <NUM> for controlling the overall operation of mobile device <NUM>, antenna <NUM>, radio frequency (RF) transceiver <NUM>, and GNSS module <NUM> for receiving and transmitting information, from and to a variety of communications networks, in a conventional and well-known manner. Such information (e.g., data) may also be stored in data storage device <NUM> and/or memory <NUM> which each may comprise a tangible non-transitory computer readable storage medium, and/or include high-speed random access memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), double data rate synchronous dynamic random access memory (DDR RAM), or other random access solid state memory devices, and may include non-volatile memory, such as one or more magnetic disk storage devices such as internal hard disks and removable disks, magneto-optical disk storage devices, optical disk storage devices, flash memory devices, semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), digital versatile disc read-only memory (DVD-ROM) disks, or other non-volatile solid state storage devices.

In accordance with an embodiment, memory <NUM> also stores putting application <NUM> for execution by processor <NUM> which will integrate the operations of mobile device <NUM> in delivering the interactive putting experience to the user as detailed herein using haptic unit <NUM>. MEMS components <NUM> deliver conventional MEMS functionality and are utilized to record and collected certain MEMS information for the purposes of deriving mobile device operational information from mobile device <NUM> as further detailed below.

Mobile device <NUM> further includes input/output devices <NUM> which may include peripherals, such as a camera, printer, smart watch, scanner, display screen, virtual reality (VR) display, assisted reality (AR) display, etc. In the illustrative embodiment shown in <FIG>, display controller <NUM> operates in conjunction with display driver <NUM> to display information on LCD display <NUM> to the user of mobile device <NUM>. Battery <NUM> (e.g., lithium-ion) provides the overall power supply to mobile device <NUM> in a well-known fashion.

<FIG> shows an explanatory diagram <NUM> of golfer <NUM> executing a precise putting stroke on golf green <NUM> using mobile device <NUM> in accordance with an embodiment. In accordance with the embodiment, golfer <NUM> initiates a calibration process using mobile device <NUM> and putting application <NUM>, as detailed above. Illustratively, mobile device <NUM> is affixed temporarily (at a first position) to shaft <NUM> of putter <NUM> using a conventional clip or other suitable fastener (not shown). In this way, the execution of putting application <NUM> will initiate a procedure involving golfer <NUM> attempting a set number of putts (e.g., <NUM> putts) at a specified distance and green speed associated golf green <NUM>, and for each putt, capture and calculate certain mobile device operational information from mobile device <NUM> (e.g., information from MEMS components <NUM> integrated in mobile device <NUM>) at the time of each putt (e.g., putt <NUM>-<NUM>, <NUM>-<NUM> through <NUM>-N) and associated the putting stroke applied by golfer <NUM> to golf ball <NUM> in an effort to hole the putt in golf hole <NUM>. In accordance with an embodiment, the information recorded by and collected from MEMS components <NUM> includes at least (i) the angle of the swing plane applied to putter <NUM>; (ii) the starting angle and the finishing angle of putter <NUM> as defined by putter head <NUM>; and (iii) the final overall swing plane formed using putter head <NUM> in completing a putting stroke. In an embodiment, putting application <NUM> will calculate an initial putting trajectory (i.e., line) and distance in order to hole the putt and for the execution of putt <NUM>-<NUM> , <NUM>-<NUM> through <NUM>-N by golfer <NUM>.

Thereafter, putting application <NUM> will perform the calculation of an average value, for golfer <NUM>, for a plurality of MEMS offset measurements, as detailed above. Essentially, using the MEMS offset measurements, a particular putting stroke is defined for golfer <NUM> (e.g., the ten foot putting stroke of golfer <NUM> or the five foot putting stroke of golfer <NUM>). Mobile device <NUM> (and putting application <NUM>) will then access (e.g., either by accessing memory <NUM> or receiving the information in real-time via input/output <NUM> across a wireless communication link in a conventional manner). A comparison is made, using putting application <NUM>, between the calculated average player value (e.g., the <NUM> foot putting stroke of golfer <NUM>) with that of the compiled library of putting information for the same putt distance (e.g., ten feet) and same green speed to identify a set of precise putting distance guidance (e.g., a tempo and a vertical angle needed to make the putt at the specific distance). In the way, in accordance with the embodiment, the recorded putting stroke of golfer <NUM> (e.g., the ten foot putting stroke) is adjusted, as needed, using the compiled library of putting information to potentially increase the overall accuracy of the putting stroke applied by golfer <NUM>.

In accordance with an embodiment, using a feedback mechanism (e.g., haptic unit <NUM> on mobile device <NUM>) the set of precise putting distance guidance is communicated to the player in order for the player to apply a putting stroke to make the putt successfully. More particularly, mobile device <NUM> will use the set of precise putting distance guidance to generate a haptic file including certain haptic data associated with the putting distance guidance and golfer <NUM>. The use of haptics is generally well-known to those of ordinary skill in the art, so this disclosure will not describe these known aspects in any great detail herein. In an embodiment, mobile device <NUM> is a body sensor (MEMS) mobile phone which works in tandem with a another mobile device <NUM> which is a wrist (MEMS) smart watch attached to the wrist of golfer <NUM> such that the tandem of mobile devices capture both upper and lower body measurements to enhance the overall haptic experience. Using the haptic data file (e.g., as stored in memory <NUM>), processor <NUM> communicates the haptic data file to haptic unit <NUM>. The haptic emulator unit <NUM> processes the haptic data to produce a haptic, tactile sensation for golfer <NUM> in order to facilitate an improved tempo, distance control/range, and customize the putting experience to provide golfer <NUM> with the best possible results. In accordance with the embodiment, mobile device <NUM> is next affixed (i.e., having been removed from the temporary position (i.e., shown as position <NUM>) on the putter shaft as detailed above for calibration purposes) to the body of golfer <NUM> at a second position (e.g., on a belt - shown as position <NUM>) using a suitable clip or other conventional device for carrying a mobile device on an individual's body, and the haptic feedback communicates the adjusted putting stroke (as detailed above) to promote a putting stroke that is more likely to succeed in making the putt. Haptic unit <NUM> thus reproduces the "touch and feel" of the putt using haptic feedback, allowing the user to sense tempo, putter force, and other haptic effects.

In accordance with a further embodiment the putting experience may be highly personalized through haptic unit <NUM>. Before haptic emulator unit <NUM> renders the haptic data in the haptic file, mobile device <NUM> may retrieve the user's (e.g., golfer <NUM>) personalized anthropometrical data <NUM>. The anthropometrical data describes the physical, two-dimensional or three-dimensional measurements of the user's various body parts, for example, and this may dimensionally describe the user's hand, arm, head, leg, and/or torso. The anthropometrical data may even dimensionally describe the user's whole body, including weight, height, and body mass, and any other features desirable in playing golf. Whatever the anthropometrical data, mobile device <NUM> retrieves the user's personalized anthropometrical data (e.g., from memory <NUM>),and mobile device <NUM> may then process the haptic data in the haptic file using the user's personalized anthropometrical data <NUM>. In this way, haptic unit <NUM> may be caused to render the haptic data according to the user's personalized anthropometrical data. That is, the haptic unit <NUM> reproduces the "touch and feel" of the putt (e.g., the putting stroke), but the haptic (and tactile) effect is personalized to the golfer's personal dimensions including any dimensions or other features of putter <NUM> that golfer <NUM> is using at the time.

<FIG> shows a flowchart of illustrative operations <NUM> for generating a haptic rendering and experience using the mobile device of <FIG> in accordance with an embodiment. At step <NUM>, the set of precise putting distance guidance information is received, and at step <NUM> the haptic data is generated and, illustratively stored. If further personalization of the putting experience is desired, at step <NUM>, then the personized anthropometrical data is retrieved at step <NUM> to supplement the generated haptic data. The haptic data is then rendered via the mobile device, at step <NUM>, to golfer <NUM> as detailed above.

Of course, the experience of golfer <NUM>, produced in accordance with the discussion herein above, may take shape in a variety of ways and circumstances. For example, golfer <NUM> may align the putt as specified by mobile device <NUM> and address golf ball <NUM> with putter <NUM> and perform one or more practice strokes (i.e., not actually striking golf ball <NUM> and, for example, making the strokes adjacent to the location of golf ball <NUM> on golf green <NUM>). Then, mobile device <NUM>, will initiate a short countdown signaling to golfer <NUM> that the actual putting session is ready to start in accordance with the operations detailed above. For example, golfer <NUM> may receive a two pulse haptic feedback to begin the back swing of putter <NUM>, and at the apex of the golf stroke (i.e., the vertical angle need to successfully hole/make the putt as determined in accordance with the operation previously described), golfer <NUM> will receive three (<NUM>) short/quick haptic pulses from mobile device <NUM>. At the bottom of the putting stroke (i.e., when impact between putter <NUM> and golf ball <NUM> is expected), golfer <NUM> may receive two (<NUM>) short/quick haptic pulses to indicate that golfer <NUM> should complete the putt by striking golf ball <NUM> and following through with putter <NUM> as is done typically in completing a putting stroke. In this way, the tempo and vertical angle needed to make the putt is haptically communicated to golfer <NUM> to execute the putt with putter <NUM>.

Of course, once golfer <NUM> has experienced the putting session employing the haptic feedback mechanism of mobile device <NUM>, he may wish to alternate between using mobile device <NUM> and not using mobile device <NUM> to practice putting. That is, after utilizing mobile device <NUM>, golfer <NUM> may wish to rely on muscle memory from executing the prior putting strokes (as haptically assisted) to make further unassisted putts thereby improving the golfer's overall putting stroke and taking such improvement out to the golf course for an actual golf round.

<FIG> show exemplary displays and outputs of mobile device <NUM>, in accordance with an embodiment, in the execution of the illustrative operations of <FIG> and <FIG>. In particular, <FIG> shows display <NUM> which is a welcome display for the user of the mobile application, for example, executing on mobile device <NUM>. The user (e.g., golfer <NUM>) may select various inputs <NUM> (e.g., select the desired golf course, store a particular golf course in the device, access a user account, access a list of friends/contacts, and/or run a tutorial of the mobile application). <FIG> shows display <NUM> which is an input screen for golfer <NUM> to enter in the relevant green speed <NUM> (i.e., Stimpmeter reading) for greens on the golf course that golfer <NUM> is currently playing for use as detailed above in determining the precise putting guidance. <FIG> shows display <NUM> which provides a visual display of green <NUM> and golf hole <NUM> (as discussed previously and shown in <FIG>) overlaid with heat map <NUM> (i.e., a contour map also showing elevation changes <NUM>-<NUM> and <NUM>-<NUM>), sprinklers <NUM>, and contour lines <NUM>. In addition, hole location <NUM> shows the current location of golf hole <NUM> on golf green <NUM> together with the aforementioned characteristics.

<FIG> shows display <NUM> with the exemplary results of executing the operations discussed above for determining precise putting information. In particular, display box <NUM> shows the specific putt characteristics <NUM> to be undertaken in terms of the height difference between golf ball <NUM> and golf hole <NUM>, and overall distance, and putt characteristics <NUM> are the precise aiming characteristics as determined in accordance with the operations detailed previously for golfer <NUM> to use in making the putt (i.e., hit the putt according to putt characteristics <NUM> at target area <NUM> along putt trajectory <NUM> aided by the haptic feedback provided to golfer <NUM> via mobile device <NUM> as detailed above. <FIG> shows display <NUM> substantially the same information as in <FIG> but includes heat map <NUM> overlaid onto the display for additional information.

It should be noted that for clarity of explanation, the illustrative embodiments described herein may be presented as comprising individual functional blocks or combinations of functional blocks. The functions these blocks represent may be provided through the use of either dedicated or shared hardware, including, but not limited to, hardware capable of executing software. Illustrative embodiments may comprise digital signal processor ("DSP") hardware and/or software performing the operation described herein. Thus, for example, it will be appreciated by those skilled in the art that the block diagrams herein represent conceptual views of illustrative functions, operations and/or circuitry of the principles described in the various embodiments herein. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo code, program code and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer, machine or processor, whether or not such computer, machine or processor is explicitly shown. One skilled in the art will recognize that an implementation of an actual computer or computer system may have other structures and may contain other components as well, and that a high level representation of some of the components of such a computer is for illustrative purposes.

Claim 1:
A method comprising:
receiving a library of putting information for executing a putt of a golf ball to a golf hole located on a golf green, the library comprising at least a plurality of simulated putting strokes, each simulated putting stroke associated with a respective use of a golf putter for executing the putt of the golf ball to the golf hole;
compiling a set of golfer putting data, the set of golfer putting data including (i) a green speed associated with the golf green; and (ii) data specific to a plurality of actual putting strokes performed by a golfer using the golf putter for executing the putt of the golf ball to the golf hole, the data specific to the plurality of actual putting strokes captured using a user device;
determining a representative putting stroke for the golfer associated with the putt based on a comparison between a calculated average player value with that of the set of golfer putting data compiled for the same putt distance and same green speed;
comparing the plurality of simulated putting strokes to the plurality of actual putting strokes and determining a putting stroke offset;
adjusting the representative putting stroke using the putting stroke offset; and
communicating the adjusted representative putting stroke to the golfer by rendering, via a mobile device and in response to the mobile device moving from a first position to a second position, haptic sensations to the golfer using a set of haptic data corresponding to the executing of the putt of the golf ball by the golfer.