US20150032237A1 - Automated golf scoring - Google Patents
Automated golf scoring Download PDFInfo
- Publication number
- US20150032237A1 US20150032237A1 US13/950,682 US201313950682A US2015032237A1 US 20150032237 A1 US20150032237 A1 US 20150032237A1 US 201313950682 A US201313950682 A US 201313950682A US 2015032237 A1 US2015032237 A1 US 2015032237A1
- Authority
- US
- United States
- Prior art keywords
- data
- player
- swing
- acceleration data
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
- A63B71/0619—Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
- A63B71/0669—Score-keepers or score display devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
Definitions
- the present disclosure relates generally to tracking athletic performance, and more particularly, to systems and methods for automated golf scoring with wearable devices connectable to scorekeeping data processing devices having minimally intrusive interfaces.
- Golf is played recreationally and professionally worldwide by numerous individuals of both genders, across a wide range of age and skill level.
- the fundamental objective is to strike a ball with a club starting from the teeing ground into a hole some distance away.
- a golf course is comprised of multiple holes (eighteen or nine, depending on the size of the course) that are played in sequence, and scored based upon the number of strokes taken from the tee-off to the final putt in which the ball is hit into the hole.
- the game appears simple, but there are numerous complexities that continue to challenge players of the highest skill level.
- Each “hole” or playing area of the course is generally defined by a bounded grassy area including the aforementioned teeing ground and the hole, which is positioned within a green. Between the green and the teeing ground is an area referred to as the fairway, which has short, evenly cut grass that is the most advantageous surface from which to take a subsequent shot.
- the fairway may extend a specified distance at a specified angle relative to the teeing ground and the green. On the outliers of the fairway but still within the course boundaries is the rough, which has longer cut grass.
- the distance between the tee and the hole is such that multiple strokes are necessary, and so skillfully placing each shot to different parts of the fairway are rewarded.
- grassy areas of the course there may be various water hazards, bunkers or sand traps, and trees/vegetation that block the flight of the ball.
- scoring in golf fundamentally involves counting the number of strokes a player takes from tee-off to hole-in. As a general matter, the player with the fewest number of strokes over the entire course is the winner.
- the task of keeping score is typically handled by the players themselves.
- the number of strokes can be kept manually and written on paper as the player progress through the holes.
- adjustments to the number of strokes for the hole for penalties and the like, or limiting the number of strokes counted can likewise be made manually.
- the devices may include a display screen and one or more buttons to increment/decrement the strokes as they are played.
- Manual entry tends to disrupt the flow of gameplay. Specifically, after the stroke is completed, it is necessary for the player to retrieve the device from either the pocket or the golf bag which may be stowed away from the tee box in a golf bag and/or in a golf cart, activate the device, and input a stroke. This must be repeated for each stroke, though with some devices, the score for the hole may be entered upon finishing play for that hole. Regardless, the process of entering such data is tedious. It will be recognized that besides the game itself, many enjoy golf as an opportunity to socialize and/or conduct business on an informal level, and scorekeeping may be too distracting to those ends.
- the present disclosure is directed to an automated golf scoring system using a combination of readings from various sensors to accurately count strokes.
- accelerometer data from a wearable device and location data from a mobile communication device such as a smart phone, is utilized to assess which of possibly several accelerometer events should be deemed a shot.
- the need for manual intervention for scoring is minimized, while providing useful information regarding game progress to the player.
- a method for automated scoring in connection with a sensor unit wearable by the player and a data processing unit in communication therewith may begin with receiving a measurement of a first swing motion by the player with an accelerometer of the sensor unit.
- the accelerometer may generate first acceleration data corresponding to the first swing motion.
- the method may include detecting a resting state of the player with first speed data from a location positioner of the data processing unit.
- the first speed data may be less than a predetermined stationary speed threshold to detect the resting state of the player.
- the method may further include a step of detecting a movement of the player with second speed data from the location positioner of the data processing unit.
- the second speed data may be greater the predetermined stationary speed threshold to detect the movement of the player.
- the method may also include incrementing a shot counter that is retained on the data processing unit upon detecting the movement of the player. This step may also depend on an evaluation of the first acceleration data in the swing queue having a higher magnitude than any existing acceleration data in the swing queue.
- Certain other embodiments of the present disclosure contemplate respective computer-readable program storage media that each tangibly embodies one or more programs of instructions executable by a data processing device to perform the foregoing method.
- the sensor unit may include an accelerometer that measures a swing motion by a player and generates acceleration data corresponding thereto.
- the data processing unit may be in communication with the sensor unit and is receptive to the acceleration data.
- the data processing unit may have various modules, including a geographic locator module, a swing detection module, and a stroke counter module.
- the geographic locator module may output speed data corresponding to the player's movement.
- the swing detection module may cooperate with the geographic locator module and the sensor unit to store acceleration data into a swing queue when a resting state of the player is detected. The detection of the resting state may be based upon the speed data being less than a predetermined stationary speed threshold.
- the stroke counter module cooperates with the swing detection module and the geographic locator module.
- a shot counter that is retained on the data processing unit may be incremented by the stroke counter module when a movement of the player is detected while a most recently recorded acceleration data has a highest magnitude among other acceleration data in the swing queue.
- FIG. 1 is a block diagram illustrating the components of an automated golf scoring system including a wearable sensor unit and a data processing unit;
- FIG. 2 is a detailed block diagram of the automated golf scoring system and its constituent functional modules
- FIG. 3 is a flowchart illustrating one method for automated golf scoring in accordance with an embodiment of the present disclosure
- FIG. 4 is a plot of acceleration magnitude data as measured by an accelerometer of the wearable sensor unit
- FIG. 5 is a detailed flowchart illustrating one implementation of detecting player swings
- FIG. 6 is a detailed flowchart illustrating one implementation of counting a player stroke
- FIG. 7 is an example user interface on the data processing unit showing game play progress and counted strokes.
- FIG. 8 is an example user interface on the wearable sensor unit showing game play progress and counted strokes.
- an automated scoring system 10 for golf includes a wearable sensor unit 12 and a data processing unit 14 .
- the automated scoring system 10 is passive, in that no user intervention is necessary to keep score during play, thus reducing distractions and heightening enjoyment.
- the wearable sensor unit 12 is understood to be attachable to one of the limbs of the player, though in one preferred but optional embodiment, attachment to the wrist is contemplated. Other attachment points for the wearable sensor unit 12 are possible, but it will be recognized that because the most significant motion occurring during a golf stroke is in the arms regardless of the type of stroke being employed, sensors taking measurements thereof are likely to provide the most useful information. This is not intended to preclude other devices that attach to the pants or a belt and which may therefore be more proximal to the hips of the player, for example.
- the wearable sensor unit 12 is a watch-type device that has an enclosure for its various functional components and a strap that is configured to wrap around the player's wrist. Furthermore, the wearable sensor unit 12 includes an accelerometer 16 that measures motion and generates a stream of acceleration/speed data.
- the watch form factor is envisioned as being better suited for golf. Once worn, little adjustment is necessary, and to the extent any manipulation of the inputs is required for making scoring adjustments, it is readily accessible.
- the data stream from the accelerometer 16 is communicated to the data processing unit 14 over corresponding transceivers 18 , 20 .
- a wireless transmission modality is contemplated so that physical interference from cables is avoided during swings.
- the standard that presently has the most widely available and lowest cost components is understood to be Bluetooth, though any other suitable wireless communications may be substituted without departing from the scope of the present disclosure.
- a low energy variant Bluetooth LE may also be utilized.
- the functioning of the accelerometer 16 and the transceiver 18 may be managed by a processor 22 , which is understood to be a conventional data processing device that executes pre-programmed instructions based on certain inputs to generate outputs in response. Such instructions, along with other data, may be stored in a memory 24 .
- the wearable sensor unit 12 may further include one or more input devices 26 and one or more output devices 28 .
- the input devices 26 may be buttons accessible from the side of the bezel
- the output device 28 may be a display screen (liquid crystal or otherwise) that constitutes the front face of the bezel.
- Other input and output devices are possible, and the foregoing enumeration of components is intended to be exemplary and not limiting.
- the data processing unit 14 may be a widely owned mobile communications device such as a smartphone.
- a foundational aspect of such mobile communications devices is to place and receive telephone calls over a cellular network, but conventional smartphones are capable of running a variety of software applications including those that embody the contemplated methods of automated golf scoring and perform the various steps thereof.
- the data processing unit 14 has a processor 30 , much like the processor 22 of the wearable sensor unit 12 that executes pre-programmed instructions.
- the particular operands and execution sequence of the instructions may be governed by various input parameters provided from input devices 34 , while the results of executing the instructions may be shown on an output device 36 .
- the input device 34 and the output device 36 may be a combined touch screen display 38 , though it is possible to have separate input devices such as keypads, buttons, and slide switches.
- Every functional aspect of data processing unit 14 may be managed to one degree or another by the processor 30 .
- the transceiver 18 also connected to the central processing unit is the aforementioned transceiver 18 .
- the transceiver 20 may implement other communications modalities such as different generations of GSM (Global System for Mobile Communications), EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunications System), HSPA (High Speed Packet Access) and others.
- local area wireless networking technologies such as IEEE 802.11x (WiFi) may also be implemented by the transceiver 20 .
- WiFi IEEE 802.11x
- the data processing unit 14 may connect to wide area networks such as the Internet 40 to access various online services 42 .
- the data processing unit 14 includes a locator 44 , which is understood to be a Global Positioning System (GPS) receiver that outputs coordinate values corresponding to the current device position as reported by signals 46 from a network of GPS satellites 48 . It will be recognized that from multiple position readings over time, bearing, speed, and acceleration may be ascertained. Various embodiments of the present disclosure contemplate the use of such location data to ascertain player strokes, the details of which will be considered more fully below.
- the data processing unit 14 may also have other components 50 such as a digital camera capable of recording still images, as well as video in conjunction with the audio input device.
- One embodiment of the present disclosure contemplates a system comprised of various functional components or modules, while another embodiment contemplates a method.
- the segregation of these modules is presented by way of example only and not of limitation, and those having ordinary skill in the art will recognize the numerous possible ways in which different functions can be associated with different modules.
- the following example is but one implementation.
- the method may be implemented as a series of instructions executed by the processor 30 of the data processing unit 14 . In so implementing the method, the application may be developed as a set of cooperating modules.
- the system includes the wearable sensor unit 12 with the accelerometer 16 that measures a swing motion by the player. Acceleration data corresponding to that swing motion is generated, and transmitted to the data processing unit 14 . As indicated above, the data processing unit 14 is in communication with the wearable sensor unit 12 and is receptive to the acceleration data.
- the data processing unit includes a geographic locator module 52 , a swing detection module 54 , and a stroke counter module 56 , among others.
- the method for automated golf scoring begins with a step 300 of receiving a measurement of a first swing motion by the player. This measurement is made by the accelerometer 16 of the wearable sensor unit 12 , and generates first acceleration data that corresponds to the first swing motion. It is understood that the accelerometer 16 measures motion/acceleration along the x, y, and z axes, and the acceleration data is given for each.
- the graph of FIG. 4 is a plot 59 of the combined magnitude values of acceleration data over an example time period t 1 to t 2 , along with a plot 61 of speed data over the same time period.
- Predictable acceleration and speed/distance trends are expressly contemplated as a basis for determining a played stroke.
- a constant stream of data is generated and is being transmitted to the data processing unit 14 .
- the acceleration data may be filtered to exclude expected noise before further processing.
- a swing is characterized by a material acceleration while at rest, followed by an increase in speed/distance while acceleration normalizes to baseline.
- the spikes 60 , 62 , and 64 may be practice swings, while the last spike 66 may be the actual swing.
- the present disclosure contemplates the use of additional time-correlated data to count golf swings, and this may be achieved by detecting the resting state of the player in accordance with a step 302 .
- the resting state is detected based upon the speed data as reported by the geographic locator module 52 being less than a predetermined stationary speed threshold.
- “less than” is also intended to encompass “less than or equal to.”
- the resting state can be detected based upon the position data as reported by geographic locator module 52 , and more particularly, the coordinates as output by the locator 44 .
- the method continues with a step 304 of storing the received first acceleration data into a swing queue 68 that is managed by the swing detection module 54 .
- the swing queue 68 may be implemented in a variety of different ways, but in its simplest form, it is understood to be a reserved area of the memory 32 on which values can be stored and indexed for subsequent retrieval.
- the part of the automated scoring method involving the detection of swings as generally described above may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart of FIG. 5 .
- This may also be referred to as a swing analysis process that involves the detection of acceleration events of interest while the player is in a resting state.
- the data is understood to be queued for use by the stroke counting module.
- the acceleration data stored in the swing queue 68 may be deemed invalid and subject to disposal when certain expiration and/or timeout criteria are met.
- the entry point is the receipt of an accelerometer event per step 500 .
- the x, y, and z axis values are summed into a single magnitude value according to step 502 .
- This magnitude value serves as the basis for conditional block 504 , which involves a comparison to a swing threshold value.
- the swing threshold value may be variable, and depend on the specific location on the course that is being reported by the geographic locator module 52 .
- the reported location may be compared against a map of the course, referred to herein as course data, which defines specific areas of each hole, including locations of the teeing grounds, hazards, fairway, and the green, for example.
- the swing threshold may be adjusted lower when the reported location is on the green, while adjusted higher when the reported location is on the teeing grounds. Further still, the swing threshold may be adjusted to some intermediate value when the reported location is on the fairway.
- thresholds to be set depending on whether the reported location is within certain pre-defined bounded regions of the course, it is also possible to adjust this value based on the relative distance to the hole.
- the adjustment may be on a sliding distance scale. For example, a player positioned within several feet of the hole may involve a lower threshold than a player positioned on the outer limits of the green. Moreover, a player shooting the first or second stroke on the fairway may be further away (and hence involving a faster swing) than a player shooting the third or fourth stroke also on the fairway.
- the alternative embodiment in which the threshold is dynamically adjusted according to the distance from the hole is understood to account for this variability. The degree of adjustment necessary to account for differences in the expected acceleration data is readily ascertainable by those having ordinary skill in the art.
- conditional block 506 determines whether acceleration is currently being monitored. If not, the logic flow returns to the entry point until another acceleration event is detected in accordance with step 500 . Otherwise, program execution continues to yet another conditional block 508 to determine whether a timeout period has expired. If not, like the previous conditional block 506 , the logic flow returns to the entry point according to step 500 . If the timeout period has now expired, monitoring for acceleration is stopped, and the swing queue 68 is reset in step 510 . Thereafter, the program returns to wait for the detection of another acceleration event in step 500 .
- conditional block 512 determines whether the player is in a resting state. Again, this determination may involve the comparison of instantaneous speed data from the locator 44 , or of two or more location coordinate values from the locator 44 , and so long as such values are within a predetermined speed or distance threshold, the data processing unit 14 and hence the player is assumed to be stationary. Those having ordinary skill in the art will recognize that there are other possible techniques to ascertain movement to a greater degree of accuracy, and such techniques may be readily incorporated into the automated scoring system 10 .
- step 500 If the player is not determined to be at rest, then the program returns to wait for the detection of another acceleration event in step 500 . If the player is in the resting state, execution continues with step 514 of queuing the player location, i.e., storing the location value in the swing queue 68 .
- the latest captured acceleration data is compared against other acceleration data stored in the swing queue 68 in conditional block 516 . If the last captured acceleration data has the highest magnitude, it is stored in the swing queue 68 according to step 518 . It is possible to store only the acceleration data with the highest magnitude at any given time, with the latest captured acceleration data replacing the one previously with the highest magnitude. Alternatively, it is possible to store all received acceleration data that is time-indexed. Swing detection may be repeated to the extent there are other accelerometer events received according to step 500 .
- program flow proceeds to conditional block 520 , in which it is determined whether acceleration is being monitored or not. If it is not, in step 522 the monitoring is started. Thereafter, a swing counter is incremented per step 524 . The program flow then waits for another acceleration event in step 500 .
- the swing detection module 54 cooperates with the geographic locator module 52 and the wearable sensor unit 12 to determine a swing by the player. Acceleration data corresponding to the swing is stored in the swing queue 68 when it coincides with the resting state of the player. Again, as indicated above, this resting state is determined based upon the position data from two instances in time within a timeout period that are sufficiently proximal to each other to constitute a stationary state.
- step 306 of detecting a movement of the player This may be based upon second speed data or, alternatively, second position data, both or either of which may be reported by the geographic locator module 52 .
- detecting the movement is based upon either the second speed data being greater than the stationary speed threshold, or two or more readings of the second position data being outside the stationary position threshold, i.e., when the location readings differ from one time instant to another by more than a threshold amount, it is determined that the player is moving.
- “greater than” is intended to encompass “greater than or equal to,” as well.
- step 308 of incrementing a shot counter that is retained on the data processing unit 14 , so long as the latest acceleration data stored in the swing queue 68 has the highest magnitude.
- the existence of a value therein may be the second condition for incrementing the shot counter (in addition to detecting the movement of the player). As indicated above, it is possible for there to be no data in the swing queue 68 when a timeout occurs and the swing queue 68 is reset.
- the part of the automated scoring method involving the counting of strokes as generally described above, including steps 306 and 308 , may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart of FIG. 6 .
- This may also be referred to as a stroke counting process that analyzes motion when valid data is queued by the swing analysis process. If the proper criteria are met, the queued values are stored in memory and used to increment the player's score.
- An entry point 600 is the stroke counter module 56 being in a recording state.
- a first condition block 602 involves the determination of whether acceleration is currently being monitored. As indicated above, monitoring can be initiated when the latest captured acceleration data is the maximum in the swing queue 68 , and stopped when a timeout period has expired. If monitoring is ongoing, execution of the programmed logic continues to a state 603 in which no further action is taken until monitoring is stopped. Otherwise, there is a second condition block 604 to determine whether there is there are any acceleration data and location data that has been recorded. Referring back to the flowchart of FIG.
- acceleration data and location is stored in the swing queue 68 when the latest captured acceleration data has the highest magnitude, and the player was at rest when it was captured.
- the swing queue 68 was reset following the expiration of the timeout as evaluated in condition block 508 , per state 605 , there is no queued data to process, and execution returns to wait until a recording state can be resumed at entry point 600 .
- conditional block 606 The expiration of the timeout is evaluated again in conditional block 606 . If expired, as per state 607 , it is understood to be outside the evaluation window. To the extent there were any values in the swing queue 68 , they are discarded as stale. If it is still within the evaluation window, the next chained conditional block 608 involves an evaluation of whether the player speed is greater than a predetermined speed threshold. This evaluation and subsequent steps are based upon the assumption that following an actual stroke by the player, the player will begin moving away from where the stroke was taken, whether that be away from the teeing grounds and waiting to allow the next player to take a shot, or toward the next play position on the course.
- the determination of speed in the conditional block 608 may rely upon the location data as reported by the geographic locator module 52 in the same manner as discussed above in relation to a determination of the player's resting state, i.e., calculating a difference in positions over a set time period. If the player is not moving or not moving enough per state 609 , execution returns to the entry point 600 .
- step 610 of incrementing the shot counter, and storing the acceleration data into a stroke log. Also stored in the stroke log and associated with the acceleration data is the corresponding location data from when that acceleration was measured.
- the swing queues 68 , along with other internal counters are reset in step 612 .
- the aforementioned functions are understood to be implemented by the stroke counter module 56 . Furthermore, these functions are achieved in cooperation with the swing detection module 54 and the geographic locator module 52 .
- the shot counter is incremented by the stroke counter module 56 when a movement of the player is detected in conjunction with the acceleration data that exceeds the swing threshold and is the maximum amongst others that may have been previously detected.
- the score display is updated in step 614 .
- the data processing unit 14 may further include an output module 70 for performing this step.
- One contemplated output may be on the data processing unit 14 , and specifically on the touch display screen 38 thereof.
- An exemplary user interface 71 for the automated golf scoring apparatus is shown in FIG. 7 .
- the data from the shot counter i.e., the number of strokes counted for the current hole being played, is centrally displayed in a stroke display section 72 .
- the interface includes a stroke increment button 74 and a stroke decrement button 76 . Notwithstanding the availability of these manual score adjustment interface elements, it is expressly contemplated that the automated scoring system 10 requires no user intervention, and the data processing unit 14 may be kept in the pocket of the player or other non-intrusive place.
- each stroke is associated with a specific location, and the location at any given point during play is available from the geographic locator module 52 . Accordingly, it is possible to present a wide variety of useful information about the course and/or the particular hole being played on the user interface 71 .
- a hole indicator 78 that also displays the total yardage from the tee to the hole.
- the example of FIG. 7 shows that the player is currently playing hole 6, which has a distance of 479 yards.
- a par indicator 80 that also includes a display of the course handicap.
- a graphical overview 82 of the entire playing area of the hole is also presented, with various stroke indicators 84 being placed thereon corresponding to the locations of recorded strokes.
- the progression of gameplay may also be visualized in a scoring table 86 , which lists each hole and its par in a first row 86 a and the total recorded strokes for each hole in a second row 86 b.
- the configuration of the user interface 71 is presented by way of example only and not of limitation. Those having ordinary skill in the art will recognized alternative layouts and different information that could be presented to the player without departing from the scope of the present disclosure.
- the automated scoring system 10 may transmit the stroke count and other information to the wearable sensor unit 12 for display on the output device 28 .
- a more condensed view in comparison to the view on the data processing unit 14 is contemplated, as shown in FIG. 8 .
- a course distance indicator 90 shows the distance to various points of interest from the current location.
- the wearable sensor unit 12 may include buttons that are positioned along the same vicinity as the icons 94 , 96 , and activation of the buttons may be operative to adjust the score.
- the interface of the wearable sensor unit 12 has also been presented by way of example only and not of limitation.
- the output module 70 uploads the score data to the aforementioned online services 42 for sharing with others.
- one of the online services 42 could be a social networking site, and whenever certain achievement objectives are met, that could be announced thereon.
- Further competitive elements based on the recorded scores are also possible, such as challenges among players worldwide and so forth. Additionally, because each stroke is geocoded, different post-hoc visualizations of gameplay is possible.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Psychiatry (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physical Education & Sports Medicine (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- Not Applicable
- Not Applicable
- 1. Technical Field
- The present disclosure relates generally to tracking athletic performance, and more particularly, to systems and methods for automated golf scoring with wearable devices connectable to scorekeeping data processing devices having minimally intrusive interfaces.
- 2. Related Art
- Golf is played recreationally and professionally worldwide by numerous individuals of both genders, across a wide range of age and skill level. The fundamental objective is to strike a ball with a club starting from the teeing ground into a hole some distance away. A golf course is comprised of multiple holes (eighteen or nine, depending on the size of the course) that are played in sequence, and scored based upon the number of strokes taken from the tee-off to the final putt in which the ball is hit into the hole. In this context, the game appears simple, but there are numerous complexities that continue to challenge players of the highest skill level.
- Except for a few basic characteristics, there is a high degree of variability in the configuration of golf courses. Each “hole” or playing area of the course is generally defined by a bounded grassy area including the aforementioned teeing ground and the hole, which is positioned within a green. Between the green and the teeing ground is an area referred to as the fairway, which has short, evenly cut grass that is the most advantageous surface from which to take a subsequent shot. The fairway may extend a specified distance at a specified angle relative to the teeing ground and the green. On the outliers of the fairway but still within the course boundaries is the rough, which has longer cut grass. The distance between the tee and the hole is such that multiple strokes are necessary, and so skillfully placing each shot to different parts of the fairway are rewarded. In addition to the aforementioned grassy areas of the course, there may be various water hazards, bunkers or sand traps, and trees/vegetation that block the flight of the ball.
- Besides the variable course configurations that challenge players, wind conditions, sun position, and other environmental factors may present an additional level of difficulty. Furthermore, maintaining a consistent swing is challenging even for the most practiced players, and significant deviations in power and angle may need to be made from shot to shot to account for course layout, distance, wind conditions, and the utilized club. Thus, there is a substantial element of play strategy, which further keeps the game interesting for players of all skill levels. However, with different handicaps, tee boxes, and team scoring/match play, individuals of varying skill can play and compete against each other in groups to such an extent that it can still be an enjoyable recreational activity for all.
- Regardless of the specific game play variation, scoring in golf fundamentally involves counting the number of strokes a player takes from tee-off to hole-in. As a general matter, the player with the fewest number of strokes over the entire course is the winner. The task of keeping score is typically handled by the players themselves. In the simplest form, the number of strokes can be kept manually and written on paper as the player progress through the holes. Depending on the rules to which the players have agreed to adhere, adjustments to the number of strokes for the hole for penalties and the like, or limiting the number of strokes counted can likewise be made manually.
- As an improvement over paper scorekeeping, various electronic devices have been developed to perform essentially the same function. The devices may include a display screen and one or more buttons to increment/decrement the strokes as they are played. Manual entry, whether electronic or paper, tends to disrupt the flow of gameplay. Specifically, after the stroke is completed, it is necessary for the player to retrieve the device from either the pocket or the golf bag which may be stowed away from the tee box in a golf bag and/or in a golf cart, activate the device, and input a stroke. This must be repeated for each stroke, though with some devices, the score for the hole may be entered upon finishing play for that hole. Regardless, the process of entering such data is tedious. It will be recognized that besides the game itself, many enjoy golf as an opportunity to socialize and/or conduct business on an informal level, and scorekeeping may be too distracting to those ends.
- In order to overcome these deficiencies, automated golf scoring systems have also been developed. One existing variation of an automated scoring system is implemented on a smartphone device with an accelerometer sensor. Input profiles that correspond to typical swing motion may be pre-stored on the device, and the stroke counter may be incremented whenever actual data from the accelerometer matches that of the swing input profiles. Such systems do not account for practice swings typically taken before a shot, leading to wildly inaccurate scores unless reviewed after each hole. The necessity for this review largely eliminates the advantages of an automated scoring system, as the device must be retrieved and manipulated in order to make the corrections. Others have additionally incorporated a Global Positioning System (GPS) receiver that reports the coordinates of the location in which the device is placed. If a swing is detected within the same relative vicinity of GPS coordinates, then only the last one detected may be counted toward the score. This technique relied upon certain assumptions as to position and swing input that may not necessarily be true. One such situation could be bad first shot that requires restarting play from the tee but are nevertheless counted only as a first shot. Without additional user intervention, the score kept on the device is incorrect.
- Accordingly, there is a need in the art for improved automated golf scoring. There is also a need for a more refined method for detecting golf swings based on sensor readings from a wearable device.
- The present disclosure is directed to an automated golf scoring system using a combination of readings from various sensors to accurately count strokes. Generally, accelerometer data from a wearable device and location data from a mobile communication device, such as a smart phone, is utilized to assess which of possibly several accelerometer events should be deemed a shot. The need for manual intervention for scoring is minimized, while providing useful information regarding game progress to the player.
- In accordance with one embodiment, there is a method for automated scoring in connection with a sensor unit wearable by the player and a data processing unit in communication therewith. The method may begin with receiving a measurement of a first swing motion by the player with an accelerometer of the sensor unit. The accelerometer may generate first acceleration data corresponding to the first swing motion. Additionally, the method may include detecting a resting state of the player with first speed data from a location positioner of the data processing unit. The first speed data may be less than a predetermined stationary speed threshold to detect the resting state of the player. There may also be a step of storing the first acceleration data for the first swing motion into a swing queue retained on the data processing unit when the resting state is detected. The method may further include a step of detecting a movement of the player with second speed data from the location positioner of the data processing unit. The second speed data may be greater the predetermined stationary speed threshold to detect the movement of the player. The method may also include incrementing a shot counter that is retained on the data processing unit upon detecting the movement of the player. This step may also depend on an evaluation of the first acceleration data in the swing queue having a higher magnitude than any existing acceleration data in the swing queue.
- Certain other embodiments of the present disclosure contemplate respective computer-readable program storage media that each tangibly embodies one or more programs of instructions executable by a data processing device to perform the foregoing method.
- In yet another automated golf scoring system, there may be a sensor unit and a data processing unit. The sensor unit may include an accelerometer that measures a swing motion by a player and generates acceleration data corresponding thereto. The data processing unit may be in communication with the sensor unit and is receptive to the acceleration data. Furthermore, the data processing unit may have various modules, including a geographic locator module, a swing detection module, and a stroke counter module. The geographic locator module may output speed data corresponding to the player's movement. The swing detection module may cooperate with the geographic locator module and the sensor unit to store acceleration data into a swing queue when a resting state of the player is detected. The detection of the resting state may be based upon the speed data being less than a predetermined stationary speed threshold. The stroke counter module cooperates with the swing detection module and the geographic locator module. A shot counter that is retained on the data processing unit may be incremented by the stroke counter module when a movement of the player is detected while a most recently recorded acceleration data has a highest magnitude among other acceleration data in the swing queue.
- The present disclosure will be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings.
- These and other features and advantages of the various embodiments disclosed herein will be better understood with respect to the following description and drawings, in which:
-
FIG. 1 is a block diagram illustrating the components of an automated golf scoring system including a wearable sensor unit and a data processing unit; -
FIG. 2 is a detailed block diagram of the automated golf scoring system and its constituent functional modules; -
FIG. 3 is a flowchart illustrating one method for automated golf scoring in accordance with an embodiment of the present disclosure; -
FIG. 4 is a plot of acceleration magnitude data as measured by an accelerometer of the wearable sensor unit; -
FIG. 5 is a detailed flowchart illustrating one implementation of detecting player swings; -
FIG. 6 is a detailed flowchart illustrating one implementation of counting a player stroke; -
FIG. 7 is an example user interface on the data processing unit showing game play progress and counted strokes; and -
FIG. 8 is an example user interface on the wearable sensor unit showing game play progress and counted strokes. - Common reference numerals are used throughout the drawings and the detailed description to indicate the same elements.
- The detailed description set forth below in connection with the appended drawings is intended as a description of the presently preferred embodiments of automated golf scoring, and is not intended to represent the only form in which the presented embodiments may be developed or utilized. It is further understood that the use of relational terms such as first and second and the like are used solely to distinguish one from another entity without necessarily requiring or implying any actual such relationship or order between such entities.
- Referring now to the block diagram of
FIG. 1 , an automated scoring system 10 for golf includes awearable sensor unit 12 and adata processing unit 14. In general, the automated scoring system 10 is passive, in that no user intervention is necessary to keep score during play, thus reducing distractions and heightening enjoyment. Thewearable sensor unit 12 is understood to be attachable to one of the limbs of the player, though in one preferred but optional embodiment, attachment to the wrist is contemplated. Other attachment points for thewearable sensor unit 12 are possible, but it will be recognized that because the most significant motion occurring during a golf stroke is in the arms regardless of the type of stroke being employed, sensors taking measurements thereof are likely to provide the most useful information. This is not intended to preclude other devices that attach to the pants or a belt and which may therefore be more proximal to the hips of the player, for example. - In accordance with one implementation, the
wearable sensor unit 12 is a watch-type device that has an enclosure for its various functional components and a strap that is configured to wrap around the player's wrist. Furthermore, thewearable sensor unit 12 includes anaccelerometer 16 that measures motion and generates a stream of acceleration/speed data. The watch form factor is envisioned as being better suited for golf. Once worn, little adjustment is necessary, and to the extent any manipulation of the inputs is required for making scoring adjustments, it is readily accessible. - Although it is possible to implement the functionality otherwise dedicated to the
data processing unit 14 in thewearable sensor unit 12, for simplification purposes, they may be kept separate. To this end, the data stream from theaccelerometer 16 is communicated to thedata processing unit 14 over 18, 20. A wireless transmission modality is contemplated so that physical interference from cables is avoided during swings. The standard that presently has the most widely available and lowest cost components is understood to be Bluetooth, though any other suitable wireless communications may be substituted without departing from the scope of the present disclosure. In order to conserve electrical power, a low energy variant (Bluetooth LE) may also be utilized.corresponding transceivers - The functioning of the
accelerometer 16 and thetransceiver 18 may be managed by aprocessor 22, which is understood to be a conventional data processing device that executes pre-programmed instructions based on certain inputs to generate outputs in response. Such instructions, along with other data, may be stored in amemory 24. Various embodiments of the present disclosure contemplate additional input and output functionalities that go beyond simple reporting of acceleration/speed data, so thewearable sensor unit 12 may further include one ormore input devices 26 and one ormore output devices 28. In the context of a watch-type unit, theinput devices 26 may be buttons accessible from the side of the bezel, and theoutput device 28 may be a display screen (liquid crystal or otherwise) that constitutes the front face of the bezel. Other input and output devices are possible, and the foregoing enumeration of components is intended to be exemplary and not limiting. - There are several existing health and activity monitoring wearable devices that have the aforementioned features, and could be incorporated into the presently contemplated automated scoring system 10. These include open platforms such as Metawatch or Pebble, or could be custom developed specifically for golf scoring.
- The
data processing unit 14 may be a widely owned mobile communications device such as a smartphone. A foundational aspect of such mobile communications devices is to place and receive telephone calls over a cellular network, but conventional smartphones are capable of running a variety of software applications including those that embody the contemplated methods of automated golf scoring and perform the various steps thereof. In this regard, thedata processing unit 14 has aprocessor 30, much like theprocessor 22 of thewearable sensor unit 12 that executes pre-programmed instructions. Similarly, there is amemory 32 for storing these instructions and other data. On a very general level, the particular operands and execution sequence of the instructions may be governed by various input parameters provided frominput devices 34, while the results of executing the instructions may be shown on anoutput device 36. In some variations of the data processing unit, theinput device 34 and theoutput device 36 may be a combinedtouch screen display 38, though it is possible to have separate input devices such as keypads, buttons, and slide switches. - Every functional aspect of
data processing unit 14 may be managed to one degree or another by theprocessor 30. Thus, also connected to the central processing unit is theaforementioned transceiver 18. In addition to the Bluetooth LE modality, thetransceiver 20 may implement other communications modalities such as different generations of GSM (Global System for Mobile Communications), EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunications System), HSPA (High Speed Packet Access) and others. Still further, local area wireless networking technologies such as IEEE 802.11x (WiFi) may also be implemented by thetransceiver 20. Using one or more of these communications modalities, thedata processing unit 14 may connect to wide area networks such as theInternet 40 to access variousonline services 42. - The general purpose nature of the
processor 30 permits a variety of third party applications or “apps” to be run, performing various computing tasks that require functionality going beyond the typical default features of thedata processing unit 14. Because smartphones are taken everywhere the user goes, much of application development has focused on location-based enhancements. Accordingly, thedata processing unit 14 includes alocator 44, which is understood to be a Global Positioning System (GPS) receiver that outputs coordinate values corresponding to the current device position as reported bysignals 46 from a network ofGPS satellites 48. It will be recognized that from multiple position readings over time, bearing, speed, and acceleration may be ascertained. Various embodiments of the present disclosure contemplate the use of such location data to ascertain player strokes, the details of which will be considered more fully below. In addition to the enumerated components, thedata processing unit 14 may also haveother components 50 such as a digital camera capable of recording still images, as well as video in conjunction with the audio input device. - One embodiment of the present disclosure contemplates a system comprised of various functional components or modules, while another embodiment contemplates a method. The segregation of these modules is presented by way of example only and not of limitation, and those having ordinary skill in the art will recognize the numerous possible ways in which different functions can be associated with different modules. The following example is but one implementation. Moreover, the method may be implemented as a series of instructions executed by the
processor 30 of thedata processing unit 14. In so implementing the method, the application may be developed as a set of cooperating modules. - Again, with reference to the block diagram of
FIG. 2 that illustrates these modules, the system includes thewearable sensor unit 12 with theaccelerometer 16 that measures a swing motion by the player. Acceleration data corresponding to that swing motion is generated, and transmitted to thedata processing unit 14. As indicated above, thedata processing unit 14 is in communication with thewearable sensor unit 12 and is receptive to the acceleration data. The additional details of the modules will be described in relation to the functions performed, but as an overview, the data processing unit includes ageographic locator module 52, aswing detection module 54, and astroke counter module 56, among others. - Referring now to the flowchart of
FIG. 3 , the method for automated golf scoring begins with astep 300 of receiving a measurement of a first swing motion by the player. This measurement is made by theaccelerometer 16 of thewearable sensor unit 12, and generates first acceleration data that corresponds to the first swing motion. It is understood that theaccelerometer 16 measures motion/acceleration along the x, y, and z axes, and the acceleration data is given for each. - The graph of
FIG. 4 is aplot 59 of the combined magnitude values of acceleration data over an example time period t1 to t2, along with aplot 61 of speed data over the same time period. Predictable acceleration and speed/distance trends are expressly contemplated as a basis for determining a played stroke. As shown, a constant stream of data is generated and is being transmitted to thedata processing unit 14. There is anoise threshold level 58 that is inherent in all accelerometers, below which the readings are not deemed significant. To improve detection of swings, the acceleration data may be filtered to exclude expected noise before further processing. - There are a few moderate spikes in magnitude that represent some movement by the player beyond the
noise threshold level 58, and there are several 60, 62, 64, and 66, that may correspond to actual swings. More particularly, a swing is characterized by a material acceleration while at rest, followed by an increase in speed/distance while acceleration normalizes to baseline. In particular, thesignificant spikes 60, 62, and 64 may be practice swings, while thespikes last spike 66 may be the actual swing. By historically viewing the plot as shown, it is easy to ascertain thelast spike 66 as the actual swing. However, in reviewing the acceleration data in real-time, it is difficult to determine whether the most recent spike was the actual swing, as additional spikes may be forthcoming. - The present disclosure contemplates the use of additional time-correlated data to count golf swings, and this may be achieved by detecting the resting state of the player in accordance with a
step 302. Broadly, when the actor is resting and the received acceleration data conforms to a predetermined profile of a swing, it is counted or recorded as such. In one embodiment, the resting state is detected based upon the speed data as reported by thegeographic locator module 52 being less than a predetermined stationary speed threshold. As utilized herein, “less than” is also intended to encompass “less than or equal to.” Alternatively, the resting state can be detected based upon the position data as reported bygeographic locator module 52, and more particularly, the coordinates as output by thelocator 44. Multiple position readings are evaluated, and if, over time, the indicated positions are within a predetermined stationary distance threshold, then the player is deemed to be in a resting state. Like the data from theaccelerometer 16, it is understood that there will be some degree of deviation from one position reading or another, even when stationary. - When the resting state and the acceleration data conforms to that of a swing per the foregoing, the method continues with a
step 304 of storing the received first acceleration data into aswing queue 68 that is managed by theswing detection module 54. Theswing queue 68 may be implemented in a variety of different ways, but in its simplest form, it is understood to be a reserved area of thememory 32 on which values can be stored and indexed for subsequent retrieval. - The part of the automated scoring method involving the detection of swings as generally described above may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart of
FIG. 5 . This may also be referred to as a swing analysis process that involves the detection of acceleration events of interest while the player is in a resting state. To the extent there are any as evaluated according to the following conditions, the data is understood to be queued for use by the stroke counting module. The acceleration data stored in theswing queue 68 may be deemed invalid and subject to disposal when certain expiration and/or timeout criteria are met. The entry point is the receipt of an accelerometer event perstep 500. Next, the x, y, and z axis values are summed into a single magnitude value according tostep 502. - This magnitude value serves as the basis for
conditional block 504, which involves a comparison to a swing threshold value. In accordance with various embodiments of the present disclosure, the swing threshold value may be variable, and depend on the specific location on the course that is being reported by thegeographic locator module 52. The reported location, in turn, may be compared against a map of the course, referred to herein as course data, which defines specific areas of each hole, including locations of the teeing grounds, hazards, fairway, and the green, for example. The swing threshold may be adjusted lower when the reported location is on the green, while adjusted higher when the reported location is on the teeing grounds. Further still, the swing threshold may be adjusted to some intermediate value when the reported location is on the fairway. Although such embodiment contemplates specific thresholds to be set depending on whether the reported location is within certain pre-defined bounded regions of the course, it is also possible to adjust this value based on the relative distance to the hole. The adjustment may be on a sliding distance scale. For example, a player positioned within several feet of the hole may involve a lower threshold than a player positioned on the outer limits of the green. Moreover, a player shooting the first or second stroke on the fairway may be further away (and hence involving a faster swing) than a player shooting the third or fourth stroke also on the fairway. The alternative embodiment in which the threshold is dynamically adjusted according to the distance from the hole is understood to account for this variability. The degree of adjustment necessary to account for differences in the expected acceleration data is readily ascertainable by those having ordinary skill in the art. - Continuing with the
decision block 504, if the calculated magnitude value does not exceed the swing threshold value, the logic flow proceeds to aconditional block 506 to determine whether acceleration is currently being monitored. If not, the logic flow returns to the entry point until another acceleration event is detected in accordance withstep 500. Otherwise, program execution continues to yet anotherconditional block 508 to determine whether a timeout period has expired. If not, like the previousconditional block 506, the logic flow returns to the entry point according tostep 500. If the timeout period has now expired, monitoring for acceleration is stopped, and theswing queue 68 is reset instep 510. Thereafter, the program returns to wait for the detection of another acceleration event instep 500. - If the aforementioned summed acceleration data or magnitude value is greater than the predetermined swing threshold as determined in
conditional block 504, logic flow continues to anotherconditional block 512 to determine whether the player is in a resting state. Again, this determination may involve the comparison of instantaneous speed data from thelocator 44, or of two or more location coordinate values from thelocator 44, and so long as such values are within a predetermined speed or distance threshold, thedata processing unit 14 and hence the player is assumed to be stationary. Those having ordinary skill in the art will recognize that there are other possible techniques to ascertain movement to a greater degree of accuracy, and such techniques may be readily incorporated into the automated scoring system 10. If the player is not determined to be at rest, then the program returns to wait for the detection of another acceleration event instep 500. If the player is in the resting state, execution continues withstep 514 of queuing the player location, i.e., storing the location value in theswing queue 68. - The latest captured acceleration data is compared against other acceleration data stored in the
swing queue 68 inconditional block 516. If the last captured acceleration data has the highest magnitude, it is stored in theswing queue 68 according tostep 518. It is possible to store only the acceleration data with the highest magnitude at any given time, with the latest captured acceleration data replacing the one previously with the highest magnitude. Alternatively, it is possible to store all received acceleration data that is time-indexed. Swing detection may be repeated to the extent there are other accelerometer events received according tostep 500. - If the latest captured acceleration data does not have the highest magnitude, program flow proceeds to conditional block 520, in which it is determined whether acceleration is being monitored or not. If it is not, in
step 522 the monitoring is started. Thereafter, a swing counter is incremented perstep 524. The program flow then waits for another acceleration event instep 500. - Thus, the
swing detection module 54 cooperates with thegeographic locator module 52 and thewearable sensor unit 12 to determine a swing by the player. Acceleration data corresponding to the swing is stored in theswing queue 68 when it coincides with the resting state of the player. Again, as indicated above, this resting state is determined based upon the position data from two instances in time within a timeout period that are sufficiently proximal to each other to constitute a stationary state. - With reference again to the flowchart of
FIG. 3 , the method for automated golf scoring continues withstep 306 of detecting a movement of the player. This may be based upon second speed data or, alternatively, second position data, both or either of which may be reported by thegeographic locator module 52. In contrast with the detecting of the resting state as discussed above, detecting the movement is based upon either the second speed data being greater than the stationary speed threshold, or two or more readings of the second position data being outside the stationary position threshold, i.e., when the location readings differ from one time instant to another by more than a threshold amount, it is determined that the player is moving. As utilized herein, “greater than” is intended to encompass “greater than or equal to,” as well. When movement is detected, the method continues withstep 308 of incrementing a shot counter that is retained on thedata processing unit 14, so long as the latest acceleration data stored in theswing queue 68 has the highest magnitude. In the alternative embodiment in which only the highest magnitude acceleration data is stored in theswing queue 68, the existence of a value therein may be the second condition for incrementing the shot counter (in addition to detecting the movement of the player). As indicated above, it is possible for there to be no data in theswing queue 68 when a timeout occurs and theswing queue 68 is reset. - The part of the automated scoring method involving the counting of strokes as generally described above, including
306 and 308, may be more particularly implemented as a programmed logic flow of steps and conditional blocks shown in the flowchart ofsteps FIG. 6 . This may also be referred to as a stroke counting process that analyzes motion when valid data is queued by the swing analysis process. If the proper criteria are met, the queued values are stored in memory and used to increment the player's score. - An
entry point 600 is thestroke counter module 56 being in a recording state. There are a series of chained condition blocks that evaluate various data and perform different steps depending on the outcome. Afirst condition block 602 involves the determination of whether acceleration is currently being monitored. As indicated above, monitoring can be initiated when the latest captured acceleration data is the maximum in theswing queue 68, and stopped when a timeout period has expired. If monitoring is ongoing, execution of the programmed logic continues to astate 603 in which no further action is taken until monitoring is stopped. Otherwise, there is asecond condition block 604 to determine whether there is there are any acceleration data and location data that has been recorded. Referring back to the flowchart ofFIG. 5 , acceleration data and location is stored in theswing queue 68 when the latest captured acceleration data has the highest magnitude, and the player was at rest when it was captured. As shown in the flowchart ofFIG. 6 , if theswing queue 68 was reset following the expiration of the timeout as evaluated incondition block 508, perstate 605, there is no queued data to process, and execution returns to wait until a recording state can be resumed atentry point 600. - The expiration of the timeout is evaluated again in
conditional block 606. If expired, as perstate 607, it is understood to be outside the evaluation window. To the extent there were any values in theswing queue 68, they are discarded as stale. If it is still within the evaluation window, the next chainedconditional block 608 involves an evaluation of whether the player speed is greater than a predetermined speed threshold. This evaluation and subsequent steps are based upon the assumption that following an actual stroke by the player, the player will begin moving away from where the stroke was taken, whether that be away from the teeing grounds and waiting to allow the next player to take a shot, or toward the next play position on the course. The determination of speed in theconditional block 608 may rely upon the location data as reported by thegeographic locator module 52 in the same manner as discussed above in relation to a determination of the player's resting state, i.e., calculating a difference in positions over a set time period. If the player is not moving or not moving enough perstate 609, execution returns to theentry point 600. - If the
conditional block 608 is evaluated to determine that the player is moving, execution continues to step 610 of incrementing the shot counter, and storing the acceleration data into a stroke log. Also stored in the stroke log and associated with the acceleration data is the corresponding location data from when that acceleration was measured. Theswing queues 68, along with other internal counters are reset instep 612. - Again, the aforementioned functions are understood to be implemented by the
stroke counter module 56. Furthermore, these functions are achieved in cooperation with theswing detection module 54 and thegeographic locator module 52. The shot counter is incremented by thestroke counter module 56 when a movement of the player is detected in conjunction with the acceleration data that exceeds the swing threshold and is the maximum amongst others that may have been previously detected. - Still referring to the flowchart of
FIG. 6 , the score display is updated instep 614. As shown in the block diagram of FIG, 2, thedata processing unit 14 may further include anoutput module 70 for performing this step. One contemplated output may be on thedata processing unit 14, and specifically on thetouch display screen 38 thereof. Anexemplary user interface 71 for the automated golf scoring apparatus is shown inFIG. 7 . The data from the shot counter, i.e., the number of strokes counted for the current hole being played, is centrally displayed in astroke display section 72. In case there is a need for the player to manually adjust the stroke count, the interface includes astroke increment button 74 and astroke decrement button 76. Notwithstanding the availability of these manual score adjustment interface elements, it is expressly contemplated that the automated scoring system 10 requires no user intervention, and thedata processing unit 14 may be kept in the pocket of the player or other non-intrusive place. - As discussed above, each stroke is associated with a specific location, and the location at any given point during play is available from the
geographic locator module 52. Accordingly, it is possible to present a wide variety of useful information about the course and/or the particular hole being played on theuser interface 71. In particular, there is ahole indicator 78 that also displays the total yardage from the tee to the hole. The example ofFIG. 7 shows that the player is currently playinghole 6, which has a distance of 479 yards. Furthermore, there is apar indicator 80 that also includes a display of the course handicap. Agraphical overview 82 of the entire playing area of the hole is also presented, withvarious stroke indicators 84 being placed thereon corresponding to the locations of recorded strokes. The progression of gameplay may also be visualized in a scoring table 86, which lists each hole and its par in afirst row 86 a and the total recorded strokes for each hole in asecond row 86 b. The configuration of theuser interface 71 is presented by way of example only and not of limitation. Those having ordinary skill in the art will recognized alternative layouts and different information that could be presented to the player without departing from the scope of the present disclosure. - According to another embodiment, the automated scoring system 10 may transmit the stroke count and other information to the
wearable sensor unit 12 for display on theoutput device 28. A more condensed view in comparison to the view on thedata processing unit 14 is contemplated, as shown inFIG. 8 . There is asimilar hole indicator 88 that shows the current hole being played along with its designated par number. Acourse distance indicator 90 shows the distance to various points of interest from the current location. Furthermore, there is astroke display section 92 that shows the same information as thestroke display section 72 on theuser interface 71 of thedata processing unit 14. It is possible to increment and decrement the recorded number of strokes from thewearable sensor unit 12, and if there is a touch display screen, tapping or otherwise interacting with theincrement icon 94 and thedecrement icon 96 may be operative to adjust the score. Alternatively, thewearable sensor unit 12 may include buttons that are positioned along the same vicinity as the 94, 96, and activation of the buttons may be operative to adjust the score. The interface of theicons wearable sensor unit 12 has also been presented by way of example only and not of limitation. - Aside from the two kinds of outputs discussed above, it is also possible for the
output module 70 to upload the score data to the aforementionedonline services 42 for sharing with others. For example, one of theonline services 42 could be a social networking site, and whenever certain achievement objectives are met, that could be announced thereon. Further competitive elements based on the recorded scores are also possible, such as challenges among players worldwide and so forth. Additionally, because each stroke is geocoded, different post-hoc visualizations of gameplay is possible. - The particulars shown herein are by way of example and for purposes of illustrative discussion of the embodiments of the disclosure only and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of automated golf scoring. In this regard, no attempt is made to show details with more particularity than is necessary for the fundamental understanding of the present disclosure, the description taken with the drawings making apparent to those skilled in the art how the several forms of the present disclosure may be embodied in practice.
Claims (27)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/950,682 US20150032237A1 (en) | 2013-07-25 | 2013-07-25 | Automated golf scoring |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/950,682 US20150032237A1 (en) | 2013-07-25 | 2013-07-25 | Automated golf scoring |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20150032237A1 true US20150032237A1 (en) | 2015-01-29 |
Family
ID=52391135
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/950,682 Abandoned US20150032237A1 (en) | 2013-07-25 | 2013-07-25 | Automated golf scoring |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US20150032237A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160045784A1 (en) * | 2013-03-28 | 2016-02-18 | Ds Tek Inc. | Wristwatch-type swing measurement device with acceleration sensor and automatic drive method using characteristic motion extraction by same |
| US20160354671A1 (en) * | 2015-06-08 | 2016-12-08 | Microsoft Technology Licensing, Llc | Golf shot detection |
| US9801202B2 (en) * | 2015-09-14 | 2017-10-24 | Uber Technologies, Inc. | Bluetooth device and data scheduler |
| WO2021081223A1 (en) * | 2019-10-22 | 2021-04-29 | Par Points Golf, LLC | System of and method for scoring golf |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1997046888A2 (en) * | 1996-06-05 | 1997-12-11 | Casio Computer Co., Ltd. | Movement measuring device, electronic game machine including movement measuring device, and method of playing game machine |
| US20100144455A1 (en) * | 2008-10-10 | 2010-06-10 | Frank Ahern | Device and system for obtaining, analyzing, and displaying information related to a golfer's game play in real-time |
| US7771263B2 (en) * | 2004-09-09 | 2010-08-10 | Telford Golf Enterprises, LLC | Portable swing speed analyzer |
| US20120088544A1 (en) * | 2010-08-26 | 2012-04-12 | Michael Bentley | Portable wireless mobile device motion capture data mining system and method |
| US20130095939A1 (en) * | 2009-11-06 | 2013-04-18 | Skyhawke Technologies, Llc. | Golf shot tracking system |
| US20130128022A1 (en) * | 2010-08-26 | 2013-05-23 | Blast Motion, Inc. | Intelligent motion capture element |
| US20140179455A1 (en) * | 2012-12-21 | 2014-06-26 | Uwe Richter | System, Method And Apparatus For Capturing And Training A Swing Movement Of A Club |
| US20140219498A1 (en) * | 2013-02-07 | 2014-08-07 | Zheng Han | Data acquisition method and device for motion recognition, motion recognition system and computer readable storage medium |
| US20140277630A1 (en) * | 2013-03-15 | 2014-09-18 | Skyhawke Technologies, Llc. | Device and method for calculating golf statistics |
| US20150019135A1 (en) * | 2013-06-03 | 2015-01-15 | Mc10, Inc. | Motion sensor and analysis |
| US20150196822A1 (en) * | 2013-12-19 | 2015-07-16 | Caddieon Inc. | Precision golf course map |
-
2013
- 2013-07-25 US US13/950,682 patent/US20150032237A1/en not_active Abandoned
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1997046888A2 (en) * | 1996-06-05 | 1997-12-11 | Casio Computer Co., Ltd. | Movement measuring device, electronic game machine including movement measuring device, and method of playing game machine |
| US7771263B2 (en) * | 2004-09-09 | 2010-08-10 | Telford Golf Enterprises, LLC | Portable swing speed analyzer |
| US20100144455A1 (en) * | 2008-10-10 | 2010-06-10 | Frank Ahern | Device and system for obtaining, analyzing, and displaying information related to a golfer's game play in real-time |
| US20130095939A1 (en) * | 2009-11-06 | 2013-04-18 | Skyhawke Technologies, Llc. | Golf shot tracking system |
| US20120088544A1 (en) * | 2010-08-26 | 2012-04-12 | Michael Bentley | Portable wireless mobile device motion capture data mining system and method |
| US20130128022A1 (en) * | 2010-08-26 | 2013-05-23 | Blast Motion, Inc. | Intelligent motion capture element |
| US20140179455A1 (en) * | 2012-12-21 | 2014-06-26 | Uwe Richter | System, Method And Apparatus For Capturing And Training A Swing Movement Of A Club |
| US20140219498A1 (en) * | 2013-02-07 | 2014-08-07 | Zheng Han | Data acquisition method and device for motion recognition, motion recognition system and computer readable storage medium |
| US20140277630A1 (en) * | 2013-03-15 | 2014-09-18 | Skyhawke Technologies, Llc. | Device and method for calculating golf statistics |
| US20150019135A1 (en) * | 2013-06-03 | 2015-01-15 | Mc10, Inc. | Motion sensor and analysis |
| US20150196822A1 (en) * | 2013-12-19 | 2015-07-16 | Caddieon Inc. | Precision golf course map |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160045784A1 (en) * | 2013-03-28 | 2016-02-18 | Ds Tek Inc. | Wristwatch-type swing measurement device with acceleration sensor and automatic drive method using characteristic motion extraction by same |
| US20160354671A1 (en) * | 2015-06-08 | 2016-12-08 | Microsoft Technology Licensing, Llc | Golf shot detection |
| WO2016200547A1 (en) * | 2015-06-08 | 2016-12-15 | Microsoft Technology Licensing, Llc | Golf shot detection |
| US10021527B2 (en) * | 2015-06-08 | 2018-07-10 | Microsoft Technology Licensing, Llc | GPS sensor control |
| US10097961B2 (en) * | 2015-06-08 | 2018-10-09 | Microsoft Technology Licensing, Llc | Golf shot detection |
| US9801202B2 (en) * | 2015-09-14 | 2017-10-24 | Uber Technologies, Inc. | Bluetooth device and data scheduler |
| US10057914B2 (en) | 2015-09-14 | 2018-08-21 | Uber Technologies, Inc. | Bluetooth device and data scheduler |
| WO2021081223A1 (en) * | 2019-10-22 | 2021-04-29 | Par Points Golf, LLC | System of and method for scoring golf |
| US11554308B2 (en) | 2019-10-22 | 2023-01-17 | Par Points Golf, LLC | System of and method for scoring golf |
| US12427396B2 (en) | 2019-10-22 | 2025-09-30 | Par Points Golf, LLC | System of and method for scoring golf |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220134208A1 (en) | System, method, and apparatus for monitoring sporting apparatus and users thereof | |
| US20230178208A1 (en) | Sessions and Groups | |
| US10121065B2 (en) | Athletic attribute determinations from image data | |
| US11065524B2 (en) | Systems, methods, and articles of manufacture to measure, analyze and share golf swing and ball motion characteristics | |
| US11263919B2 (en) | Feedback signals from image data of athletic performance | |
| US8968100B2 (en) | Sports training apparatus and method | |
| KR101954042B1 (en) | Flight time | |
| US8137208B2 (en) | Automatic real-time game scoring device and golf club swing analyzer | |
| US12290738B2 (en) | Method and electronic device for identifying golf swings and tracking statistics during a golf round | |
| JP6362701B2 (en) | Athletic activity sessions and groups | |
| US10232225B1 (en) | Systems and methods for obtaining sports-related data | |
| US20150057942A1 (en) | Energy Expenditure Device | |
| US20050227791A1 (en) | Virtual caddy system and method | |
| US20200276488A1 (en) | Systems, methods, and articles of manufacture to measure, analyze and share golf swing and ball motion characteristics | |
| US20210228943A1 (en) | Skill level determination and management system and method | |
| US20150032237A1 (en) | Automated golf scoring | |
| CN115068918A (en) | Win-or-loss judgment method and device for batting, wearable device and storage medium | |
| US20240157202A1 (en) | Method and smart ball for generating an audio feedback for a user interacting with the smart ball |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: THE ACTIVE NETWORK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROEBKE, MARK;REEL/FRAME:030876/0845 Effective date: 20130711 |
|
| AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NO Free format text: NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS;ASSIGNOR:THE ACTIVE NETWORK, INC.;REEL/FRAME:031058/0355 Effective date: 20111216 |
|
| AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, CALIFO Free format text: FIRST LIEN SECURITY AGREEMENT;ASSIGNOR:THE ACTIVE NETWORK INC.;REEL/FRAME:031645/0514 Effective date: 20131115 Owner name: THE ACTIVE NETWORK, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:031646/0745 Effective date: 20131115 |
|
| AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, CALIFO Free format text: SECOND LIEN SECURITY AGREEMENT;ASSIGNOR:THE ACTIVE NETWORK INC.;REEL/FRAME:031664/0835 Effective date: 20131115 |
|
| AS | Assignment |
Owner name: ACTIVE NETWORK, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THE ACTIVE NETWORK, INC.;REEL/FRAME:032803/0562 Effective date: 20140430 |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
| AS | Assignment |
Owner name: LANYON, INC., TEXAS Free format text: RELEASE OF FIRST LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040978/0461 Effective date: 20161129 Owner name: LANYON SOLUTIONS, INC.(F/K/A THE ACTIVE NETWORK, I Free format text: RELEASE OF FIRST LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040978/0461 Effective date: 20161129 |
|
| AS | Assignment |
Owner name: LANYON, INC., TEXAS Free format text: RELEASE OF SECOND LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040546/0816 Effective date: 20161129 Owner name: LANYON SOLUTIONS, INC. (F/K/A THE ACTIVE NETWORK, Free format text: RELEASE OF SECOND LIEN SECURITY INTEREST;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:040546/0816 Effective date: 20161129 |