When playing a round of golf, it is often difficult to determine how to play each hole. Because of this, some golfers use human caddies to help them make decisions as they play. Such decisions may include, for example, which club to use for a particular stroke, how far to hit a particular ball in order to set up for a strong next stroke, and where to aim when putting on an uneven green. Due to the significant expense associated with hiring a caddy for a full round of golf, most golfers don't use a caddy although they may benefit from the advice that a caddy would normally provide. Various embodiments described below may help to provide such advice without the expense associated with hiring a human caddy.
A non-transitory computer-readable medium, according to various embodiments, stores computer executable instructions for receiving information regarding a particular golf player, the particular golf player information comprising one or more types of information selected from a group consisting of: (1) a performance of the particular golf player on one or more particular golf courses; (2) a handicap of the particular golf player; (3) a tendency of the particular golf player to hit a slice when playing golf; (4) a tendency of the particular golf player to hit a hook when playing golf; and (5) a tendency of a golf play of the particular golf player to change when the particular golf player plays in one or more inclement playing conditions. The non-transitory computer readable medium further stores computer executable instructions for: (1) receiving information regarding a particular hole of a particular golf course that the particular golf player is currently playing; and (2) using the information regarding the particular golf player and the information regarding the particular hole of the particular golf course to generate customized advice for playing the particular hole, the customized advice being customized for the particular golf player based at least in part on the golf player information. In various embodiments, the non-transitory computer-readable medium stores computer executable instructions for communicating the customized advice to the golf player via a computer system that is integrated into a set of computerized eyewear as the particular golf player plays the particular golf hole.
In various embodiments, a computer-readable medium stores computer-executable instructions for receiving information regarding a particular hole of a particular golf course and receiving information regarding a particular location of a particular player's ball on the particular hole of the particular golf course. The medium also stores instructions for using the information regarding the particular hole of the particular golf course and the information regarding the particular location of the particular player's ball to generate a graphical representation. In various embodiments, the graphical representation includes: (1) the particular hole of the particular golf course, the graphical representation comprising a fairway, a green, and a pin location, each of which is associated with the particular hole; and (2) the location of the player's ball on the particular hole. In various embodiments, the computer-readable medium stores computer-executable instructions for displaying the graphical representation on a display of a computerized set of eyewear that is worn by the particular player as the particular player plays the particular hole.
According to various embodiments, a computerized golf scoring system comprises a computerized set of eyewear comprising at least one processor, memory, and a display operatively connected to display information provided by the at least one processor. The computerized set of eyewear is adapted for receiving, from a golf player, a verbal indication that the golf player is about to take, has taken, or is in the process of taking a stroke on a particular hole of golf. The computerized set of eyewear is further adapted for communicating, to the golf player, the golf player's score for the particular hole, wherein the golf player's score for the particular hole has been calculated by the computerized golf scoring system based, at least in part, on the verbal indication that the golf player is about to take, has taken, or is in the process of taking a stroke on the particular hole of golf.
Having thus described various embodiments in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Various embodiments now will be described more fully hereinafter with reference to the accompanying drawings. It should be understood that the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
A golf caddy system according to various embodiments includes a wearable device (e.g., eyewear, such as Google Glass™, that has an integrated computer and one or more peripherals, such as a camera, a microphone, and one or more input devices) that is adapted for assisting a user in playing a round of golf and in assessing both their performance in a particular round and their overall development as a golfer. In particular embodiments, the golf caddy system acquires data while the player plays a particular round of golf via the system's integrated camera, voice commands from the user, and via a link to one or more remote servers that store information regarding the current golf course, the user's past performance and preference, current and past weather conditions, and the play of other users on the same or similar golf courses.
In various embodiments, the system is adapted to provide advice to the user as they play a round of golf. The advice may include, for example, advice as to which club to select for a particular stroke, where to aim when executing a particular stroke, overall strategies for playing a particular hole or golf course, or any other suitable advice. They system may also provide general information to the user, such as wind direction and/or speed, the user's current score, the current or past scores of other players who are playing or who have played the course or hole that the user is currently playing, etc. In various embodiments, the system is configured to generate visual displays and reports that may be useful to the user as they play a particular course, and as the player refines their game and prepares to play future rounds. In particular embodiments, such reports and displays are displayed on an electronic display of a wearable device (such as computerized eyewear or a computerized headband) that the wearer wears adjacent their face while playing golf.
As will be appreciated by one skilled in the relevant field, the present invention may be, for example, embodied as a computer system, a method, or a computer program product. Accordingly, various embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, particular embodiments may take the form of a computer program product stored on a computer-readable storage medium having computer-readable instructions (e.g., software) embodied in the storage medium. Various embodiments may take the form of web-implemented computer software. Any suitable computer-readable storage medium may be utilized including, for example, hard disks, compact disks, DVDs, optical storage devices, and/or magnetic storage devices.
Various embodiments are described below with reference to block diagrams and flowchart illustrations of methods, apparatuses (e.g., systems) and computer program products. It should be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by a computer executing computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture that is configured for implementing the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of mechanisms for performing the specified functions, combinations of steps for performing the specified functions, and program instructions for performing the specified functions. It should also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and other hardware executing appropriate computer instructions.
In addition, the Golf Program Server 25 includes at least one storage device 63, such as a hard disk drive, a flash drive, a floppy disk drive, a CD Rom drive, or optical disk drive, for storing information on various computer-readable media, such as a hard disk, a removable magnetic disk, or a CD-ROM disk. As will be appreciated by one of ordinary skill in the art, each of these storage devices 63 is connected to the system bus 61 by an appropriate interface. The storage devices 63 and their associated computer-readable media provide nonvolatile storage for the Golf Program Server 25. It is important to note that the computer-readable media described above could be replaced by any other type of computer-readable media known in the art. Such media include, for example, magnetic cassettes, flash memory cards, digital video disks, and Bernoulli cartridges.
A number of program modules may be stored by the various storage devices and within RAM 67. Such program modules include an operating system 80, a Golf Course Data Acquisition Module 100, a Golf Player Data Acquisition Module 200, a Playing Conditions Data Acquisition Module 300, a Golf Caddy Module 400, and a Processing and Reporting Module 500. The Golf Course Data Acquisition Module 100, Golf Player Data Acquisition Module 200, Playing Conditions Data Acquisition Module 300, Golf Caddy Module 400, and Processing and Reporting Module 500 control certain aspects of the operation of the Golf Program Server 25, as are described in more detail below, with the assistance of the processor 60 and an operating system 80.
Also located within the Golf Program Server 25 is a network interface 74 for interfacing and communicating with other elements of a computer network. It will be appreciated by one of ordinary skill in the art that one or more of the Golf Program Server 25 components may be located geographically remotely from other Golf Program Server 25 components. Furthermore, one or more of the components may be combined, and additional components performing functions described herein may be included in the Golf Program Server 25.
As noted above, various aspects of the system's functionality may be executed by certain system modules, including the system's Golf Course Data Acquisition Module 100, Golf Player Data Acquisition Module 200, Playing Conditions Data Acquisition Module 300, Golf Caddy Module 400, and Processing and Reporting Module 500. These modules are discussed in greater detail below.
After the Golf Course Data Acquisition Module 100 receives the data discussed above, it proceeds to Step 120 where determines which golf course the user is playing using information from a suitable database. The system may do this, for example, by accessing a local database of golf courses stored on the Golf Caddy Device 20, or by accessing a database associated with (e.g., stored on) a remote computer such as the Golf Program Server 25 of
The system then advances to Step 130, where it gathers information for the current golf course including scorecard information (e.g., the par of each hole from each tee, the yardage of each hole, images of each hole, etc.), topography of the course and greens, and a current pin placement for each hole, etc . . .
Following Step 130, the system progresses to Step 140 where the system gathers score information from other players who have played the course, including information pertaining to famous players (e.g., Tiger Wood's statistics from playing the golf course).
After gathering information from other players of the golf course, at Step Golf Program Server 25, the system gathers general hole notes from caddies and other players who have played the course. This general hole information, for instance, may include notes relating to where to aim from the tee and other areas of the particular hole, the current relative speed of the greens, and unseen obstacles to avoid.
At Step 160, Golf Course Data Acquisition Module 100 stores the data to local memory, ending the process.
Golf Player Data Acquisition Module
For example, the user's preferences for club choice may include the user preferring to hit a 3 wood off of the tee in long distance situations rather than a driver. The user's preference may also include preferring to hit a wood from the fairway rather than an iron in long distance situations. Additionally, the user may prefer to use a putter from the fringe of the green rather than using a wedge. The user's preferences for club choice may also specify the current type of shot that the user is trying to execute (e.g., whether the user is trying to complete a standard shot or a trick shot to avoid a hazard).
The user's preferences for caddy input may include, for example: (1) the user's preference for receiving club recommendations from the system based on the user's current position on the course; (2) the user's preference for hearing strategic recommendations (e.g., verbalized or text notes from other players who have played or who are currently playing the hole); (3) the user's preference for hearing a summary of their score before each shot and/or after each shot (e.g., “You are now on your third stroke, 50 yards from the pin”); (4) the user's preference for hearing how fast or slow the greens are running; and (5) the user's preference for hearing swing tips and other advice on golf techniques. In any case, such instructions may be played for example, through a suitable speaker associated with, or plugged into, the Golf Caddy Device 20, or displayed on the Golf Caddy Device's display screen 26.
Following Step 210, the system ends the process at Step 220 by saving the data about the current user to local memory.
The system then advances to Step 320 where it gathers time-specific hole notes from caddies and from other players who have played the course recently. Such notes may include, for example, current greens speeds, pin location, etc. At Step 330, the process ends with the system saving the gathered data to local memory.
After the Golf Caddy Module 400 receives the indication in Step 410, it receives an indication that the user is beginning play of a particular hole at Step 420. The system may, for example, receive an indication that the user is currently located at a tee box of the particular hole (e.g., which the system may determine based on a substantially current GPS location of the user). At Step 430, based at least in part, on data retrieved by the Golf Course Data Acquisition Module 100, the Golf Player Data Acquisition Module 200, and/or the Playing Conditions Data Acquisition Module 300, the system suggests a club that the user should use for the first stroke on the current hole. Next, in Step 440, the system—based at least in part, on data retrieved by the Golf Course Data Acquisition Module 100, the Golf Player Data Acquisition Module 200, and/or the Playing Conditions Data Acquisition Module 300—suggests a direction in which the user should hit their first stroke. Following Step 440, the system receives an indication that the user has hit their first stroke at Step 450. The system may then save the location of the first stroke to memory at Step 460.
After the Golf Caddy Module 400 saves the information relating to the first stroke, it advances to Step 470 where it receives an indication that the user has arrived at the location of the ball where the second stroke will be made. Also at Step 470, the system saves, to memory, the location of where the ball came to a rest after the first stroke as the location of the user's second stroke. Assuming the user did not hit the ball into the hole on the first stroke, at Step 480, based at least in part on data retrieved by the Golf Course Data Acquisition Module 100, the Golf Player Data Acquisition Module 200, and/or the Playing Conditions Data Acquisition Module 300, the system suggests a club that the user should use for the second stroke on the current hole. Next, at Step 490, the system—based at least in part, on data retrieved by the Golf Course Data Acquisition Module 100, the Golf Player Data Acquisition Module 200, and/or the Playing Conditions Data Acquisition Module 300—suggests a direction in which the user should hit their second stroke.
The system then advances to Step 492 where the above process is repeated until the user completes the hole. In various embodiments, the above process is repeated for each subsequent hole until the user completes the round of golf. At Step 494, as the user plays the hole, the system records relevant information to memory. This information can include, for example: (1) the location of each stroke; (2) the time that the user takes each shot; (3) the orientation of the user relative to the ball and pin as they take each shot; (4) the club head speed for each stroke; (5) the direction that each stroke is aimed; (6) ball flight for each stroke (e.g., push hook, push, push slice, hook, straight, slice, pull hook, pull, pull slice, draw, fade, etc.); (7) where the club face made contact with the ball (e.g., at the sweet spot, toe, heel, hosel, leading edge, top edge, etc.); and (8) any other information (e.g., the user's heart rate, breathing rate, temperature, etc.). The system may do this using any appropriate sensors, such as a GPS sensor, one or more accelerometers, a compass, one or more cameras associated with the system (e.g., a camera attached adjacent a pair of eyewear), direct input of data by the user, one or more health related sensors on the device or on other devices linked to the device or the user's handheld device (e.g., a wearable watch, heart monitor, etc., one or more sensors within the golf club). In various embodiments, the system may also assist a user in playing against others in real time, for instance, by showing the position of the user's ball and the location of the opponent's ball after each stroke on the wearable device's display screen.
Next, the system advances to Step 496 where it ends the process by saving the data to local memory. In particular embodiments, the system may transmit some or all the data to the Golf Program Server 25 for remote storage and/or processing. As noted above, the system may execute the above process for each hole that the user plays.
Next, at Step 512, the system generates and displays any of a variety of different reports to the user which may include, for example: (1) a virtual scorecard for the round; (2) average distance per club for the round; (3) the number of various ball flights in total and for each club (e.g., push hook, push, push slice, hook, straight, slice, pull hook, pull, pull slice, draw, fade, etc.); (4) a visual “heat map” of all player's shots for each hole, including the user's shots on the hole; and (5) the user's performance compared to other users (e.g., a particular other player, the average player who played the course that day, month, or year, etc.)
The visual heat map can differentiate and indicate by color the density of shots that were hit by the user in different zones on the course. For example, the system may divide each hole into color-coded sections where the green and the fairway are green, the fringe of the green and the rough are yellow, and the hazards and out of bounds areas are red. The system may then provide a chart at the end of the round showing how much time was spent in each color-coded section.
Alternatively, the heat map may track which side of each hole the user favors, including the left, middle, or right. The heat map may also include the path taken from the tee to the green for one or more particular holes to show the user that he or she generally hits the ball in a zigzag path across the course rather than down the middle. Reports generated from the heat map may also include reports that indicate fairway shot information, putting information, time spent in the fairway versus the rough, time spent reading the green (walking around the hole to analyze the slope and speed from different angles), or any other suitable reports.
The following describes an exemplary user experience using the Golf Caddy Device 20. To begin, the user arrives at a particular golf course ready to play a round of golf. Next, the user may put on the caddy device, which may be in the form of glasses, other headgear, or a device that can be worn around another part of the body. The user then links the device (e.g., using Bluetooth) to the user's smartphone or other handheld device, which is connected to a cellular network. Following this, the user may initiate an app on the smartphone or other handheld device that will initiate communication between the smartphone and the wearable caddy device with a remote server (e.g., the Golf Program Server 25). Next, the user gives a voice command indicating that the user is starting a new round of golf. The system may then use GPS to determine the golf course that the user is playing. If the system finds the golf course using GPS, then the system loads information for the golf course from the Golf Program Server 25 to local memory. If the system cannot find the golf course using GPS, the system asks the user to speak the name of the golf course or input the name of the golf course via their smartphone.
After finding the course using either GPS or the Golf Program Server 25, the user proceeds to the first hole and moves into position to hit the first stroke. The user speaks a command indicating that he or she is about to take a first stroke. At this point, the system can provide data that a caddy would normally provide including: (1) suggested club; (2) visual overview of the hole layout and pin position; (3) historical information about user and other user's past performance; and/or (4) strategic information as to where to hit the shot (e.g., verbalized or text notes from other users or caddies on the hole).
After completing the first stroke, the user speaks a command indicating this to the device. The system then records GPS location of the user and the time of the first stroke, along with other pertinent information related to the stroke. This information may include, for example: (1) the location of each stroke; (2) the time that the user takes each shot; (3) the orientation of the user relative to the ball and pin as they take each shot; (4) club head speed; (5) aim; (6) ball flight (e.g., push hook, push, push slice, hook, straight, slice, pull hook, pull, pull slice, draw, fade, etc.); (7) where the club face made contact with the ball (e.g., at the sweet spot, toe, heel, hosel, leading edge, top edge, etc.); and (8) any other information (e.g., the user's heart rate, breathing rate, temperature, etc.).
The user should then proceed to the resting place of the ball from the first stroke. If the ball is in the hole, the user should speak a voice command indicating this to the system. If the ball is not in the hole after the first shot, once the user is in position for the second stroke, the user speaks a voice command indicating that he or she is ready to take the second shot. The user and system then repeat the process above for each stroke and each hole.
During playing experience, the user may ask the system for current information including: (1) the user's score; (2) wind speed; (3) scores of other players; (4) current elevation; (5) elevation of the pin; (6) distance to the pin; (7) average score on the hole for the day; (8) etc. The user may also generate reports of the user's performance such as those described above either during or after playing.
In addition, the user may also play virtual rounds against one or more players who have played the hole in the past (including their own previous scores for the course). This may include a simulated game based on past scores. This virtual round against another player may include a stroke by stroke visual of the opponent's procession through the course. This round of golf may be facilitated by showing the location of the opponent's first stroke before or after the user's first stroke. Then, the system could provide the second and subsequent strokes of the opponent to the user. The system can provide the location of the opponent's strokes or use a heat map to show the opponent's progress on the course. This virtual play would give the user the feeling that he or she is really playing against someone. In addition, seeing where an opponent hit certain shots or where the opponent struggled on the course can provide the user with strategic information of the course.
The virtual play may also be implemented in tournament play that begins as a shotgun start where players begin playing on different holes of the course. This may enable the user to keep track of opponents on the course and compare personal scores to that of the opponent and all other players on each hole. For example, if other opponents hit into the left-hand fairway sand trap on the 5th hole from their tee shot, the user would know to aim to the right from the tee.
Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. For example, as will be understood by one skilled in the relevant field in light of this disclosure, the invention may take form in a variety of different mechanical and operational configurations. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for the purposes of limitation.